Earlier quoted context omitted.
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.
John Carmack on expert witnesses and 'non literal' copying
211–220 of 322 posts
Re: John Carmack on expert witnesses and 'non literal' copying
#212This 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 ot…
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.
Re: John Carmack on expert witnesses and 'non literal' copying
#213I 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…
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?
Re: John Carmack on expert witnesses and 'non literal' copying
#214Earlier quoted context omitted.
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.
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.
Re: John Carmack on expert witnesses and 'non literal' copying
#215Earlier quoted context omitted.
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".) I…
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 interoper…
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.
Re: John Carmack on expert witnesses and 'non literal' copying
#216The 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…
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!
Re: John Carmack on expert witnesses and 'non literal' copying
#217Having 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.
Re: John Carmack on expert witnesses and 'non literal' copying
#218Earlier quoted context omitted.
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 interoper…
> 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. Nob…
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?
Re: John Carmack on expert witnesses and 'non literal' copying
#219It'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…
> 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...