Live data from Hacker News

John Carmack on expert witnesses and 'non literal' copying

facebook.com

211–220 of 322 posts

Re: John Carmack on expert witnesses and 'non literal' copying

#211

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.

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

Re: John Carmack on expert witnesses and 'non literal' copying

#212

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 ot…

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.

Re: John Carmack on expert witnesses and 'non literal' copying

#213

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…

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?

Re: John Carmack on expert witnesses and 'non literal' copying

#214
post #96

Earlier 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.

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

Re: John Carmack on expert witnesses and 'non literal' copying

#215

Earlier 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…

> 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.

Re: John Carmack on expert witnesses and 'non literal' copying

#216
post #29

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…

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!

Re: John Carmack on expert witnesses and 'non literal' copying

#217
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.

Re: John Carmack on expert witnesses and 'non literal' copying

#218

Earlier 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…

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?

Re: John Carmack on expert witnesses and 'non literal' copying

#219
post #162

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…

> 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...

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?
Post reply on HN