I can't encourage you enough to visit this article in today's Linux Journal. Ian Lance Taylor, a long-time free software programmer, flew to Utah at his own expense to see the infamous SCO proof code and met with Sontag and Stowell there. They showed him their presentation personally, including the 80 lines of code. His insights are very valuable. He writes, as I wrote the other day, that the key to this case isn't so much a small amount of identical code. It's what is the definition of derivative code? SCO told him their interpretation, which is very expansive, and he reacts thus:
"All programs run on Unix use a Unix API; do they therefore become derivative works? Presumably not. However, when writing a program that runs on Unix, I might look at Unix source code if I have access to it; does that make my program a derivative work? It seems, from SCO's comments, that it might claim this is so.
"I am not a lawyer. However, I hope the courts will not accept SCO's broad definition of derivative work. I think it would be dangerous for free software and for software development in general. Software thrives by extending work done by others. If adding a component to an existing piece of software means the component is owned by the owner of the existing software, then few people will add components. That would not be good for anybody.
"It's worth noting that if a court does accept such a broad notion of derivative work, it will weaken SCO's defense against the allegations that Linux code was copied into UnixWare. That would seem to put SCO on the horns of a dilemma; I don't know how it plans to resolve it."
Here is what Aberdeen Group's Bill Claybrook says is his understanding of SCO's definition, in his article on how companies can avoid legal problems with SCO:
"Derivative code, as defined by SCO, is extensions to the Unix kernel or code written to run in the System V kernel. The SCO-IBM lawsuit partly concerns derivative code. SCO claims that IBM[base ']s release of derivative code to Linux is a violation of its contract with SCO. IBM claims that it owns the derivative code and can do anything with it that it wants."
Here's why the definition is so important. If SCO's interpretation were to be accepted, it would mean that even trying to remove and rewrite the code would be useless. SCO would still claim it, if I have understood their argument:
"As noted above, it feels large chunks are derivative. It argued that even a full replacement would be in part based on the prior effort, and thus would itself be derivative, at least under the terms of the IBM contract.
"This may be a deep misunderstanding of the free software process. If Linux becomes encumbered to the point where commercial users must pay a fee, I expect that many independent developers will stop working on it. Linux development will slow down and may eventually stagnate. The people in charge at SCO may not understand that."
It's possible Ian is right, that SCO and the attorneys simply are a bull in a china shop, oblivious of their effect because they are what they are. However, information is powerful, and I hope they read what he wrote and think about it, because if they achieve their current aims, it will harm them too in the long run. It has already hurt them in the short run. It is not too late for them to tack and move in a better direction.
Here's another page I can recommend, Karsten Self's SCO page. There are some comments posted there that I will be commenting on as I can, particularly the Sun issue.
Meanwhile, if anyone reading this blog has any textbooks defining "derivative code", please email me the definition, with title of book, author(s), page number(s), and publisher. If you want to scan in the page instead of typing, that's fine. A court would be influenced in all likelihood by evidence that SCO's definition is way outside the definition normally accepted in the field.