Hacker News new | past | comments | ask | show | jobs | submit login
John Carmack on expert witnesses and 'non literal' copying (facebook.com)
505 points by samlittlewood on Feb 2, 2017 | hide | past | favorite | 316 comments



I don't have the evidence so I can't make a judgement about whether Zenimax or Carmack is in the wrong here, but this does point out something strange in our court system and that is where a "jury of peers" which translates to normal people with little to no knowledge of the underlying subject matter.

As our society becomes more specialized it seems a bit absurd to have people make judgements mostly based on how well each side can make incredibly complex things comprehensible and convincing without any real understanding of the underlying principles in the field.

It seems likely that the best expert witness in this case is not the most correct or credentialed, but the most charismatic.

It would be interesting to see how some of these big software trials (Google v Oracle) would have come out if the jury were made up of people who were both impartial and familiar with the industry.


This is a very common argument against juries, and I think it's one of the most powerful. Of course if you start to fill a jury with people competent in the area being judged, you run different risks, such as bias within the field. And it's still not clear that it would help with delivering justice.

But if we take the idea of a jury to be about judging by one's peers, it should be patently clear (heh) that the jury ought to be composed of the peers of the defendant. As to how that works when there's a corporation on trial, I don't know. I have the funny image of Google and Oracle being judged by Microsoft, IBM and the FSF in the jury box :)


I once espoused a similar opinion, but have since changed my mind.

I'm a physicist, and once expressed to a judge I had met on the trail that I wished I could be judged by my academic peers. It was my belief that they would be more receptive to logical argument, understanding in their analysis, and more committed to fundamental principles. The judge was visibly surprised, but said little.

What later changed my mind was the realization that our society is a human one, and that humanity has a huge spectrum of experience. A group of physicists may not understand something about the world that others do. Furthermore, any select group of citizens will differ in belief somewhat from the interests of society at large.

But do I want educated and principled jurors on any jury that judges me, ones with enough fortitude to mis-trial a jury or nullify a law if that's what is required? Damn straight.

If the notion that your citizen-peers might not be informed troubles you, take time to help others form informed opinions.


> I wished I could be judged by my academic peers. It was my belief that they would be more receptive to logical argument, understanding in their analysis, and more committed to fundamental principles.

Have you met any academics?


Exactly this. You would be surprised how petty and subjective academics are in practice. There is a reason why everything is done through committees in academia.


To be fair, a jury is a committee.


You would be surprised how petty and subjective academics are in practice.

Sayre's Law[1] was paraphrased by Henry Kissinger as, "Academic politics are so vicious because the stakes are so small."

1. https://en.wikipedia.org/wiki/Sayre's_law


Per the wiki article:

> "In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake."

I hadn't heard of Sayre's Law. It seems like a much more eloquent expression of the concept of bikeshedding.

Edit: I thought about this some more. I think bike shedding and sayre's law are slightly different - Sayre is like the law of gravity, bike shedding is like saying “and this is what gravity actually is caused by”.


Yes.


>The judge was visibly surprised

I would be too. What you said is rather arrogant. If you had based it on their having specific physics knowledge, that would be one thing. But to say that logic and reasoning is the exclusive realm of academia---that's very insulting to a lot of people.


> But to say that logic and reasoning is the exclusive realm of academia---that's very insulting to a lot of people.

And more to the point, fairly obviously false.


> But to say that logic and reasoning is the exclusive realm of academia

How does "more receptive to logical argument, understanding in their analysis, and more committed to fundamental principles" transmutate into "exclusive realm"?

Like it or not, academics are better at critical thinking than others. Not perfect, but better. It's something they practice frequently in the course of their careers. Being insulted by that is like being insulted because someone says that mechanics are better at manipulating components than others.


Insulting. But doesn't make it any less true or false. To presume that your average joe has bothered to play in the realm of academic, diligent logic and reason is a mistake. I am not saying you need to go into a university, I'm not claiming a piece of paper will lend you credibility in this regard. It's about the time and effort that people spend practicing these subjects.

How many people do you know outside of STEM that can comment on the characteristic of falsifiability of scientific theories? How many even bothered to take philosophy 101? How many have bothered to seriously invest themselves in substantive topics that will give them the tools and experience they need to make sound judgements in an array of different subjects?

We are talking about a society where in a large segment of the population does not believe credible scientific theories, and tend to latch onto what can and should be generally discarded viewpoints.

We (as a society) by and large do not hire people without basic math and reasoning skills; why do we suddenly pretend that these same qualifications should not be held in the justice system, or even entertain the idea that these qualifications should be raised to a higher standard. After all, juries sometimes have the power to ruin entire lives and families.

People's egos are not great bedrocks for their credibility and judgement to sit on. Let them be insulted.


Do we have evidence that STEMers are paragons of logical reasonable minded virtue outside of their particular domains?


You're getting downvoted, but over the last decade I've seen a pretty high number of STEMers that seem to confine their logical reasoning skills to very specific domains.

Example (I'll let you be the judge of which one is being irrational): I know STEMers who are adamant atheists. I also know STEMers who are pretty devout and think that science supports all of their beliefs.

For a less controversial example just look at the sheer amount of fashion trends that sweep through the programming community. Pushing those trends is literally a core function of this website. Just like many people in america jump from fad diet to fad diet , and we jump from fad framework to fad framework. The number of software engineering decisions we make that are based on actual software engineering research is vanishingly small.

Fellow STEMers please understand that you (and me) are human and very likely just as irrational and emotional as any other group of people. Ignoring that fact will lead to a false sense of superiority.

Theoretically science is supposed to be that paragon of reasoning where we attempt to falsify our beliefs and thereby make the more correct ones stronger, but my interaction with the academic world has made me realize that science is again mostly about developing relationships so that your papers will be favorably reviewed, publishing junk to make sure your boss thinks you are productive, and researching whatever the people paying your bills are interested in researching.


I agree with almost all of what you're saying, but the question isn't whether or not STEMers are very rational people. The question is whether they are better equipped than the average person to understand and scrutinize a logical argument that is presented to them in court.

Being better at that than the average population isn't a very high bar. Yes we make a lot of irrational choices and often times we will defend them in pseudo rational terms. Flame wars abound.

But the meta debate about the standard of proof for our claims is never far away. It counts for something to be able to come up with some sort of test or empirical support. Every front page story about medical experiments inevitably has a comment thread about correlation vs causality and various sorts of possible biases.

Do you really want to be judged by people who never had these sorts of debates and never had to defend their own arguments against this sort of criticism?


You two are missing the point. See my reply to the parent comment of your post.


'Perfect' is the enemy of 'good'. Why does someone have to be a paragon to be considered better at the given task?

My friend is a foodie, but isn't a michelin-starred chef; does that mean that her cooking abilities and mine (= read instructions on packet) are equivalent?


If we did, who would you ask to validate that it was statistically significant?


Science and technology would not be the fields that they are without such virtues. Your question is odd, the answer is kind of blatantly obvious.

I am not saying these people are infallible, I am saying that they are obviously equipped with better tooling and experience to make such judgements than someone who has no serious experience in dealing with "hard" subjects.

It was probably a mistake for me to explicitly list "STEM", but I thought it would hopefully convey my point a bit better. We live in an extremely technology oriented society, so it's a rather important subject to be decently versed in. However, a good, invested effort into the subject of philosophy would definitely be more than sufficient to make up for people's knowledge and reasoning errors.

Are we going to pretend this is not the case?


I've seen a lot of STEM people go on thinking they are kings of logic, reason, even correct thought. All the others in the world are lesser beings, humanities scum who don't understand what /reason/ is, or anything about SCIENCE. I hope your degree in the arts was good career-prep for the rest of your life preparing coffee for me and my fellow engineers, peasant! Then they write books like this https://en.wikipedia.org/wiki/The_God_Delusion and philosophers who have been thinking about these topics laugh at them, and they don't understand why. The subject was simple! Obviously so, for if it were difficult, it would be STEM! Philosophers should be grateful a STEM expert such has Dawkins spent his precious time on their puny insignificant domain, a great man who sees a room is dark and decides to, for the first time, light a torch illuminating features that have remained dark for centuries. A question open and unresolved, bickered about by lesser beings like Kant and Russell and Liebniz and Descartes (STEM people as well, but made impure by the fact that they considered themselves philosophers first) until finally, thankfully, someone in STEM thought about it for a moment and told us the answer.

Yet we realize quickly this is not what happened. Instead of shining new light, Dawkins stumbles through a dark room, knocking over furniture, breaking vases and china. He stubs his toe and says "did you know you had a table here?" He steps on a housecat and hears a squeak, then quietly and calmly uses his superior STEM intellect to draw a deduction: a pet would have moved out of the way before being stepped on, and a single rat would have as well. He tells the owner his home is infested with thousands of rats. It was, after all, the most logical deduction at the time. Who could blame him for simply stating what's most likely to be the truth? He is promptly asked to leave.

In most of real life (i.e. the sphere of life where events are determined by human relationships and decisions, including but not limited to the law) deductive logic and scientific theory is about as useful as this (https://arxiv.org/pdf/1701.07820.pdf) is to someone building a bridge.

It is actually worse, because knowledge of deduction (and things like 'syllogism' or 'logical fallacies' even) impart often times little more of use than obnoxious hubris and a false sense of superiority, a severely off-putting and unhelpful sense about the world that endears its holders to no-one and makes collaboration difficult; camaraderie impossible.


Quite a chip on your shoulder there. And the irony is that you ping others for deciding who is the king of correct thought, while kingmaking yourself.


No irony here, I don't kingmake, simply deflate arrogance -- one of life's most pleasurable pastimes.


Does Dawkins spend much time on HN? How do you see his arrogance being deflated by this comment?

You talk about philosophy as though it's a subject close to your heart, yet you seem to define "a lot of STEM people" as being "Richard Dawkins", not to mention making the false dichotomy that STEM people and philosophers have no overlap.

I've also never heard anyone complain of Dawkins denigrating arts degrees before. Have you a reference for that? Because it seems like you're unjustly projecting an awful lot onto the man.


I think you're full of yourself.


>But doesn't make it any less true or false. To presume that your average joe has bothered to play in the realm of academic, diligent logic and reason is a mistake.

To presume that your average academic has is likewise a mistake.


It makes it far more likely.


"What later changed my mind was the realization that our society is a human one, and that humanity has a huge spectrum of experience. A group of physicists may not understand something about the world that others do. Furthermore, any select group of citizens will differ in belief somewhat from the interests of society at large."

Why the hell would that realization change your mind? For society at large, that "huge spectrum" includes copious amounts of superstition and ignorance, which (one would hope) should be significantly lower in those people subjected to scientific scrutiny on a regular basis. You're gambling on something being in that spectrum that will positively offset this negative, but you don't know (or mention) what it is.

"But do I want educated and principled jurors on any jury that judges me, ones with enough fortitude to mis-trial a jury or nullify a law if that's what is required? Damn straight."

So you actually want a different kind of elite to be jurors, but not just physicists. You don't actually want citizens as a whole.

"If the notion that your citizen-peers might not be informed troubles you, take time to help others form informed opinions."

Have you ever tried that? What makes you believe that your citizen-peers are even interested in spending their valuable time to listen to someone else trying to change their opinion? Lots of people are quite fond of their uninformed opinions.


As an example for the first point: Fewer-than-average professional scientists have known the desperation of poverty nor the devastation wrought by broken homes, disability, or crimes of passion. Scientists may be somewhat better prepared to find facts in a case, but may have diminished sensitivity to both the motivation for a crime and for the impact of a verdict.

An educated, reasoning, and principled jury pool should not be an exception. It should be the expectation. We should expect it of our society as a whole and our school system in particular.

Taking the time to share interesting and useful insights to people at a moment when they're interested in exchanging ideas can be very effective.


True but its' a jury of your peers. If you are an impoverished individual who only took to crime to feed your family, then a jury of your peers would be people from your neighborhood who are similarly poor.


So if you want to commit crime, you'd move to a neighborhood with a lot of criminals who will be likely to give you a pass?

Specializing the "peer" criteria seems to run big risks of having people judged by a group of peers who may all disagree with certain laws.


That was the idea behind 'jury of your peers'.

If you're a starving peasant, who poaches on the King's land, do you want the jury to be filled with other starving peasants who poach for survival or aristocrats who cannot understand why you have robbed them of a chance to hunt pheasant next feast day?


If you're a peasant, your peers would be the other peasants. If you're an aristocrat, your peers would also be. IMO it doesn't make sense to have random laypersons decide highly technical cases over what are many times pedantic disputes. They won't understand and they don't care, but they're in charge of deciding, and their decisions can have widespread repercussions.

I agree that having a jury of 10 random software developers deciding Oracle vs Google would more than a little biased (APIs being copyrightable), but I think that it would largely be a good thing -- professionals who actually know about this stuff would be making the decisions. Luckily for everyone, they were able to dumb it down enough for the jury to understand, but not all cases are so lucky. I just chose this example because many people on here are likely to remember this case, even though it doesn't really illustrate my point that random citizens deciding technical cases is IMO not the best solution.


I'm glad you changed your mind. The corrolary to this is to suggest that uneducated or unprincipled defendants should be tried by an uneducated, unprincipled jury. Everyone deserves access to an informed jury, regardless of the exact definition of 'peer'.


Everyone deserves that; I agree. How many actually receive that, though? From what I've seen, juries are mostly composed of people who are most interested in getting out of jury duty by reaching a verdict quickly. The one person who holds out for justice because they give a damn is typically put under immense peer pressure to cave so everyone else can go home.

A good idea in theory, but in practice, many jurors are lazy and apathetic IMO.


The problem is that everyone will want to have a jury of their peers.

So drug dealers would want to be judged by a jury of drug dealers, for example.


Educated and principled people are generally excluded from juries during voir dire because they are less susceptible to attorney's arguments.


The exception to that rule is when you have a couple slam dunk where your forced to go to trial because a prosecutor refuses 2 dismiss the case or offer an appropriate plea bargain. Its almost an insurance against their pervasiveness


Ignoring the idea of a corporation being judged by other corporations, the idea that "peers" should be judged more strictly (i.e., limited to "people in similar situations" monetarily, professionally, etc.), I feel like you would run a very clear risk of creating juries that function similarly to "good-old-boy networks" that are unwilling to judge too harshly.


That's the whole (original) point though. Historically, people would be taken away from people who had known them all their lives, be accused of something fantastical, and be condemned on the strength of he-said, she-said. In the specific case of the USA, a big complaint of colonists is that they would be whisked back to England for trial ("For depriving us in many cases, of the benefit of Trial by Jury: For transporting us beyond Seas to be tried for pretended offences:")

Peers are supposed to know you, your character, and your history. It's the only hope you have of being truly considered innocent until proven guilty. The default situation of a juror should be "I can't believe they did it; convince me", not "I have no idea". More important, if a jury starts at "I have no idea", they're realistically starting at "this person wouldn't be here if they hadn't done something; they're probably guilty".


Historically, English juries have ranged from 12 people selected by the defendant to swear his innocence to 12 people claiming to have knowledge of the crime charged with investigating it. There's a reason that we've abandoned the pretence that preconceived opinions about a person's likelihood of committing the crime (and significant potential to gain or lose from returning a particular verdict) are an improvement in the fairness of the trial and retain juries only because they're not part of the state apparatus.


> There's a reason that we've abandoned the pretence that preconceived opinions about a person's likelihood of committing the crime

What is the reason?


> Peers are supposed to know you, your character, and your history.

I don't think so. It's one thing to say that juries should be made of private citizens drawn from your nation/state/town. It's another thing entirely to say that juries should be made up of your buddies. Peer is not a synonym for neighbor. It means "equal".


Note that each level you've selected makes it more likely that they're sympathetic to you. Nation: shared culture. State: shared local culture. Town: shared understanding of what's considered acceptable here.

There's of course a balance to be struck, and mobs will turn on people in an instant anyway. I'm merely saying that "peers" did not originally mean "random fellow humans"; it implied a level of connection above that.

Personally, though, I think we've idealized the "impartial" jury too much—mostly because I don't believe there's such a thing.


> Note that each level you've selected makes it more likely that they're sympathetic to you. Nation: shared culture. State: shared local culture. Town: shared understanding of what's considered acceptable here

Is that true? What if everyone in your town thinks you're kind of a jerk?


They are just as supposed to know the victim, their character, and their history. There's no reason to suppose that a "close peer" jury would favor the defendant, it's just as likely to be the other way around.


On what is the claim that the jury is supposed to know any party based on?

Edit: To be clear, I agree with your premise that knowing the defendant does not necessarily bias a jury in favor of the defendant. I don't think there's any reason to assume the jury should have any knowledge of anyone, though. In fact if you do, you'll probably get removed from the jury.


This risk is very evident in medical review boards for doctors and several similar boards for lawyers and judges across various countries.


Wouldn't a combination of both balance that issue?


Yes, a suit for fraud against a bank would have to have a jury composed of bankers, etc.


That's a good point and probably illustrated by, say, the Jim Crow South.


Would a jury of technically-minded people have helped here? Put aside the natural bias that software developers would have to be skeptical of any claims against a company with which John Carmack is involved. Now, you're trying to sell the story that Code B is a copy of Code A, even though they don't look the same, because of fancy math. Is that harder to sell to a jury of software developers than a jury of ordinary people, or easier?

As someone who knows you can identify similarities between seemingly dissimilar text using mathematical analysis, I feel like it'd be easier to convince me that there was "non-literal copying."


I feel if the devs were worth any salt, they'd clearly smell the bullshit. Just because you can do fancy math and turn one thing into another, doesn't mean it's what actually happened.

Experienced developers should also easily recognize that two independently developed codebases may end up pretty similar at places simply because of the problem domain. There's for instance only so many ways you can structure the rendering code in your game efficiently.


Then there's the (controversial) option of jury nullification.[1]

A juror may vote not guilty even if they believe the defendant broke the law. They could do this, for example, if they believe the law itself is not just or not legitimate, as could be the case if they thought that software patents or copyrights were illegitimate.

[1] - https://en.wikipedia.org/wiki/Jury_nullification


> Of course if you start to fill a jury with people competent in the area being judged, you run different risks, such as bias within the field.

A bigger problem is defining field boundaries and determine who gets to judge qualifications, both of which introduce points at which biases can be introduced systematically.


I'd settle for not actively weeding out experts as we do in the current voir dire process.


The issue with having experts on the jury is twofold:

- If they're experts in the field, they may have had enough interaction with the case in question (or the people involved in the case) to have formed an opinion without having heard any testimony

- Due to their expertise, the jury could decide "it's easier (more convenient, more likely to be correct, etc) to defer to the expert" and just vote whichever way the expert votes

By not having experts, everyone makes their own decisions on how to weight different pieces of evidence, and no one's opinion drowns out anyone else's (at least, any more than would have happened anyway with that particular jury).


I'd like to believe that that's true, but from what I've seen, it more often turns into a battle of personalities within and without the jury. "[they] look guilty!" or just thinking a person is slimy / deserving of punishment, among the less racist reasons.


Eliminating (or reducing the number of) peremptory challenges might go along way to achieving this, domain expertise itself usually will not support a dismissal for cause. (Though it might be an earlier link in a chain of questioning that reveals a cause for dismissal, but that's perfectly legitimate.)


> Of course if you start to fill a jury with people competent in the area being judged, you run different risks, such as bias within the field. And it's still not clear that it would help with delivering justice.

If you've ever worked at a company with an "problematic" architectural committee you might get a little scared of having them as a jury.


That's because they've been given the position and it's gone to their heads.

If new architecture had to be reviewed by a representative sampling of your workmates, randomly selected for each review, I don't think you'd have such issues.


> This is a very common argument against juries, and I think it's one of the most powerful. Of course if you start to fill a jury with people competent in the area being judged, you run different risks, such as bias within the field. And it's still not clear that it would help with delivering justice.

True but at the same time nothing says its all or nothing.

I really think there is an argument for cases like this to have ~4 people with degrees relevant to the case sitting on the jury which is likely enough to swing the jury's results if there is something that just wasn't communicated effectively or the issue being clouded by one party.

Sure there might be bias in that case, but I don't think its particularly pronounced when a civil suit is ultimately decided by a majority.


I think even if the field had a strong bias, even one I disagreed with, I'd still prefer it. One of the frustrating things about the US court system is how unpredictable it is. At some points in working with IP and corporate law, I've found myself just wanting to know what the rules are, so I can go ahead and follow them.

But way too often, I've had lawyers basically tell me that whether we should pursue something is basically a function of how much money we're willing to put into pursing it in court convolved with some vague probability function of how 12 random people will feel about how trustworthy our expert witness looks versus how the other guys.

I'd gladly trade a more "just" system for a more predictable one.


What if

    jury_of_peers = random12(peers(defendant) + peers(prosecutor)) OR random6(peers(defendant)) + random6(peers(prosecutor));
    peers(X) is declared/set by X. num(peers(X)) >= num_citizens/10 so that corrupt X cant set 12 yes men.
    This would incentivize X to be good to peers(X).


I think your example illustrates clearly one problem with such a system, which is that it's ripe for conflict of interest.


i think it wouldn't be hard to interpret 'jury of peers' as a jury of people made up of those in a particular area.

i feel like we need to make allowances for specialised cases, in this circumstance you may as well be talking in german and expect english speakers to understand what's going on.


I would pay to see Google, Oracle, Microsoft, etc be judged by FSF.


No matter how removed someone is from your field of expertise you should be able to consisely make a case for why you aren't at fault and why. You should also be able to demonstrate using basic logic that the simplest components of two source trees (something that is extremely basic) can show resemblance to another extremely basic component. For example the similarity of example code.

How many example source files have you downloaded that demonstrate a graphics library by drawing a cube. I bet they share a decent amount of similarity across most engines. That doesn't mean they are copies.

It is through logic like this that our courts are meant to function.


Why?

Why is there an assumption that you can explain anything to anyone? There is no law of nature stating that the maximum complexity anyone can invent is smaller than the complexity the average person can understand.


I'd say there are very few people who are doing things so out there that they cannot explain what they are doing.

We aren't that special. We aren't magical unicors who work in all corners of our galaxy. No we are programmers, PhDs, mechanics, engineers. Our jobs share a lot in common with each other and can be easily broken down to their base components.

That's the job of a programmer like Carmack. To break things down into their simplest form and represent them clearly and consisely.

Frankly for him it's exactly what he's paid to do.

> There is no law of nature stating that the maximum complexity anyone can invent is smaller than the complexity the average person can understand.

Unless you think you, or this hypothetical person, is so unbelievably smart that they can operate on a plane so far above that of the common man that they can't explain what they do up there. Then I can see how you can think that way. I personally don't belive that is the case.

We as programmers don't do that and very few people do. For example, lets ask this question:

How do you advocate for funding for the job you do? You need to market yourself. How do the people you market to market to their bosses?

It's not PhDs all the way down the same way it's not turtles all the way down. There is a simple, consise, and understandable explination for every activity that humanity has done since the beginning of time. Wheather I know how to formulate it is one thing but one must exist.


Spoken like an intellectual (not an insult - an observation).

Could John Carmack explain binary space partitioning in an interesting way that made Joe Average feel like he got it? Most likely yes.

But would Joe Average really "get it"? Could he make a meaningful judgement as to whether some other piece of software implementing BSP was more or less a copy of some other piece? (just using BSP as an example - not a good one)

I sincerely doubt it. As the saying goes, a little knowledge is dangerous.

Look at the number of people who claim that global warming is a myth because they saw a snowstorm last week.

Its fashionable, and feels liberal, to claim that we're all much the same, but we're not. John Carmack is what many would call a genius, who can conceive of things that are simply beyond the ken of the bulk of society.

Sure those people have other skills and virtues - but epecting them to make rational decisions about complex technical matters while two opposing sets of attorneys bark at them is...ridiculous.


a little knowledge is dangerous

The quote from Alexander Pope is actually "A little learning is a dangerous thing". People often get this wrong, which is probably a tiny bit ironic.


Touché! I stand mortified and corrected.


> I'd say there are very few people who are doing things so out there that they cannot explain what they are doing.

So, those very few people out there are basically fucked up with no recourse? How few are they?

Anyway, yep, we are normal people. Normal people that spent a decade or four learning something very specialized. Now, why should we take for granted that people that never learned anything in our specialty can understand anything we know in a week?


That's the job of a programmer like Carmack. To break things down into their simplest form and represent them clearly and consisely.

To machines and to fellow experts, yes - but not to the general population, and not to people who may be persuaded to jail him, or fine him at tremendous expense, if he doesn't adequately explain it while someone else is being paid big money to obfuscate his explanation.

This isn't advertising or fundraising. This isn't helping people understand who have an ulterior motive for understanding. This is a hostile environment trying to convict him, an environment that leverages ignorance.

And the complex topic at hand isn't sufficiently explained to ordinary people in a matter of hours, he'd have to put them thru a complete "high school thru post-doctoral education" process and bring them up in the vicinity of his level as an "among the greatest of all time in the field". When learning about a particular topic, I was directed to keep notes in a safe-deposit box precisely so if I was ever criminally charged for related reasons, I could literally put the entire jury thru the full education on the subject - and that would take about a month of courtroom time. I can't imagine Carmack's lawyer arranging to put a jury of commoners thru arithmetic-to-post-doctoral-rendering to "explain what he's doing".

I've heard it said that the simple (in rules) game of Go can be so complex that it takes mastery of seventh-level skills just to comprehend what ninth-level skills are doing. You can't just take someone who barely learned the rules and explain, in a short time, what the grandmasters are doing to win.


The point is not whether it can be understood. The point is that if two sides both make convincing arguments, how do you pick which one is correct? Without knowing the subject matter yourself, as a human one will usually fall back to confidence and charisma. Your brain unnoticeably substitutes "which one is correct" (which is hard / impossible to answer at a dumbed down level) with "who do I trust" which is ruled by charisma and confidence more than anything else.

The wrong projects get funded all the time. In the legal system one should do better.


The problem is that there's an adversary who, in practice, is not attempting to lead the jury to the correct conclusion, but lead them to a conviction. And that adversary will be equally able to explain in an understandable way why, despite your explanation to the contrary, you in fact are guilty of the charges.

The system works when juries are able to differentiate between expert witnesses, and that may very well require more expertise than just applying everyday common knowledge to two competing expositions.


In this case, I do believe that Carmack is so intelligent and so far removed from a random citizen when it comes to graphics engines that it would take probably thousands of hours for a normal person to actually understand what was happening here, if they even cared, which they would not. "So let's start with a voxel"... [much time passes] "so for the sake of making the rendering pipeline efficient, its common to ..."

Without any sort of grasp on the range of solutions for the piece of this system in question, I find it absurd that a normal citizen would be tasked with ruling on this.


My personal impression is that when people of average intelligence can't understand something is because the concepts that make that thing are outside their expertise, not because they are not able to. They are missing the parts, so, understanding the total is impossible.

People of exceptional intelligence is able to learn new things and think through a problems easily, but what makes a real difference is if you already own the building blocks of the new idea or not. A transpiration vs. inspiration kind of thing.

Anyway, I think the argument is that you should be judge by average and impartial persons (a jury or a judge) because, otherwise, you are not in a egalitarian society.

Somebody could argue that an egalitarian society is not efficient, but history teach us where that finish: there is always people on the ready to declare themselves above the others. So we have to aim to some kind of balance.


You think the average person could meaningfully review graphics rendering code?


That's not the part they most need to be able to do. They merely need to be able to understand an argument without getting distracted by tricks.

The actual analysis of the code is something that they could then listen to expert findings about.


I'm saying that you can teach the average person to swim if you teach them all the proper techniques, in the proper order, before the competition.

I'm not saying that you can do the average person perform like a world-class champion.


Because the verdict boils down to something simple: guilty or not guilty. To get to that conclusion requires the distillation of complex circumstances into a simple binary outcome.


The problem is that making a mistake on that outcome isn't a matter of disinterest or lost sales, it can result in destroying lives.


Do you have an actual example of this?

Contracts get really complex in the same way programs get complex. But, juries have mediated contract disputes for a very long time.


Only because judges get to tell the jury what certain phrases in the contract mean, because judges are experts at understand contract complexity. We don't actually expect juries to learn contract law; the judge interprets the relevant parts of the contract for the jury, and tells the jury to decide whether it was broken.


Meaning what? Jury's can decide complex issues if there is a neutral expert on complex topics?

If anything that sounds like a complaint about expert witnesses not juries.


A judge can appoint a special master for situations like this. For instance, Lawrence Lessig's role in the Microsoft antitrust trial. However, as far as I know, juries don't have the option of asking a special master's opinion, because there is a big risk juries would just defer to the special master instead of actually trying to judge the case.


Average Joe does not know what source code is, nor is he able to tell one piece of source code or one programming language apart from another, it is all gibberish to probably the majority of the jury.

Hell, a few years back most Americans did not know that McDonald's was unhealthy, they had to be told this...


Let me share a conversation I had with a family friend a bit ago:

she peers over my shoulder at my monitor, which has (let's say) a screenful of some Ruby on Rails app in Sublime Text

Her: "Is that... code?"

Me: "Yep, that's right. It's the code for a web site."

Her: "Wow, your code is so beautiful!"

Me (surprised): "Really? What makes you say that?"

Her: "All those lovely colours! I didn't know you were so artistic - did you do the colours yourself?"


Right.

Actually had something similar happen. An acquaintance of mine glanced at a monitor with Sublime and Monokai theme (don't like it, just happened to be on) and went "Wow, that looks really heavy [as in complicated], cool colors too!" Obviously it was nothing "heavy", just code, but all code would have looked complicated to him.


That is terrifying.


To further your point, the expert had to use Harry Potter as an analogy. In my opinion, analogies should be banned from courtrooms. They are fine for casual discussions, but they are often misleading.


I disagree, as precedent is hugely important in interpreting the law. You link the existing situation to precedent with analogy.



Slugulus Eructo!


How much time does it take to understand something with sufficient depth to make a sound judgement?

It would be nice if the answer could somehow always be a short expert witness testimony, but the reality seems to be that in some areas it's months or years of study.

In your example, you'd have to explain what source code is, what a graphics library is, methods of representing and comparing source code, and how the applicable laws are supposed to function. Sure, you could probably give them a vague impression in a short time, but not enough to decide something complex.


That's precisely why the experts are asked their opinion. And a jury takes that opinion into account.

"Dr. Soandso, do you believe, based on your experience, that such an action would constitute a flagrant abuse? Of a kind that is unprecedented? And such an action would damage the reputation of many, you say? And were such an action to take place it would cause harm to the industry for decades?"

The jury needn't be an expert to make sound judgements. Expert witnesses do actually need to socially regarded as experts, and lawyers on both sides of this adversarial system should do everything they can to undermine those experts who are not impartial. And if each player in that system does their job well a layman should certainly be able to make a reasonably founded decision.


But then aren't you just expecting the Jury to trust the expert?

How does the Jury tell two experts apart, while one says Yes and the other No?


Which one has a nicer looking face is more honest.


This thread is now so far removed from the original article, it has gone full circle.

The article is, literally, about this not working.


Not how it works; that's leading the witness, and just because you are an expert in one field (comparing code) doesn't mean you are an expert in another (assessing the value).

I've actually been in this exact situation as an expert witness. The defendant had written code in language "A", sold it, then wrote similar code in language "B". The question was whether code "B" had been written while looking at code "A".

The answer was yes, and I could prove it. Code often has a history that's apparent (e.g., you throw in an if statement to catch a weird input, and you add a comment like "fixing the wheelabrator-fry issue from december"). New code won't have the same history, and therefore should not have the same structure. If it does, the code must have been copied.

That's especially true if there are dated comments in the code.

What I wasn't asked was the economic value of the copying. Other experts handled that; I was just an expert in the two languages.

BTW: the final assessed value was much less than the cost of the trial. And I felt sorry for the defendant; most of the code had not been copied.


New code won't have the same history, and therefore should not have the same structure. If it does, the code must have been copied.

This seems a little weird--what if the author just remembers to, for example, make sure and handle those edge cases when starting again?


With a word for word identical comment, including a space before the final period?


If this were true of human nature, we would not have creationism.


> demonstrate using basic logic that the simplest components of two source trees (something that is extremely basic)

If you think that is "extremely basic" I think you may be overestimating how poorly 1 in 12 people understand computer related concepts. I suspect it is far more, but I am biased.

Before software development I worked tech support. I have heard some nightmarish misunderstandings. I have had people who literally thought files in the computer were tiny pieces of paper (and just magnified or something, this person's view was not logically coherent). When explained otherwise many met my explanation with conspiracy theories, disbeliefs, explanation of the physical impossibility of solid state transistors and sometimes, the very best of times, interest and a promise to do extra research on the the off chance I might be right.

I have conversed with many, perhaps hundreds who literally could not understand the concept of a file. They knew that inside the magic box was 1s and 0s. In general they even had the vaguest idea that electrons or magnetism somehow stored those 1s and 0s, but the idea they could be organized into a into units smaller and more discrete that "the magic box" was so alien and unacceptable to their world view that they could not or would not accept it. Many simply didn't want to know, but a few brave souls tried and sometimes got themselves in to great trouble needing many help tickets to undo the results of their learning experiments.

There were several people who thought there computers were terminals to some server somewhere and could not accept that their information was stored locally. No amount of explanations that the C: Drive was a device in their computer could shake the notion that Earthlink or whoever else I was working for had the files. These people wanted so badly to believe their lives where so simple (or whatever they wanted to believe) that they could not possibly have a device the size of a laptop that was powerful to hold the contents of a bookshelf filled with novels and reference material. Maybe these people were just too confused about where facebook (myspace back then) posts went and could not compare that to where ms word documents went.

Then there were people who could never learn to navigate file tree. People, hundreds and hundreds of people, who could save and open documents, but when they accidentally clicked and dragged a document lost the moved document forever despite it just being in the wrong subfolder. These sad people would often have 10 versions of a document sometimes in the same folder with subtlety different names and they could never quite understand what they were looking when presented with the list of files produced by their misguided instruction. At least one such person is in my immediate family, I no longer do tech support for only because she has medical conditions that prevent computer use entirely, but after 15 or so years she never gained and understanding of file tree.

You want to explain to a group of 12 with no guarantee of prior knowledge how two files trees can be alike, yet not be so similar as to be copyright infringement. I commend you for your effort, I consider it a heroic task, and entirely possible if the 12 people all take to your explanation. I think it is more likely to fail entirely for some amount of those people.


The simple approach would be to take pictures of several houses that look very similar and show they are not copies of each other. Have an architect show why some elements where similar between houses because of similar choices and constraints.

Then show how what the two programs do are similar in they both sit between a game and computer hardware. Further, demonstrating they both share similarities with some other piece of software that does similar things.

Finally, show several core differences between each software.


Sticking with my examples of people who fundamentally cannot understand files, how do you explain the core differences of two file managers?

I presume the VR software is an order of magnitude more complex than files and file managers.


They don't need to understand files, just the connection with [code] > computers running a program vs. [architectural drawings] > people making a house.

Architects don't build houses they design them in the same way computer architects don't build programs they design them. The analogy is a little fiddly as programmers > compilers also works like Architects > construction workers. But the line of thinking is not that hard to follow.


It seems you are asserting that people who don't understand anything about the core concept can make reasonable decisions based on contrived analogies. Perhaps you are right, but I don't think so.

When both sides put forward equally convincing analogies and few, if any, of the jurors know what is actually going on then how do they choose which analogy to believe?


That argument sounds better in the abstract. In practice both sides get to cross examine these experts and they are going to attack the weak points in the arguments.

Another consideration is in very close cases a random outcome is not necessarily a bad thing. Programmers like binary logic, but court cases are impacted by things like what someone thinks someone else was thinking. Being 'correct' in every case is less important for society than avoiding outright corruption and lawlessness.


I agree that cross examination helps. I agree lawlessness is bad. However, what you you are proposing is pseudo-random solutions instead of lawlessness, which doesn't seem much better. Picking any subset of trials and saying it is okay for them to be wrong could mean setting wrong precedent for years to come. It can also mean bad outcomes and suffering for many and disproportionately poor people.

If the jurors don't understand the fundamentals of what they are deciding how will they interpret cross-examinations? Certainly not on the merit of the argument, because they simply can't.

If it just comes down to who can sound more confident while making their side of the argument then justice goes to whoever can afford the best lawyers. Which largely seems to match the system we have.

It is not a very good but it is better than lawlessness, but only just so.

Though we get more nuanced each time, I fear our debate has started running in circles. Thank you for making reconsidering some of my opinions.


I mean if a group of experts might chose A 55% of the time and B 45% of the time then a 50/50 random outcome is not a real issue. A few places have elections where in case a tie they do a coin flip. The important thing is to remove bias not get extreme accuracy.

As to our court cases being biased for the wealthy that's a little more systemic than just highly technical cases. Even in clear cut cases having a competent legal team can make a massive difference, IMO the overall system was designed that way.

The problem is how to change things. If doctors made up the jurors in malpractice cases you would see much stronger bias. I would much rather have random people than wall street bankers judging wall street bankers or even worse FBI agents judging other FBI agents.

That said, I am open to the idea of civil suits allowing for more restrictive juries if both sides agree. If nothing else it may allow for shorter trials. Which is something I only considered though this conversation. So thanks.


Clearly we aren't running in circles!

I agree that those coinflip cases exist, but if cases are so close a coinflips (or elections) can decide them then why do sums like $500 million depend on them as in the article?

A system which promotes charisma instead of factual accuracy doesn/t just result in muddy grey areas where things were already close. Things like climate change, which pretty much all experts agree on, are grey areas to many people. Charisma is how we get trump instead of any other politician.

Every year that passes I am less in favor of the idea of democracy than I was the year before. The aggregate of a great many untrained people is generally stupid. Its just better than any system reliant on experts we have devised so far. This seems to be caused by the corruption of our method of choosing experts. Once we a get a reliable system that empowers experts I will be behind wholeheartedly.


The problem in your last sentence is the trick, one which humanity has yet to solve in any sort of sustainable way. Maybe strong AI can finally save us from ourselves.


Even that that pushes the trust problem one step further. Presuming making a Benevolent and Obedient AI leader is possible, how do we trust the people making it?

If western industry creates the super AI and somehow Google, MS, Facebook, Amazon, Apple and western society in general trust it why should China and Baidu?


Having just served on a jury, I can say that I've actually gained some confidence in the American justice system and its use of a jury of peers. When it comes down to it, the task for the jury is fairly straightforward, narrow, and well-defined: to examine the facts as laid out in the trial and to objectively execute the law as it is defined at the time while being fair and impartial. Their backgrounds and prior knowledge and experience are not supposed to come into play, and to the extent that the judge and attorneys have chosen a panel of objective, intelligent jurors, their backgrounds really do not and should not matter.

I recently read a comment that framed the law as being software. After my experience, I've come to think of juries as being the computers that run such "software" in the context of a trial: to execute the instructions as handed down by the judge, given the evidence and testimonies as factual inputs and to ultimately output a verdict that follows (as closely as possible) the rules codified in the law.

I feel that the problem really lies in the evidence provided by the expert witness. In this particular case, it sounds like there was an expert witness on both sides, but perhaps one witness was more effective than the other, at least to the jury. To reduce any bias, ideally there are (many) multiple witnesses providing testimony on the same issues, so that the evidence presented will average out to be as close to the factual truth as possible. Unfortunately, that's almost certainly not scalable in the context of a trial.


Being on a jury gave me the opposite experience. The guy who slept through parts of the trial was given as equal a say as those who stayed awake and the topic of them sleeping was a joke to many of the jurors. Charisma counted for more than reasoning. It made me have a lot more believe in the statement that the innocent seek trial by judge while the guilty seek trial by jury.


I had the same experience. There were some really varied backgrounds. There was an engineer, a consultant, a nurse, a couple entrepreneurs, a handful of blue collar workers and some stay at home parents.

I was really impressed how well they grasped the concepts of American justice. When someone said "he's guilty because of X", a lot of people jumped in and said "we're supposed to look at alternative explanations and if they are reasonable, we need to find him innocent."

It much improved my faith in the jury system.

This was in SF and I will say that all the 20-something tech guys did their best to get our of jury service. In fact, all of them did.


I think the Google v. Oracle example actually cuts against your theory. In that case, the jury found non-infringement on the patent claims, and literal infringement of portions of the code and API. The real question in that case was a legal one: whether the structure and organization of APIs was copyrightable. On appeal, the federal circuit found that it was, and remanded for a determination on Google's fair use defense. Another jury then found that Google's incorporation of Oracle's API was fair use (and that is on appeal).

I'm not really sure how a jury of software developers would have changed the result.

And as a general matter, I'm wary of assertions that judges or juries would decide things differently if only they had "knowledge of the underlying subject matter." In Oracle v. Google, for example, the policy question was: does the fact that Google copied Oracle's API for interoperability purposes outweigh the fact that Google is making a profit by leveraging a platform Oracle built? The disagreement between the Federal Circuit and software developers did not have anything to do with knowledge of the subject matter. Everyone understood what an API was, etc. It had to do with values and priorities. "Interoperability" is something with a lot of value in the software field, but is more or less irrelevant to copyright. On the other hand, protecting authors from others profiting off their efforts is the primary value underlying copyright.


Take Lego-branded building bricks. The functional aspects of the bricks (the sizes and tolerances of the pips) are not copyrightable. Being essential to their function, I am allowed to make competing bricks with interoperably-sized pips and voids. (I am of course prohibited from putting the Lego script on the pips or from marketing them as "Legos" or anything more than "compatible with Lego brand building bricks".)

In so doing, I'd be profiting in part on the Lego-built platform, yet it seems crystal-clear in IP law that this is permissible.


The Lego example rests on the idea that you can't copyright a functional aspect of a design (because then copyright would impinge on the domain of patent). The interoperability angle there is incidental.

And applying that reasoning to code leads to the weird result that the "functional aspects" of all code (not just APIs) should not be copyrightable. Indeed, once we're talking about functionality instead of interoperability, there is an argument that APIs should be more protected than ordinary code. APIs by themselves don't do anything. They're creative, rather arbitrary designs.


> They're creative, rather arbitrary designs.

Which isn't relevant. Harry Potter is a creative work, including the character names, but the page numbers those characters appear on are not.

Similarly, Java is a creative work, and maybe even the interfaces are "creative" in that they aren't totally determined by the domain. But after the fact they're just a listing of resources, like a list of characters in a book.

Nobody is trying to say that "Dumbledore" isn't property of JKR, but everyone agrees we can discuss him and his characteristics. We can flip to pages where he appears, etc.

The court got bamboozled on this one.

> And applying that reasoning to code leads to the weird result that the "functional aspects" of all code (not just APIs) should not be copyrightable.

Right. You can't copyright the concept of adding one to another number, nor the code. You're copying the C-lang spec, not inventing "x++" yourself.

In the mix with creative elements, the work as a whole is granted protection that isn't available to the parts. Nobody says JKR owns "wizard", or the concept of wizards at boarding school, despite owning the copyright on her book about wizards at boarding school.


An API is not just a "listing of resources."[1] API design often is the most creative part of code. It involves all sorts of creative choices in terms of what abstractions to expose, how to expose them, etc. Take the STL, for example. There is nothing particularly interesting there about the code that does stuff. Oh, it's another red-black tree implementation, yawn. The creativity is all in the API: the container abstraction, the iterator abstraction, etc.

Even minor things like order of operands are creative choices. E.g., the common lisp standard library has a style of ordering arguments as you would in an English sentence. In CL, you vector-push an item into the vector. In GLIB, you array_append_val, into the array, an item. The choice isn't at all functional, it's a matter of taste and style.

[1] I don't get your point about "after the fact." After the fact, a book is just a sequence of characters. What's the relevance of that?


> I don't get your point about "after the fact.

To pick a name is creative. To use that name afterword is not - it's literally referring to something by its given name.

My mother was being creative, you're just reading my business card.

> Even minor things like order of operands are creative choices.

They can be. But where they're standardized, they aren't.

If the API specifies these things they're now functional.

> An API is not just a "listing of resources.

Actually, that's all it is. The implementation lives somewhere else.

> It involves all sorts of creative choices in terms of what abstractions to expose, how to expose them, etc.

Right, and the API itself is a non-creative listing of them.

I'm not violating copyright by telling you that one of the characters in Harry Potter is named Dumbledore, nor would I be if I listed all the characters and the facts about them, despite that by necessity as a work of fiction they're all creative.


"Literally referring to something by its given name" is like calling an API, not copying an API. Oracle didn't sue Google for writing software that merely called the Java APIs, or writing software that included information about the APIs. If you wrote out a prose description of each Java class, each method, and the types and order of each parameter, that would not be copyright infringement, even under the Federal Circuit's definition.


> "Literally referring to something by its given name" is like calling an API, not copying an API.

I don't think they're that separable. I could take a program that called Java APIs and, through a bytecode decompiler, reconstruct a header file for that API.

In fact, I've done this very thing through reverse engineering C code. I've produced header files that allow interoperability with proprietary code. In this case, the function names and parameter orderings were copied, but the type names, parameter names, and overall organization were my original creation. I never looked at the original header file. Is that copyright infringement?

Personally, I think any attempt to find hard and fast rules is going to fail, and the intent should be the most important criterion. (NB: this is not what I'm saying the law is, as I'm not a lawyer: rather, I think this is what the law should be.)


Copying an API is just reciting a bunch of facts. Individual details which aren't protected, stripped from the protected context of the work as a whole.

If you're saying that the API reference itself can be copyrighted, yes, I agree. My typesetting of it, my method ordering, etc. All protectable. But not the facts on which it's based.

> If you wrote out a prose description of [...]

Of course that would be fine, but you don't have to go that far.

And I could take your prose description and strip the prose from it and turn it back into an API description. In that scenario, whose copyright do you think is being violated? The original work which I've never seen, or yours?


> this does point out something strange in our court system and that is where a "jury of peers" which translates to normal people with little to no knowledge of the underlying subject matter.

Nothing in the constitution says anything about peers, and the fact that most juries are comprised of people who don't know much about the subject matter comes from lawyers wanting those people on the bench, since they're less likely to have pre-conceived notions - possibly notions conflicting with their clients' goals.

If you're trying to convince someone of something, it helps if they start with a blank slate.


"jury of one's peers" is in reference to "an impartial jury of the State and district wherein the crime shall have been committed" from Article VI (criminal prosecutions) and preserved through Article VII (civil suits). It has been interpreted to mean a broad representation of the population.


The point is that the GP is interpreting "peers" in the academic/social sense, when it never meant this in this context, and the word doesn't actually appear in the Constitution.


I think technical people are better equipped to appreciate how important a seemingly small engineering difference can be. You have to spend a lot of hours wrestling with a complex topic before you realize how hard those innovations are to come by, and how big of a deal they are.

Another tragic example of "tyranny of the tech-illiterate" was the Honeywell v Sperry Rand case: https://en.wikipedia.org/wiki/Honeywell,_Inc._v._Sperry_Rand.... One of the rulings re-attributed the invention of the computer to John Atanasoff based on his ABC machine. The judge ruled "close enough" despite a litany of hugely substantial differences between the ABC (basically an electronic calculator with a primitive electromechanical "memory"), and the ENIAC (the trunk of all modern computing). Like the Zenimax case, the ruling appeared to be based more on the court's intuitions about the circumstantial evidence than the actual technical facts.

I suppose you make the best judgment you can. It's just too bad we can't think of a way to select people who are capable of better judgments.


This is a very tricky and interesting subject.

A black man being tried by an all white jury who are presumed to be his "peers" is often viewed as a racist miscarriage of justice.

Many would take the position that for a trial of a black man to be really just the jury should have some black jurors on it. Some may even go so far as to say that only an all-black jury could ever be fully comprised of that man's peers.

But how far should this be taken? Perhaps the black jurors, though they share the defendant's skin color, are in a completely different socio-economic class. Maybe the defendant is poor, uneducated, and from the inner-city, while the jurors are all wealthy and educated, and grew up in the suburbs. Or vice versa. How much does the defendant really have in common with the jury? Are they really his peers?

Often juries are supposed to be randomly selected from members of the community. The assumption is that if they're from the same community, they are peers. But what if the defendant has little to nothing in common with their community? Would their judgment of the defendant be informed or fair?

But if that's not fair, how much like the defendant should the jurors be?

Should homosexuals only be tried by other homosexuals? Heterosexuals only by other heterosexuals? Pedophiles only by other pedophiles? Drug users only by other drugs users? Murderers only by other murderers? Christians only by Christians? Whites only by whites? Blacks only by blacks? Politicians only by other politicians? Judges only by other judges? Police only by police?


Sitting on a jury yourself should alleviate you from worries about jurors not being experts themselves. Jurors are not experts in law, yet every case they sit on the lawyers bring in people to educate the jurors on the law and all aspects that pertain to a case. It is incredibly educational sitting on a jury.


Jurors are not expected to actually learn anything about the law. In fact they are told that they are not deciding or interpreting the law. Juries are finders of facts and the relevant law snippets and their interpretations are given to them by the judge. (Actually if I recall correctly, my jury wasn't even given the actual law text excerpts. Just the plaintext interpretation of them.)

It can be interesting going through the process as a juror but I didn't find that I learned much about the law as a result.


> Jurors are not expected to actually learn anything about the law

Since jury instructions both ask for a determination of whether a particular legal standard was met (phrased in legal terms), and explanation of what facts (in lay terms) the jury must find to say that that standard was met, I think your statement is not completely accurate.


> (phrased in legal terms)

This was not my experience. My jury was given a simplified description of the law with only relevant sections discussed.


I had a similar experience. After jury selection, the trial seemed to start almost immediately and I was surprised that we were not given more background information or preparation before opening statements started. During the trial I felt like there was a lot of pressure to not ask any questions or ask for any clarifications. Even when the jury asked for a repeat of the definition of reasonable doubt, the request had to be talked about by the lawyers and the judge. Then during deliberation, we had to ask permission to view different pieces of evidence, which generally added friction to the process.


I think the system is not completely accurate.


How is the court supposed to judge familiarity? What if jury members think they're technical experts, but aren't?

There are always going to be complex technical matters that are relevant to lawsuits - this was the case before software even existed - and the way the system is supposed to work is that rather than the jury bringing their own set of preconceptions on the technical aspects, the expert witnesses answer the technical questions in the court (where they are subject to cross-examination etc.) and the jury makes the factual judgements that have always been their job.


I've testified as an expert witness in patent cases in both the UK and the US. In both cases I was testifying that the patent in question should be invalid, and in both cases we were successful. It's much harder to invalidate a patent, because the burden on proof is on you.

The UK and US systems are very different - in the UK you testify in front of a professional patent judge, and they tend to be fairly technically clueful.

Both cases were very hard work - top patent lawyers are very smart, very well paid, and are experts at finding ways to undermine your credibility.

Where the UK and US differ is in how the lawyers go about trying to undermine credibility. It's much harder in the UK to get away with claiming something without it being supported by careful evidence. At one point in the UK case, the issue came up of whether it was technically feasible to run X windows over a dial-up modem. I said that it could, but it certainly wouldn't be quick. When their lawyer tried to dispute this, the judge chimed in, and said he knew personally that it could, because he'd done it himself years before, and could they move along to their next question please. I had a hard time not laughing.

The lawyer's strategy in the UK seems to be to start from a point the expert agrees with, then take them step by step, each step being reasonably in itself, until the expert ends up contradicting their own evidence. Generally, in the UK, if the other side manages to find an angle on something where you don't have evidence to back up your point, you usually need to concede the point. If you don't you lose credibility with the judge, and then it's all over. To avoid such traps, you need to know the 2000 pages of evidence so well you can jump to a particular page, where there's evidence to back your point up.

In the US, you need to maintain credibility with the jury. That's really quite different, as they're not technical. You've got to look them in the eye, and do your best to explain how it is in minimally technical points. They often won't be listening to the technical issues, but just trying to decide whether you're lying. They'll likely go with whichever expert they decide to trust most. I've never testified on something I didn't believe in, so looking the housewives in the jury in the eye and trying to explain earnestly was not so hard. I think juries are actually quite good at detecting who is being evasive if you talk straight to them, but few technical witnesses feel comfortable giving evidence, and this adds noise to the process.


FB post is solely about "literal" vs "non-literal" code copying. These are words that the lawyers chose to use to communicate a complex (for non-programmers) idea to a bunch of non-programmers.

I think of "non-literal" code copying as R&D. I think the Zenimax lawyers were claiming that the R&D that Carmack did for the Occulus, while still an employee of Zenimax, was key to making Occulus valuable. And it seems like Carmack even used Zenimax IP (Doom) to develop a demo that was shown to investors, without Zenimax permission. Essentially Zenimax was used as an R&D arm of Occulus.

Pretty messy case and pretty different from Google vs Oracle IMO.


"non-literal" copying is garbage. We already have a legal term. Its called a derivative work. Which is what taking a Harry Potter book and changing the names of the characters is.

Lawyers create new terms like that to intentionally make it difficult to apply previous case law to the case at hand. Both for the opposing lawyers and any judges on appeal.


You have that backwards. Taking the Harry Potter text and copying large portions of it, even if the names are changed, would be literal copying. Writing a book that borrows the story, characters, and relationships between the characters from Harry Potter, but written in your own words using new character names, would be non-literal copying. A derivative work, on the other hand, would be taking Harry Potter and making something new from it, such as writing a novel about a new adventure involving Harry and his friends, or adapting Harry Potter to a new medium like a VR game.


As our society becomes more specialized it seems a bit absurd to have people make judgements mostly based on how well each side can make incredibly complex things comprehensible and convincing without any real understanding of the underlying principles in the field.

Just a side note: the same argument can be applied to the political parties and elections.


I think of peer as meaning someone who is my legal equal. Historically in the US this meant a slave could not testify against me if I born a free white man. Obviously we are well past the point of having multiple distinct classes as such.

But the point being is that my peer would be someone who is on equal legal footing with me. For example, in a criminal case a police officer should generally not be part of the jury. Even if the case is well outside his jurisdiction they enjoy far too many legal privileges to be considered my equal. This isn't a condemnation of police, it is just how things are.

I am actually far more afraid of being judged by a bunch of 'experts'.


In the USA, there is no special right to a "jury of your peers"; just to an impartial jury of sufficient size. The "peers" thing was intentionally avoided, since it was tied up with the British class system.


The more familiar you are with the industry, the less likely you are to be impartial.


I didn't know the US had juries even in civil cases. That seems a bit effed.


If you judge a doctor with a jury by doctors, they wont convict. Its the blue wall of silence. The more related the jury is to the defendant, the less likely he is to get convicted.

Not to mention that the same bias you have could damage people. For example a doctor performing euthanasia might get compasion by most people, but disdain by the doctors that chose to never do such a thing.

There is no fair or justice, its not an objective value. Its a show we do because we know it keeps some people content, and some others fearful.


I may be wrong but don't both sides get to choose the jury? If that's in fact the case, then the jury is made up of a group of people that both sides want making the decision.


> I may be wrong but don't both sides get to choose the jury?

For what it's worth, based on my expert knowledge (I once was summoned for jury duty, but was not needed), neither side gets to choose anyone, only to exercise a limited number of dismissals. That is, they can only decide 'no' (a certain number of times), not (except indirectly) 'yes'. Thus this:

> the jury is made up of a group of people that both sides want making the decision.

is more like "the jury is made up of a group of people who were judged least likely to make an undesireable decision", which I think is meaningfully different.


Juries are a choice. If they want an expert then both sides can go for a bench trial. If a judge isnt expert enough, then you are out of luck. Matters must be decided in a manner understandable to the outside world. A courts decision must be understandable by other courts. Otherwise every case will be ad hoc, leading to essentially random outcomes. Dont like it? Then settle out of court.


It would be interesting to know if any CS people were actually in the jury pool for this case, and if so, were they selected or dismissed.


Peers doesn't mean people "like" you, with your same knowledge. It means people with the same level of authority as you, which these days is none at all. Members of your society with no vested interests other than justice.

It means you aren't judged by the police, the judge, other parts of government, etc.

It's not perfect, probably just the least imperfect option.


It is true and it would help to have a jury that has the technical background of the subject. On a note though unfortunately even with a jury like that, it doesn't resolve the problems for preferences and bias that someone can have. We still have "wars" over Go vs Scala or React vs Angular.


Yep. If it were me, I'd find that everyone should leave Carmack alone because his CD player is currently paused and the future of the VR gaming industry depends on the work he could be focusing on right now :)


After I served on a jury, I became convinced that the biggest benefit they provide is that they put an upper limit on how complex, convoluted, and one-sided the law can be.

I think there is some value in occasionally rounding up average citizens, explaining the law to them, and making them listen to a trial.


This makes little sense. Certainly the court itself should be able to find some expert which weighs in on the matter as a third-party instead of letting the sides involved spin their own stories? Would that be complicated?


It's not complicated, it just means on disputed facts the courts selection of a single expert will decide the only viewpoint presented to the trier of fact (which might also be the court).

I don't know why we would prefer that for general "background" facts that are in dispute which are relevant to evaluate the more direct facts of the case any more than we would for other types of evidence.


How would it be assessed who is an 'expert' and who isn't? I worry this would fall to some bureaucracy and all of the pitfalls that lie therein.

I prefer the downsides and risks involved in a randomly selected jury pool.


Interesting rant on expert witnesses. Mostly interesting because I've done some expert witness testimony and found it fascinating.

I completely resonate with John's issue with the expert's testimony and his understanding of it. John mentioned that their own expert testified differently but he didn't say whether or not their lawyers attempted to impeach their expert with cross examination. In the two cases I participated in, both sides agreed ahead of time on how to "handle" experts (in terms of cross examination). In one it was documents only (no testimony) and in one I was deposed by the opposing counsel after documents in which the lawyer clearly had some notes (presumably from their expert(s)) and was trying to get me to recant or change some of my points (I didn't need to).

In a jury trial I can imagine that having the jury understand your testimony is probably the most challenging.

And, like John, I consider the notion of 'non-literal copying' to be pretty ridiculous. In the limit it means "you read this code, understood how it worked, and wrote new code that could do the same function." You can stretch that to cover anything you have ever seen. Which is sad.


To the last point, courts do actually try to solve this. The goal of the https://en.wikipedia.org/wiki/Abstraction-Filtration-Compari... that gets used is, in fact, to abstract things, eliminate the non-copyrightable parts, and try to see if any important stuff is left.

Wikipedia actually has a fairly good explanation of it in practice.

So they are actually trying, and the real problem is that existing copyright law, for literary works, is just not a match for how software tends to actually be developed, which is that "most code is worthless, there is very little that really should be protected".

(and before people argue that it could be millions of lines, the US, thankfully, refuses to have a sweat of the brow doctrine)


> So they are actually trying, and the real problem is that existing copyright law, for literary works, is just not a match for how software tends to actually be developed, which is that "most code is worthless, there is very little that really should be protected".

It's not even that. It's that the debugging is the hard part. The general idea of what the code should do is easy. Getting all the edge cases right is hard.

The result is that a) any two working implementations are going to be functionally equivalent (by tautology, because that's what "working" means), and b) "non-literal copying" doesn't actually help the "infringer" because anything short of literal copying or literal translation (meaning the thing a compiler does), is going to require you to redo the hard part anyway.


> "most code is worthless, there is very little that really should be protected"

I think a better analogy would be that most parts of software (i.e. functions) can be thought of as words in literary works, it's not how you spell them but rather how you string them together that makes the work unique.


Cleary with a lot of money on the line from one side or the other, either side can likely find a 'expert witness' who is credentialed and willing to say what they want. At least that's true in a lot of cases. Regardless of how this handled in court, it's an issue. How is a jury built of non-experts to handle such a situation? In this case they clearly believed one side's testimony over the other, against what one could reasonably argue was sound judgement on the issue. Expert witness testimony is more about theater, performance, and credibility than it is on the actual technical matter.

Until we put in place a system where an expert witness is more accountable to the court than a client, we will continue to have this problem.


It's not the jury's job to discredit a bad expert witness, the opposing side should be doing that in cross examination.


There is also the possibility to challenge the choice of expert witness before the trial, I believe.


> In a jury trial I can imagine that having the jury understand your testimony is probably the most challenging.

What I've seen from the sidelines is that what you want in an expert is someone who make your point, which has more to do with assertiveness than competence, and the credentials to back it up but who can't delve into the topic too deeply because information that the jury doesn't understand is an attack surface that defense attorneys can use to create doubt.

I imagine the rules are a little different in civil litigation where both sides are likely to have experts.


In civil litigation, my professor used to say you needed three experts: one who actually knows what they're talking about, one that the jury will like, and one to translate between the two.


That is pretty much how it works on the civil side too. Pick an older professor from the best local college who has given testimony several times before.

The open secret is that a lawyer writes all the expert reports and the expert just reviews and makes edits.


That has certainly not been my experience. The lawyers have a clear objective for a given expert report and are heavily involved in a lengthy back-and-forth review process. Perhaps sometimes lawyers do the primary drafting but that wasn't what I encountered.


^this makes a lot of sense


>And, like John, I consider the notion of 'non-literal copying' to be pretty ridiculous.

What about translating from one language to another, like in Carmack's book example? You can't literally copy from c++ to Java, but it can look pretty similar. Would that be considered copyright infringement?


I'm actually currently involved in non-literal copying of a very old C code base into Python (legally, independent of whether that's protected or not, as it's GPLv2 and the result will be as well), and the code doeant much look the same (and wouldn't even if I was copying it into C in a more modern style.)

There's certainly a point where you are just duplicating unprotected function rather than making a copy dependent on the expression of that function in the original, and that's a tricky legal line with software, but non-literal copying is certainly a thing.


The non-literal copying thing seems insane to me. It's like solving a math equation, then getting a new job and being told to solve the same equation a completely different way.

Of course the solutions are going to look similar, it's a re-implementation of the same core principles. How far could you go in implementing a VR game if you aren't allowed to use matrix transformations or dot products?


> In the limit it means "you read this code, understood how it worked, and wrote new code that could do the same function." You can stretch that to cover anything you have ever seen. Which is sad.

I thought the industry adopted "clean room" techniques decades ago to avoid this kind of appearance of impropriety.

It's more expensive, sure, but isn't eliminating legal risk something that typically gets paid for?


This particular point worries me. Are we now not going to be able to make a clean room re-implementation of concept? Do we need to worry about our previous employer suing us because we are successful?


They didn't seem to do clean room here. Seems like Carmack was wrote code for both companies which is the exact opposite of clean room.

(Please correct me if I misunderstood the facts of the case)


The employer of John Carmack is buying his work product for as long as he remains an employee. The company cannot buy his knowledge and expertise from him, as that is an integral and indivisible part of him.

So if you hire Carmack to write a rendering engine, then he quits and goes to work for another company, to write a different rendering engine, he is not "copying" the engine you bought. His memories of all the software he had previously written do not belong to you. You cannot contractually obligate him to forget a part of himself that makes him valuable as a software professional.

The work of a software professional is constrained, because while a given mathematical problem may be solved in an infinite number of ways, only a few of those ways will be optimal for any given set of computing conditions. Different implementations may be grouped by algorithm. With respect to computer graphics, all rendering engines will tend to converge on the fastest algorithms for painting pixels on rectangles. Because of this, all rendering engines will be very similar in some respects. But they will also markedly diverge in others.

There are pretty much only 4 types of algorithm: the fast way, the frugal way, the magical way (viz. both fast and frugal, but requires top-level expertise to invent or understand), and the hardware exploit. Carmack is certainly capable of writing magical algorithms. And he can remember how to make the pixie dust. He will also tend to write all his implementations in a similar style.

Thus it is very possible that one person could write identical code at different times, while having no specific memory of the previous time it was written, nor any need to refer to associated documentation around that instance.

The clean room is clean if no property of the other company was ever inside it. Carmack cannot be property, therefore his presence is not a contaminant. My opinion is that any non-disclosure agreement Carmack may have been a party to can only meaningfully cover the contribution of other individuals to the project, since Carmack-qua-Company-A-employee cannot meaningfully wall off knowledge from Carmack-qua-Company-B-employee. If Company A wanted to keep Carmack's raw knowledge and expertise from Company B, they would have had to get him to sign a non-compete agreement (which no one at his level of clout should ever do for less than a significant ownership share in Company A).


> The employer of John Carmack is buying his work product for as long as he remains an employee. The company cannot buy his knowledge and expertise from him, as that is an integral and indivisible part of him.

This is the entire point of non-compete agreements. To deny competitors the expertise the person has developed during their time at your company.


I'm not entirely certain that you read all the way to the end of my reply.

To really lock someone up, you need both a non-disclosure and a non-compete. And anyone worth a non-compete should make it really expensive for the company that is asking for it. You're trading away potentially several years worth of lost opportunity costs to basically not be what you are for some time after leaving a company.


"Clean room" is a name for one extreme of the spectrum, where you go for overkill in demonstrating and documenting there's no possible way there could have been copying. The law says you don't need to go so far, but people try to mitigate the low burden of proof in US court civil cases.


In this case, and others like it, a clean room is challenging because a principal (in this case Carmack) left one company and joined another. So the 'taint' if you will is in his head.


If so, then I see two possibilities here:

1) The IP in question was only reimplementable with Carmack involved, and the lawsuit was basically inevitable. Hiring Carmack in this scenario is reasonably perceived as an end-run around buying/licensing the IP itself.

2) The IP could be reproduced clean room without Carmack involved. Lawsuit is easily headed off.


The visual and written arts seem to get away without requiring "clean room" techniques. It's not like authors have to avoid reading any other author's work.


It's kinda hard to square John's post-trial comments "I never tried to hide or wipe any evidence, and all of my data is accounted for, contrary to some stories being spread." with ZeniMax's post-trial comments at http://www.gameinformer.com/b/news/archive/2017/02/01/zenima... that " (vi) Carmack intentionally destroyed data on his computer after he got notice of this litigation and right after he researched on Google how to wipe a hard drive—and data on other Oculus computers and USB storage devices were similarly deleted (as determined by a court-appointed, independent expert in computer forensics); ... (viii) Carmack filed an affidavit which the court's expert said was false in denying the destruction of evidence; "

What is a reasonable explanation of this discrepancy? Varying notions of what consitutes "evidence"? Or differences in facts?


I wouldn't trust the testimony of a paid expert witness. They always have strong convictions in favor of the side paying the bill, even if the evidence available clearly can't support such absolute conclusions.

Even if they aren't just liars, the lawyers can just keep trying different 'experts' untill they get one who tells the story they want to hear. It's just cover for making an argument from authority.


I did an advanced forensics course a few years back that was geared towards preparing me for court cases for the company I was working for. I quickly realized how easily "expert" witnesses could and most likely were being abused in the system just as you say. Expert shop till you get what you want.

That's not even mentioning the epic level of incompetence I saw among others. I'm talking about "forensic experts" who didn't know any filesystem other than NTFS, and even then if the tool didn't do it for them they didn't see it... At least I know if I ever end up defending myself I have plenty of inside knowledge on how to undermine the prosecutors arguments.


"As an expert, I can definitely tell you that the people paying me are correct."


> Carmack intentionally destroyed data on his computer after he got notice of this litigation and right after he researched on Google how to wipe a hard drive

Somehow I think John knows how to wipe a drive...


Every dev knows how to wipe a drive. Buy an identical drive. Throw old drive into the incinerator.


Lack of history is a clue system was wiped or reinstalled from scratch.

Its very difficult to make windows appear to be an old actively used install. Encase (or new software, I havent done forensic for >6 years now) will tell you everything about timestamps and what that means.


I was joking. But honestly, if you don't your secrets to be found, you do have to go for extreme measures.


I didn't know this but I do now.


This is not a valid assumption. Shredding a drive to the extent that data recovery is not possible requires knowledge that, often times, revolves around the architecture of the drive in question (see: wear leveling).

An unrelated, yet illustrative, counter example is the seemingly reasonable, yet false, assumption that RMS performs his own installs of GNU/Linux.


You mean the guy that once used thermite to break into a computer lab to impress boyhood friends? The guy that literally has a warehouse full of rocket fuel?


It looks like either someones lying or wrong


"right after he researched on Google how to wipe a hard drive"

I find it difficult to believe that Carmack needs to google how to wipe a hard drive ...


The ATA security erase implementations in SSDs frequently lie, and few people know off the top of their heads what tools/procedure use to get to that command in the first place. Nobody knows how to issue this command or knows if this command works on their drive off the top of their heads.

(OTOH I have researched this issue a few times a year despite rarely personally applying the information, so this Google trail is hardly evidence about anything)


"Nobody knows how to issue this command or knows if this command works on their drive off the top of their heads."

Sure they do.

You overwrite the drive with a known large file and then check the checksum of it.

It doesn't matter what kind of mumbo-jumbo the SSD is doing - it doesn't have phantom-double-capacity hiding in there ... if the (drive sized file) you wrote checksums out, you're done.

And if you're paranoid, do it a few times with different (drive-sized-files). Quick and easy and faster than googling anything.



Is it possible he wanted to protect other proprietary code from being exposed in discovery? I guess he could have tried to explain that, but that might still have constituted an admission of guilt anyway.


New thought: maybe Carmack didn't wipe his own laptop, he let someone else do it? Both partys' statements would still be true if this were true.


I suppose many weird things happen in $500m cases, but it'd be really unusual to have trial testimony sealed against the agreement of the parties. Pretrial reports and depositions, sure. Media was apparently there reporting during the expert's trial testimony, and I'd be surprised if they cannot buy a transcript from the court reporter. (http://uploadvr.com/court-oculus-zenimax-last-day/)

A quick look at the docket shows the expert witness at issue is likely to be David Dobkin of Princeton. That name appears on the docket and in media reports. Let me know if that violates HN norms, but expert witness trial testimony is part of the public, permanent record in almost every case. If a witness is excluded for using unreliable methods, his or her value as an expert is ... diminished.


Interesting. David Dobkin is the Dean of Faculty at Princeton University who used to be a Computer Science professor there for a very long time before being Dean; his specialty was 3D geometry (not a 3D shader guy, kinda a bit more math-y than applied.)

I don't know if he ever presided over code plagarism cases with clever Princeton CS undergrads but since he was department chair for a fair chunk of time, information on that may well provide interesting insight into his methodology and previous experience. (Reviewing papers for various computer graphics entities might also contain additional plagarism experience but that's unlikely to be code-comparison-type plagarism.) Given his CV I would be very surprised whether he has considered abstract syntax trees much since he got his PhD 43 years ago, but I am not convinced by Carmack that is automatically exculpatory.

I would consider him a reasonable pick as an expert in 3D geometry and algorithms (although he hasn't been active in the field in 10+ years he did it for a /long/ time which is likely sufficient) and he may have dealt with plagarism of regular text during his career a moderate amount, but he does NOT seem to be an expert in code-plagarism or code similarity. It's interesting that the former is good enough and they didn't need an expert in the latter.

In any case, given the positions he's been at, whatever he's getting paid, even $600+/hour, I doubt he /needs/ the money. (If he is in fact the expert witness.)


Seems likely it was David Dobkin: https://www.reddit.com/r/Vive/comments/5q5rf2/software_exper... https://www.elys.com/people/david-dobkin

Following up on other posters' comments (thank you!), while Carmack proposed Abstract Syntax Trees based copyright detection, he didn't seem to appreciate the standard court methods for detecting non-syntactical copyright violation for code, the abstract filtration comparison test (https://en.wikipedia.org/wiki/Abstraction-Filtration-Compari...). Dobkin it seems didn't have to rule based on his own opinion or based on some academic method whether there was copying, but whether -- given the very specific method laid out by legal precedent to know whether there was copying, assuming that method was true -- whether when he applied it, it indicated there was copying. That makes a lot more sense to me. Dobkin would be a perfectly suitable expert for doing that sort of test.

I am a bit surprised Carmack didn't seem to recognize this basic point. But perhaps I am missing further subtleties. Or perhaps he is just trying to indirectly shift blame to Dobkin when it really belongs to the legal system (or where actually the legal system correctly discerned something was going on).

For the actual 90-page Zenimax ruling which describes the abstract filtration comparison test in the words seemingly given to the jury for this particular case, see pages 21 onward (but especially page 26-30) https://www.scribd.com/document/338147994/Ruling-in-Zenimax-...

For direct copyright infringement, only Oculus was found guilty (ZeniMax claims post-trial at http://uploadvr.com/zenimax-responds-john-carmacks-facebook-... some employee admitted he copy-pasted some code to an Oculus SDK.) Carmack was innocent.

For vicarious copyright infringement (ie management should have known/prevented it, https://en.wikipedia.org/wiki/Vicarious_liability), Oculus/Facebook/Carmack were innocent but Palmer Lucky and Brenden Iribe (before they founded Oculus?) were guilty.

For contributory copyright infringement (https://en.wikipedia.org/wiki/Contributory_liability, a "party materially contributes to, facilitates, induces, or is otherwise responsible for directly infringing acts carried out by another party." ), Oculus/Facebook were innocent but Iribe, Palmer, and this time Carmack were guilty.

BUT, the ruling then goes on to say that "the defenses of license or de minimis use bars Zenimax's claim for copyright infringement" for Palmer, Iribe and Carmack (but not for Oculus). So whatever Palmer/Iribe/Carmack did wasn't that bad, but the actual copying of code to the SDK by Oculus somehow merited $50m damages (I can't see why that won't get reduced substantially on appeal, no copy-pasted-code-to-an-SDK really caused Zenimax $50m damages.)

For violating the NDA Palmer Lucky signed before Oculus was even formed (but which was ruled to still be in effect after Oculus), Zenimax gets $200 million.

And for "false designation of origin", (https://en.wikipedia.org/wiki/False_designation_of_origin), where the manufacturer/seller lies about the origin of their products, Oculus was guilty for $50m, Palmer Lucky (the visionary founder) for $50m and Brendan Iribe (the CEO) for $150m. I'm not sure I understand the factual basis of what happened here, but having been in startups that deliberately obscured the origins/key parts of underlying technologies to angel investors, I can see the origins of product misrepresentations as being worthy of substantial damages as it really does affect Oculus's value and Zenimax's ability to be compensated for "their part". Probably will get knocked down too, but this is the most defensible part of the $ amount.

Sorry for the long post.


> Sorry for the long post.

Don't be. This is the first post I've seen that actually answers more questions than it provokes. Thanks for helping me understand what happened.


Yeah, this was the part that seemed most important and potentially most unreliable to me. I would like to see where they officially requested that this testimony be made public and were denied.


The problem for John Camack was I think he was on both sides of the table writing code - so he wrote the code at Zenimax & re-wrote the code at Oculus. From a layman's perspective, he very well could have been "copying".

Normally when you design clean room implementations, you use different people and make sure that the people who write the code never see the prior written code and the person giving the spec doesn't see the newly written code.

They were just in-sufficiently cautious legally, possibly un-surprising given Carmack's prior history in founding Id software, and got hit with a lawsuit.


That seems like it is saying that Zenimax owns not only the code Carmack wrote while he was there, but also the knowledge and experience he gained while working there.


This was my thoughts exactly. If what the OP was proposing was not legitimate myself and countless others would be in legal jeopardy. I have written code that does the same thing at numerous employers because I am hired to solve the same problem. This doesn't mean I've copied anything, it just means I know what the hell I am doing.

If this was not legal, we would all be bound to the same employer for life. This could be extrapolated to virtually any employee. Have you assembled burgers for McDonald's before? If so, you can't work at Burger King, because they also make burgers and you have proprietary knowledge of McDonald's burgers.

I have spoken with numerous individuals who added support for specification X to one vendor's product, then did the same at the next job, so on and so forth. One individual had implemented the same specification for 3 different companies, all competitors, in just a few years. When you consider the breadth and depth of some specifications, the code doubtlessly is similar in form and obviously identical in function.


Not to mention that the Zeni prototype was merely adequate, while the Oculus product is polished.

I think that ZeniMax are seriously salty about shoving off VR now that it's blossoming. That being said, working on company equipment during company time? Carmack screwed up.


> That being said, working on company equipment during company time? Carmack screwed up.

I'm fairly sure Carmack saw his role as one of a researcher, such that working on VR and sharing knowledge with the outside was part of what he was being paid for. I'm not familiar with his contract but I remember his communications regarding VR at the time and that's the way it appeared.


This argument I don't understand. Carmack was tasked with making a Doom demo for VR, so he did. Why it is such a shocker that he worked on a company project with company time is a mystery to me. He even pushed Zenimax to make a releasable version, but the upper management thought VR was a waste of time which is why he left.


No, it's more than Zenimax owns not only the code Carmack wrote while he was there, but also the design on which that code was based. If there were literal design documents written up, I think we would all agree that is clearly true. When the designs are all in one person's head, it becomes gray enough to take to court.


Only the verbatim design documents are copyrighted. The ideas in them are protected as free speech.


Things don't need to be "protected" to be free. Free is the natural legal state. There has to be laws passed to grant monopolies. Hence why copyright, patent, etc are laws.

And "ideas" aren't a protected form of free speech.


Specifics matter in legal proceedings.

In general, this argument would be laughed out of court of course. However, Carmack worked not only in the same domain, he worked on developing the exact same product at both companies - so this opens up to potential liability.


Yes, I think it all comes down to what copyright actually is. Is it the words on the paper, or the ideas behind them?


In other words, can you commit thoughtcrime?


I think it's more that Zenimax thinks it owns the unique ideas that Carmack, a top talent in his field, created while he was working there. They're not angry that he wrote the same 4x4 matrix inverse function for both them and Oculus.

Or more specifically, if Zenimax's claims are correct, while he was working on company time and equipment.


What is the alternative? Do we force everybody to undergo mind wipes whenever they leave the company so they don't take any skills they picked up on the job with them?

How many people can forget everything they know every time they get a new job?


I think it's a balancing act with plenty of gray area. Personally, I almost always side with employees in cases like this, because it's ridiculous to me that a company could claim ownership of things that its employees create which are unrelated to their jobs, or which they produced with their own time and resources.

But I also think that there are some people who are exceptional cases. The real high earners in a company, especially if they're technical staff, are probably real luminaries in their field, and the company is paying them a significant premium in both money and autonomy because they believe that such an employee will produce a lot of valuable new ideas for the company.

So if your rock star programming wizard quits to start a new company, taking a project that they've been iterating on during work hours on their company computer for the past 6 months while they were drawing a paycheck...well, if you look at it from the company's point of view, you can understand why they would feel like they got robbed blind.


The alternative is probably non-compete contracts (which are enforceable if paid) so that people don't immediately go from one company to its direct competitor.


By "They were just in-sufficiently cautious legally, possibly un-surprising given Carmack's prior history in founding Id software" you mean the story of how Carmack left SoftDisk and did work for Apogee (on Softdisk computers after hours using a key technique he developed at SoftDisk) and started Id (https://en.wikipedia.org/wiki/Id_Software#History)?

Thanks for mentioning that; I had forgotten that little nugget of history -- it does show this wasn't Carmack's first rodeo at this kind of employer/tech transition.

I had not read until browsing wikipedia just now that the the adaptive tile refresh technique at issue back in that transition was first implemented in a game called "Dangerous Dave in Copyright Infringement". (source: https://en.wikipedia.org/wiki/Adaptive_tile_refresh ) That's an ironic game title for ya given all that has followed!


Somewhere in the post, he mentions:

"This is just not true. The authors at Oculus never had access to the Id C++ VR code, only a tiny bit of plaintext shader code from the demo."

So it seems like it's not only code he wrote, but code other people at Occulus wrote too?


Carmack didn't write any of the code that Zenimax claimed was derived from what he'd written at id. He hasn't done any work on the PC side at all.

That's one of many messed up things about this case. When Zenimax sued Oculus they assumed Carmack had been working as part of the existing Oculus team, but he'd actually started up an entirely separate project, working with Samsung on mobile VR, it just hadn't been announced yet.

That caused problems for Zenimax, and the list of misappropriated trade secrets shrank to seven software features that the expert witness was certain had been copied, whereas it was originally "all software and all hardware except the display and lenses."

Another witness with actual expertise in VR quickly established that none of the seven features were even trade secrets.


Wow


This struck out at me:

> There are objective measures of code similarity that can be quoted, like the edit distance between abstract syntax trees ...

If this became the primary legal metric, then programmers who stole code would change the code so that functions achieved the same output with practically no AST similarity. That is, they could maximize functional similarity while minimzing code similarity. This would be a large task, but one that might be easier and preferred to writing code from scratch, since you drastically reduce the trial and error process of writing code in a field where best practices aren't currently known.

But, while it's possible to game any 'objective' metric like AST distance, maybe that's preferable to the subjective and incentivized claims of an expert witness, who will be biased in favor of the party paying them. And while it's easy to get lost in the paragraphs of expert witness testimony, a collection of objective metrics is easy to compare to previous cases.


This is like the joke about plagiarizing an essay: You can beat the automated check tools by using multiple sources of information and then re-writing them in your own words.

Also Copyright protects the expression of an idea, not the idea itself (that would be patent). You don't have to go through this much trouble to write code that achieves the same output.


Also in the case of TurnItIn, you can just pay them before you submit your academic work. They show you how to avoid getting flagged by their system by indicating what needs to be changed.

It's a really great scam they've got going. Kenneth Lay would be very proud if he were still around.


Funnily enough I actually implemented this [0] two semesters ago while working as a Teacher's Assistant for the into CS class.

It worked fairly well. I basically took the levenshtein algorithm and mapped it directly to ASTs and used that to find the % of similar elements in the code. It worked a few times and I caught 1 or 2 groups of cheaters.

....sadly in that class you were allowed to "work together" you just had to include a note saying you did so I've got no "kill count" anymore and I'm not planning on TAing any time soon (at least not for python).

Also that code was hacked together in a weekend and that anti-cheet was done in 2-3 hr. It's not production ready by a longshot.

[0] - https://github.com/gravypod/GradeO/blob/master/libs/cheating...


A good general method for comparing ASTs is Tree Edit Distance. I have an implementation in python https://github.com/timtadh/zhang-shasha . If computing the exact distance is too slow you can use an approximate algorithm https://github.com/timtadh/pygram .


> But, while it's possible to game any 'objective' metric like AST distance, maybe that's preferable to the subjective and incentivized claims of an expert witness, who will be biased in favor of the party paying them. And while it's easy to get lost in the paragraphs of expert witness testimony, a collection of objective metrics is easy to compare to previous cases.

That's the important part. Sure, you can game an objective metric. The moment you use any metric you risk gaming, but at least you have something which is not "well ... I thought so. And I'm certainly not biased because I get paid by one side. Never ever."


If you're genuinely mutating the AST, you'll end up with a different program that does something different or performs differently. There's only so many ways you can write a loop and they all look loop-like, whether it's for / while / do / tail recursion. But if you have a program that doesn't contain a loop at that point at all, or loops over something different, then you've got a different program.


> If you're genuinely mutating the AST, you'll end up with a different program that does something different or performs differently.

If the original program was written in, say, F# and used a lot of pattern matching, then you could rewrite a straightforward moral equivalent in C# that used lots of visitors. Both the AST and IL will be substantially different, but the performance and functionality will be similar.


You're thinking at a much more concrete level than I am. When I think about an AST differ for the purpose of identifying copied code, I'd abstract out different ways of writing loops; I'd unify polymorphic calls to pattern matching; I'd break function call graphs down to a forest of basic blocks. In other words, I'd tune my AST comparison to actually look for algorithm similarity. I wouldn't be so trivially gamed.

Even better, I'd work with a traced execution, and examine isomorphisms between call graphs and data structures.


You wouldn't literally mutate the AST, you would rewrite the code so that it performs the same output but using different code.

Suppose there is a function y = f(x). You would write a different function g(x) such that g(x) = f(x) for every x, but such that the AST of g is different than the AST of f. You'd probably have to do this manually.


The same output with different code is what a clean room implementation would give you too. So clearly this is an insufficient specification.


Copyright does not protect the functional aspects, only the "expressive" ones. IANAL though.


Also NAL, but I don't think this case was about copyright? It was more about breach of contract, wasn't it?


Someone should write a script which takes any code and mucks the AST.


You should be able to just compile it with -O3 and then decompile it and rename all your variables back. You'll get a very wonky source output but it will be extremely different.


why would would you keep debug info like variable names while compiling w/ -O3 in the 1st place?


You woudln't. This would be for an intial obfuscation pass. You'd not do this for release but for sufficiently scrambling the code base.


I have do (academic) work [1, 2] on finding semantic code duplication. Two points that I have learned about code duplication:

1. There is are a lot, A LOT, of code regions that share similar constructions when analyzed in terms of dependencies. Dependencies only consider data flow and control dependencies. Where a statement X is control dependent on another statement Y (usually a if-condition or loop-condition) if Y decides whether X executes.

In my studies I have found modestly sized Java programs (~ 75 KLOC) have > 500 million patterns representing duplication in their dependence graphs.

2. Not all dependence structures which are "duplicate" would be considered duplicated by a human programmer [2]. It takes discernment by someone familiar with the code base to decide whether or not regions are actually duplicated.

I would argue you can draw similarities using automated metrics between disparate code bases. Those similarities are not evidence of copying. To decide whether similar regions are actually copied you would need to do further and subjective analysis. Without directly evidence of copying it would be very difficult to make a solid claim one way or the other. But, given the vast amount of similar code regions that exist (and assuming most code is not copied) I believe it should be given the benefit of the doubt.

Note: I have not studied density of duplicated code between different projects. The above is merely an conjecture based on my experience.

[1] http://hackthology.com/rethinking-dependence-clones.html [2] http://hackthology.com/sampling-code-clones-from-program-dep...


Having gone through a similar trial, this is painfully familiar. The reality seems to be that the legal process optimises for whoever argues the most manipulatively (using every dirty trick in the book) rather than actually optimising for truth.

Perhaps this is inevitable: rather than hoping to successfully convey a logical scientific argument to the judge/jury/arbitrator about a deeply technical area, instead the lawyers find themselves painting a more subjective simplified story that the audience may relate to... at which point you have to fight like with like. It's almost a post-truth kind of situation; the actual reality is irrelevant; it's instead how well the theatrical posturing is executed or how compelling the simplified version of the story is.

That said, I have no idea whether Carmack is in the right or wrong here. In my instance the system worked in my favour, but I suspect it had a lot more to do with having lawyers who were good at debating than the almost incidental fact that objectively and demonstrably I had done nothing wrong...


Absolutely concur. In an arbitration case, our attorney told us beforehand that (pardon the language) "the only bigger whores than lawyers are expert witnesses".

The outcomes seem to depend mainly on, as you say, which side can spin the most compelling simplified story that resonates with the arbitrator/jury.

As another poster says, perhaps use of analogies should be banned (Harry Potter in this case for goodness sake).


This is a thorny issue because say you could make the argument that if I spend 5 years writing and rewriting code from 0.1 to 0.8 at company A to understand a domain, then I move to company B and write 0.9 and 1.0 in the same domain and make a pile of $$$, then company A should somehow be compensated even if the code itself is not exactly the same (which it wouldn't be since you learned from mistakes made).

On the other hand if you take, for example, an engineer who learns to build bridges and builds a lot of bridges in one company, and then moves to a different company still building bridges, one would not think that just because they build a great bridge at company B, company A should be compensated.

Where do you draw the line between 'improving your craft / becoming a better software developer' to 'taking a company's IP'?


The issue of potential IP transfer is why companies sometimes include non-compete clauses in their employment contracts.

I don't know if they can be enforced in the relevant jurisdictions though.


The way the law usually protects is via trade secret law. So the deciding factor is if you are later using information that was a trade secret. Trade secrets have to have information that isn't known to the public.

For the bridge example, just because they taught you how to build a great bridge, doesn't mean it was a trade secret. But if they had some sort of special sauce on how to build a bridge, it could be.

It's more complicated than this. They actually have to keep the information secret, usually through NDAs, controlling code, not letting people show it off at conferences, etc.

This sort of "mind" trade secret is hard to deal with. There isn't a clear distinction between talent/skill and information owned by your former employer.


An interesting statement on things that may be relevant in the grand scheme of the trial, but, unless I'm really missing something here, the verdict was about busting an NDA (the Code being downstream of the NDA violation). Hence the $500M vs the $4B in damages. If it was just about code, then I'm sure Carmack's points would hold up just as well as they read in hindsight. But - and it's a big but - keep in mind his post is in a vacuum of sorts by not relating it back to the mechanics of how the case was actually ruled. Again, I might be missing something in his post, but I don't think so.

As for this part:

>The notion of non-literal copying is probably delicious to many lawyers, since a sufficient application of abstraction and filtering can show that just about everything is related. There are certainly some cases where it is true, such as when you translate a book into another language, but copyright explicitly does not apply to concepts or algorithms, so you can’t abstract very far from literal copying before comparing. As with many legal questions, there isn’t a bright clear line where you need to stop.

Non-literal copying is why I like the "Gaye Family vs. Blurred Lines" verdict and why a wide swath of business folks and industry creatives hate it. Also, it's nearly a 1:1 if you want to talk about Code like Carmack does or Music like Musicians do. It's a totally reasonable thought experiment for one side to claim "Well, a jury of non-musicians ruled the wrong way and called it derivative" to which I'd counter "Well, a jury of expert musicians would probably rule the same way because they understand the nuances even better than the average lay person." Again, these are hypothetical arguments with real-world consequences, but I don't think these cases can be easily ruled upon. There's always going to be some hard feelings at the end of it.


I believe the "non-literal copying" thing simply refers to the insight gained from the R&D time he spent on Occulus while still an employee of Zenimax. 90% of HN members know that this deep understanding is FAR, FAR, FAR more valuable than blindly copying over code.

It was this deep understanding that made Occulus valuable and it was seemingly funded on Zenimax's time and dime.


Perhaps it's not an issue, but it's not like Carmack learned stuff as an employee. He has been the principle architect of the graphics engine for every product he's worked on for the last 20 years. How do you take that out of your head when you change companies but stay in the same field?


About half the damages followed from infringement of ZeniMax's software copyrights. The other half came from the NDA breach.


"There are objective measures of code similarity that can be quoted, like the edit distance between abstract syntax trees, but here the expert hand identified the abstract steps that the code fragments were performing, made slides that nobody in the courtroom could actually read, filled with colored boxes outlining the purportedly analogous code in each case. In some cases, the abstractions he came up with were longer than the actual code they were supposed to be abstracting."

This is because of the abstraction filtration comparison test that courts use: https://en.wikipedia.org/wiki/Abstraction-Filtration-Compari...

I think it's garbage too, but such is life.

I don't think you can blame the expert for producing something that goes along with what the current law is.


Dave Beazley (Python expert and author of SWIG) was an expert witness and analyzed a huge body of code. This is his fascinating talk about his adventure:

https://www.youtube.com/watch?v=RZ4Sn-Y7AP8

So, what happens when you lock a Python programmer in a secret vault containing 1.5 TBytes of C++ source code and no internet connection? Find out as I describe how I used Python as a secret weapon of "discovery" in an epic legal battle.

Slides can be found at: https://speakerdeck.com/pycon2014 and https://github.com/PyCon/2014-slides


>* After he had said he was “Absolutely certain there was non-literal copying” in several cases, I just wanted to shout “You lie!”. By the end, after seven cases of “absolutely certain”, I was wondering if gangsters had kidnapped his grandchildren and were holding them for ransom.*

This seems to be a very common reaction when reasonable people are put through a lawsuit.


At least we can get few bits if information knowing the expert witness was old enough to have grandchildren.


Link doesn't work for me, I just get a popup telling me to sign up to Facebook, and when I close it the page is blank?

EDIT: Incognito mode fixed it. http://pastebin.com/KxAyvqyM


The relevant court decision seems not to be about the topics about which Carmack writes:

https://arstechnica.com/gaming/2017/02/oculus-execs-liable-f...

"While the jury found that Oculus had not misappropriated trade secrets from ZeniMax—a major part of the case—it determined that Oculus co-founder Palmer Luckey had violated a non-disclosure agreement with the company when working on early prototypes of the Rift VR headset"

"Oculus is liable for $300 million in the verdict ($50 million for trademark infringement, $50 million for copyright infringement, and $200 million for breaking the NDA), while Luckey owes $50 million and former Oculus CEO Brendan Iribe owes $150 million (both for false designation). Oculus CTO John Carmack, who previously worked for ZeniMax and was accused of stealing code and destroying evidence, is not personally liable for any damages. ZeniMax had sought damages of $6 billion in the case."


To be clear, I (like many of you) have poured countless hours into John Carmack's games, and stand in awe of his work. I also have considerably less capability than most HN users in programming, etc. So I may have a large pro-Carmack bias going into this...

Having said that, the concept of "non-literal copying" is, IMHO, nonsense. And dangerous. So I'll agree with Carmack on that much. And while I don't know (I don't think it's been revealed, although I haven't been following the case closely), it seems that Carmack had some hand in writing the original code, so of course the code will have similarities.

Also, the analogy of "Harry Potter with the names changed" is, from what I can tell, a pretty bad one for what actually happened.

In short, I think this is pretty much nonsense.

OTOH, Zenimax does have so evidence of wrongdoing on Carmack's part, so it's not like their case has no basis, and I am inclined to be biased toward Carmack. And there's always the possibly that I have no idea what I'm talking about and I'm just stark raving mad.


I learned long ago (at the beginning of my legal career) that a determined litigant can essentially cook up expert testimony on demand as needed to further some tendentious goal or other.

It is dressed up to be "scientific," "learned," etc. but, when objectively analyzed, it is in reality utter garbage. But, and this is a big "but," it is the sort of garbage that cannot be refuted conclusively owing either to uncertainty in the science involved or uncertainty in the facts and assumptions on which it is based.

By this, I don't mean there are experts who have integrity and who will not allow their good names and reputations to be cynically used for such purposes.

But, for every expert of such integrity, it is (sadly) pretty easy to find others who can be bought.

Don't know what happened in this case but I instinctively can sympathize with the author here that this is what might easily have happened.


Well, who was the expert witness?


I often wonder if John was involved with the story telling aspect of his games, not just the code.


I think it has a recurring theme that any time he got involved, things didn't go well so he decided to let go of it.

That's not to say he didn't have influence; many times the games' stories were derived FROM the tech, not the other way around. Doom was originally supposed to be much more story- and character-driven, but that took a backseat given the focus on the development side was on the gameplay mechanics.

Also, this quote:

> Story in a game is like a story in a porn movie. It's expected to be there, but it's not that important

From "Masters of Doom".


He was the Dungeon Master in their Dungeons & Dragons games. John Romero loved Carmack's campaign world, but John Romero destroyed it, Opening up a gateway to hell, and then immediately regretted it (but they got the idea for Doom from it), since it was a long running campaign in a world completely designed by John Carmack. I think Heretic/Hexen and Quake also borrowed heavily from their D&D games. Masters of Doom is an awesome book.


Good point. I forgot about that.


John Romero was largely responsible for the stories and designs of the old school iD games from back in the day. Carmack brought the tech brilliance to make it happen.


From 'Masters of Doom' - he used to make and DM D&D campaigns.


My father was an expert witness in electronic discovery cases for many years in the 90s and early 00s.

I remember so many stories growing up about similar situations. The main lesson was that it was actually way easier to be an expert witness when your side was totally in the wrong, because you could just make stuff up. Explaining the truth about how computers work is hard, compared to making up simpler explanations that don't happen to actually reflect reality.


Expert witnesses is kinda crazy in this country. One of the most famous cases had to be the father wrongfully executed because of it[0].

Law enforcement are also trained to talk about their years of experience and how they're an expert when giving testimony regardless of facts and juries love it.

[0] https://en.wikipedia.org/wiki/Cameron_Todd_Willingham


I think the last sentence is the meat of the post.

The biggest credential of some expert witnesses is the number of trials for which they have been an expert witness.

Put your testimony out there for the public and let other experts critique it. Stake your reputation and your career on it.


Does this mean if I write code that does X at company A, and then move to company B and am asked to write code that does X, I would be copyright infringing my own code I wrote at company A unless I purposely went out of my way to write it completly differently?

Because chances are I still remember how I did it, or even if I don't, chances are I'll come up with pretty much the same way, as it's inherent to my code style and thought process.

I guess it's something I'll be taking great care in doing if this ever happens to me.


Too many people read too much into "peers". These are your legal peers, not social or educational equivalents. These are fellow citizens. So long as they arent royals, elected officials or cops they are peers. (Lawyers can technically serve on juries but every court i know doesnt want them to do so, nor law students.) We live now in a society with fewer official class systems, or we at least now better separate legal classes, and so easily forget the original intention of such words.


I recently served on a jury in an assault and battery case. The defense offered a psychological defense and called a psychologist as an expert witness. The witness offered a few theories which were credible but not evidentiary. The prosecution, however, did not attempt to contradict the claims, and instead argued that the witness was too expensive and did not have much contact with the defendant.

It was a mistrial due to jury deadlock, as reasonable doubt was present.


John Carmack has a history of betraying employers (e.g. softdisk). Hard to take him seriously when the evidence is he said she said and the law decided against him.


Battle between experts trying to convince people from the street is very fragile system. Arguments start from the scratch every time.

The idea of making expert witness testimonies as part of ones academic record is great.

Scientific expert testimony literature should be cumulative in the same way as legal precedents are. Code copying is case that comes up again and again. There should be convergence towards scientifically justified ways for experts to determine copying.


I'm still surprised Facebook still has Facebook.com/somescript.php style links unless it's not as simple as it looks in the url. I know there's about 4 layers of loadbalance/cache and layers of that in data centers but any idea about the framework or code design?


It would be kind of bad to break something named "permalink", wouldn't it?


That's a great analogy that I'm surprised I haven't heard before.

If I write a book called Gary Potter, about a boy who finds out he's a wizard and goes on (specific) adventures with his friends Jon and Germione... I'd be in trouble.

But a book about someone wishing for a better life > finding out they secretly had great powers > struggle to gain control/mastery of the powers > must use the powers to save the world from evil... that's just a story framework and applies to Harry Potter, Star Wars, Hercules(the Disney version at least). There's variations in why they want the better life (abuse, boredom, etc), how they find out, and what the exact evil is. but if you abstract far enough, they're all basically the same story.

Using exact code and changing variables like "main_character_name" is clearly infringement, but using a similar abstracted flow shouldn't be. ESPECIALLY in code. If your end goal is to put pixels on a screen. you run algorithms to determine pixels > add those pixels to a buffer > send the buffer to the screen. There's not many other ways to do it. There's only so many ways to implement some things. And if a way is good, independently coming up with the solution isn't copying. In fact, if I came up with a different solution, it would be sub-optimal. For some problems, the abstracted flow of the code is defined for you. "We're doing VR, we want X, Y, Z to happen"... There's not a whole lot of options on how to do that.

If Oculus only figured out the flow-charts based on copying zenimax's prototype, then they perhaps are copying. And thats the argument zenimax is shooting for. "this is a non-trivial, non-obvious solution they only got by copying us".

But the next question is: at what level of abstraction am i just changing variables at a large scale? If I wrote a book about a young boy living with abusive relatives because his parents died and he finds out he's a wizard and moves away to a magical wizard school, does that count as copyright infringement? There's a point where it is, and a point where it isn't.

I can never find the source, but I once saw a 256x256 picture of yoshi, that immediately below it had a 128x128 version of the same picture (stretched to 256x256). Below that was 64x64, etc until the 1x1 was just a green pixel. Along the side it said "at what point does it stop being copyright infringement? If you started at the top (the high res), you could get pretty far down and still go "oh yeah, this is still the same image". but if you started at the bottom, you could get much higher and go "this is some weird abstract art of random pixels"


Should he be talking about this? Don't they still have a chance to appeal?


The goal of the expert is not to give a "truth", it's to convince the jury. That's a very different job.


Isn't the testimony already a matter of public record?


He mentions that it's not.

"... his expert testimony in trial is under seal, rather than in the public record."


All laws relating to Intellectual Property need to be abolished.


Loser's lament.


Carmack is a hero for me but he seems to come across as very naive here. I employ other people now and employees who argue this sort of stuff isn't copying are toxic to the culture and ethics of work. When you are paid a salary every month, I actually don't care if you are productive. But the least I expect you to be is loyal. And I am no monster for expecting that.


Loyalty in a free market is a pipe dream. Extremely few employers will stay loyal to their employees when times get rough, say when an employee gets very sick and can't work for several years. Thus no rational person should have any long term loyality to an employer if the market providers better alternatives.


This is a big reason why a US company might prefer immigrant workers. Local workers tend to treat their jobs more as transactions and less like a relationship with their employer. Immigrant workers come with built in motivation to stick to their employers and stay loyal.


You have unrealistic expectations for 2017, i think.

The loyalty you receive will be proportional to the loyalty you demonstrate. When I am paid a salary every month, my expectation is that I am being paid for services rendered, and that what I am paid is a fraction of the value I produced. There is no loyalty demonstrated there; it's just business.

As the company I work for now had in the past kicked me to the curb with only 3 days of notice and no severance whatsoever, I don't feel particularly loyal to them. But I'm still doing their work [again], and they are paying me salary for it [again]. I'm just a worker bee to them, and they're just a mealticket to me. It works out fine as long as I sleep with one eye open.

The instant I can secure a better deal for me, I will pack up my personal possessions and go. I won't take a few weeks to wrap things up in a neat little package. I'll just turn in my badges and walk out. I will stop caring about the company that used to pay my salary on the day I get my last paycheck from them. I know they never cared about me; they only ever cared about my work product.

In practice, in the real world, US employees won't be loyal, because US companies have in aggregate treated them like fungible resources, rather than people. The instant they are no longer profitable to keep, they are fired. So it isn't the employees that are polluting the workplace culture. The employers will eventually be hoist on their own collective petard, but it isn't as though the rest of us will come away clean from that disaster to bask in our schadenfreude, either.

It's nice that you think that temporarily supporting unproductive employees until things turn back around is good business practice, but you're sort of swimming against the tide. I started my career with a small measure of loyalty, but a series of disloyal acts has conditioned me to instead be strictly mercenary. You're no monster, but you shouldn't expect that other employers are anywhere near your level of cooperation with their employees.


It is amazing to me how loyalty is this unrealistic expectation in the US job market. I still believe paying a salary every month is a risk for any employer and I appreciate that. The abundance of opportunities in a free market is a poor reason for letting go of important things like loyalty, gratefulness.


I am not grateful to my grocer for stocking milk in the dairy case. They set the price, and I pay it if I want the milk. If the price is higher than I am willing to pay, I do not buy it. Loyalty does not enter into the equation. If it did, the grocer might offer me lower prices for shopping only at that store, or additional services not available to first-time or fickle customers.

Paying a salary is zero risk for an "at will" employee. You are paying for the work, or at least for the exclusive on-demand availability. Whether that can be monetized to a degree sufficient to pay the salary is entirely attributable to management's effort and skill. If at any time you feel that you do not have the skill or the will to make the employee's labor cashflow-positive, you can fire them.

In contrast, the employee taking on a salaried position with a new employer is a much greater risk. That often becomes their sole source of income, they may be foregoing other available opportunities to take it, and may also be relocating to an area that is less advantageous for them personally.

It is for these reasons that I believe the burden is upon the employer to make demonstrable shows of loyalty to their employees first, to prove that they are trustworthy employers. Instead, they are often the ones to betray even the low default levels of employee loyalty. These days, I hear about mass layoffs far more often than I hear about employee strikes or walkouts.

I agree that we should mourn deeply the passing of employer-employee loyalty, but it has been fading for quite a long time. If you are a loyal employer, you will eventually see more loyalty in your employees. In time, they will even enhance your reputation via word-of-mouth recommendations. But reputation is slow to build and easy to squander, and US employers have utterly destroyed any reputation they may have had for loyalty.

I am surprised that you are amazed, but that may only be because you have never worked "at will" jobs in markets away from hot-spots like SV and NYC. Even just by reading HN, you should have noticed that the endemic career advice to maximize your earnings is to change jobs every 2-4 years, and only spend a longer period at a single job if a lucrative vesting schedule demands it. Employers do not retain and retrain temporarily unproductive employees, nor do they make noticeable efforts to retain productive ones with bonuses and pay rises.


"The expert witness circuit is surely tempting for many academics, since a distinguished expert can get paid $600+ an hour to prepare a weighty report that supports a lawyer’s case. I don’t have any issue with that, but testifying in court as an expert should be as much a part of your permanent public record as the journal papers you publish. In many cases, the consequences are significant. There should be a danger to your reputation if you are imprudent."

So basically he's kind of threatening the expert witness now?


I don't see where you get that he's threatening the expert witness. He obviously thinks that the expert witness knowingly presented "evidence" that they should know is bogus and is intended to sway the layman jurors who don't know any better. He thinks there should be consequences for such behavior.


I think he is saying if someone skilled and knowledgeable in the area of the expert witness' testimony shines a light of truth on such testimony it must stand up to the scrutiny. If it does not then you are not being true to your knowledge and are being misleading on purpose to get paid. He argues all such testimony, good or bad, must be a part of your public record so we have that opportunity to examine your body of work. This seems reasonable when your work has the potential to deeply impact groups of individuals or the public.


If the "expert witness" is either lying (in court) or incompetent, shouldn't there be consequences to their professional reputation? Or do you think such things should be consequence-free?


There is already a consequence to lying as a witness, it's called perjury prosecution.

It's unfortunately infrequently pursued when the perjury occurs in a civil case, but if you want to agitate for consequences, agitate for prosecutors willing to enforce the law.

(Or for a civil cause of action for perjury, but that would have to be carefully crafted to prevent an infinite regress of lawsuits.)


That is John's point, though, that you don't have to lie. You can use non-scientific abstraction and obfuscation to testify any way you want. Sort of the post-modern interpretation theory where anything is true, as long as your truth is told more charismatically. This seems pretty obviously true to me.

It probably isn't even perjury. Even the law has some room for interpretation. That is the whole point of case history. Technology is so new and fluid that the legal system may never catch up to or well define the things a crafty obfuscator (expert witness or lawyer) can sling out.

Skilled practitioners in the area of science or engineering will immediately identify the obfuscation and unreality of it, but that does not make it perjury, which does have a much more specific and well defined case law meaning.


What are the actual requirements for a perjury conviction in the USA? Does the witness have to be intentionally lying? Presumably you don't prosecute someone for being mistaken, misguided or over-confident in their own abilities?

It doesn't sound like Carmack was accusing the witness of lying, but rather they they believed a bit too much in their own pet theory about how to detect copying in code.

I don't usually like to comment on trials, but I think perhaps he has a point here. If there were a reliable method for detecting 'non-literal copying' of code, then the person who made it should be making a killing by selling refactoring tools.


> There is already a consequence to lying as a witness, it's called perjury prosecution.

Except that this is an "expert witness", and not a regular witness. The expert witness offers his/her opinions.


A statement about one's own opinion can be materially false, and provably (in the sense the word applies in the legal system) so.

Certainly, an attorney can (and this is true of any witness, not just expert witness) coordinate with a witness on a line of questioning which carefully avoids any questions where perjury would be necessary to avoid damaging the case. That's why we have witnesses subject to examinstion by opposing counsel, as well.


Perjury is already a crime. What further consequences are warranted?


If no-one can call out the bad behavior, that consequence is blocked off. A seal on the testemony blocks review/scrutiny.


John makes a good point. Here, transparency appears to be in truth's best interest.


From the downvotes, sounds like I'm the only one who is shocked by this.


Could you explain why you think this is a threat aimed at the expert witness in this trial?

Any time someone publishes a work, they are putting their reputation at risk. If the work is bad, the whole world will know they did it. Carmack is saying he thinks this should be the case for reports and analyses given by expert witnesses.


You could say the same thing about anything people do in secret. Yet many people still want privacy.


> You could say the same thing about anything people do in secret.

I don't think that makes sense. There is no attempt to generalize this to things people do in secret. There is no claim that if something could risk your reputation then it follows that it should be made public.

Carmack's assertion is only that this particular work (for which the witness does voluntarily and is paid for) should be made public so that these witnesses use the same level of rigor they would for their other published work. And letting the public review it would have benefits too. (I am not agreeing or disagreeing with this.)

Ultimately, if we take Carmack's statements as true, it sounds to me like Facebook/Occulus' defense did not do an adequate job of instilling doubt in the report. He wrote that the defense did a technical tear down. I think if I was a juror, I would need to see this report completely destroyed. I'd need to see the same methodology applied to works where we know there was no copying and have it find false positives.


The assertion is based on the idea that this thing you did is a reflection on who you are, so people who interact with you have a right to know about it so they can judge you by it.

I agree that in this specific instance, it was the job of Oculus' legal team to discredit the report in front of the court. Publishing it after the fact for review by the public doesn't make sense, and calling for it is petty.


> Publishing it after the fact for review by > the public doesn't make sense, and calling for it is > petty.

Carmack isn't calling for it to be published. He only said he thinks the system should work that way.


|R|E|A|D|I|N|G|


He's only threatening them in the sense of peer review. If you publish dumb stuff, your reputation is hurt, but that doesn't make peer review shocking.


You are reading something into the statement that nobody else can see. That's why you are getting downvotes.


It doesn't sound like a threat to me. He's basically saying there should be reputation consequences for being a dishonest expert witness.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: