Slashdot Mirror


Claimed Proof That UNIX Code Was Copied Into Linux

walterbyrd writes "SCO's ex-CEO's brother, a lawyer named Kevin McBride, has finally revealed some of the UNIX code that SCO claimed was copied into Linux. Scroll down to the comments where it reads: 'SCO submitted a very material amount of literal copying from UNIX to Linux in the SCO v. IBM case. For example, see the following excerpts from SCO's evidence submission in Dec. 2005 in the SCO v. IBM case:' There are a number of links to PDF files containing UNIX code that SCO claimed was copied into Linux (until they lost the battle by losing ownership of UNIX)." Many of the snippets I looked at are pretty generic. Others, like this one (PDF), would require an extremely liberal view of the term "copy and paste."

18 of 578 comments (clear)

  1. More details and downladable archive by tomhudson · · Score: 5, Informative
    More details, and a downloadable archive here - because there's no telling how long those files will remain on McBride's blog,

    Also, we find out more about streams, and how SCOsource was bogus.

  2. Re:More details and downloadable archive by tomhudson · · Score: 5, Informative
    For those not logged in who don't see the download url in my sig

    "In a blog post dated July 10th, 2010, Kevin McBride has leaked almost 50 of the code comparisons that were submitted in evidence in SCO vs Novell. You can download the archive.

    Read on to view individual files if you don't want to download the whole thing.

    Linux STREAMS

    We also learned that the whole STREAMS fuss was not about linux, but about a product distributed by gcom, a provider of legacy solutions.

    Their Linux STREAMS (LiS) product provides a couple of loadable drivers that would intercept calls to the old streams api and convert them. In other words, far from the allegations that the linux kernel contained code that infringed streams, it's evident from the need of an add-on loadable module that the linux kernel does not contain any STREAMS code.

    Of particular note, and probably a source of much consternation to SCO and their proponents, is that LiS itself doesn't implement streams either, just does protocol translation. So neither linux nor LiS contains infringing code.

    The whole end-user $699 license was a scam

    In my view, contract violations by IBM would not result in liabilities by other Linux users.

    So according to Kevin McBride, one of the lawyers who worked on the case, there was no reason for end users to take out a license. It's logical to conclude that SCOsource was a protection scam. So what happened? To me, it looks like SCO lawyer-shopped until they found attorneys who were willing to go along with the scheme for a price - everyone has their price, and in this case, it was $30,000,000.00.

    The Appeal of SCO's loss to Novell - Novell will probably win.

    Will Novell win the current SCO appeal? Probably. Will Novell donate the UNIX copyrights to the Linux community if it wins the current appeal? Probably-although Novell's Linux activities have been difficult to predict in recent years.

    So it's pretty much as we suspected all along.

  3. Even if the Linux folks didn't, I did by wandazulu · · Score: 5, Funny

    I'm really sorry, but there was some code that was already written that was just too good to pass up for the project I was on:


    #include
    int main(int argc, char* argv[])
    {
            printf("Hello World!\n");
            return 0;
    }

    Now that I'm using Java, it won't happen again.

  4. libelf!?! by Dahamma · · Score: 5, Informative

    I actually find it ironic that libelf was picked as an example of infringement. I can tell you first hand that the (more standard) UNIX/Solaris libelf is NOT compatible with the Linux/libc libelf. And I can also tell you that after pointing this out to Ulrich Drepper he really didn't give a shit... (I think his approximate words were "It's been like that for a while, too late, I won't change it").

    Their only mistake was actually naming it "libelf"... since it is most definitely NOT the same library...

    1. Re:libelf!?! by olsmeister · · Score: 5, Funny

      And here I always thought that libelf was the version of the libel() function that returned a nicely formatted incorrect defamatory statement.

  5. Re:What's so liberal about it? by mewyn · · Score: 5, Informative

    It's a header file for a standardized interface. All this stuff needs to be the same for any *NIX-like operating system to be *NIX-like, otherwise, you're making an incompatible operating system. To make source-compatible operating systems you need to have common interfaces, and those interfaces lie in the header files. Saying that this is copyright infringement is like saying that they patented a hole in the wall as a way of getting in and out of a room.

  6. Re:What's so liberal about it? by Anonymous Coward · · Score: 5, Informative

    In case you are not trolling, virtually all of the allegedly copied code is boilerplate stuff defining types and structs or function interfaces. These have to be the same for Linux to be posix compatible. The little actual code there is, it isn't similar at all. Copyright can't keep you from writing a function that acts like another, that is for software patents, there should be actual copying and for such tiny functions it would be pretty hard to demonstrate (!s) was copied from (s==NULL).

    I still think the jury, knowing nothing about computers, would have ruled against Linux, but the claims were ridiculous.

  7. Disbarment? Jail time? by DrJimbo · · Score: 5, Informative

    This code was the last big unknown in this long sorry saga. Even if SCO owned the copyrights, (and hadn't distributed it under the GPL, and hadn't signed the UnitedLinux agreement, etc.) it is now crystal clear that SCO's Microsoft-funded anti-Linux campaign was based on a stack of frivolous law suits.

    I think Darl's brother is scrambling to cover his backside so that when the disbarments and criminal charges come down, he has a chance to escape.

    Groklaw (of course) has IBM's response to SCO's claims that these paltry examples are worth BILLIONS of dollars in copyright damages. None of the code they offered is protectable under copyright law. Some of it is BSD code that everyone is free to use however they want (if they include the copyright notice). A lot of it is header files that were not copy-and-pasted which are nearly impossible to protect under copyright law. Then they have some snippets of generic code. Given the size of the source code for Linux, it would be astounding if there weren't some similar snippets. The idea that this is proof that Linux violated any Unix copyrights is totally absurd. The idea that these generic snippets are what made Linux enterprise-ready is beyond insane.

    The recent SCO v. Novell case decided that SCO never even owned the copyrights it was suing about. And then instead of the millions of lines of code they claimed were infringing, they presented this meager collection of totally unprotectable snippets. I sure hope SCO's lawyers get severely punished for perpetrating this fraud on the court for the past seven years.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
  8. Re:More details and downloadable archive by bennomatic · · Score: 5, Funny

    I learned perl from someone who named all his variables with variations on "foo" and "bar". Back in those days, if I was writing something short and simple enough, it was hard for me to break the habit of naming things $foo, $bar, $boo, $far, $foofoo, etc. I'll bet a lot of our code looked like it was from the same person :)

    --
    The CB App. What's your 20?
  9. Re:Oh Good by Anonymous Coward · · Score: 5, Insightful

    Sorry, Jane. You are wrong. Not your fault, really, since you are just repeating what you've been told many times over the years. But it is wrong.

    Your appeal to socialist Russia as an example of why copyrights are needed is laughable. The Soviet system failed mainly for many reasons, but lack of copyright recognition wasn't one of them.

    The fact is that the idea that copyrights and patents are a benefit to society is based on no evidence at all. It is one of those ideas that were accepted for a long time without being examined in any detail. There are many examples of places and times where copyrights and patents did not exist and innovation there certainly was not harmed, and careful studies have found pretty good evidence that innovation was helped by their absence. The site techdirt.com discusses these issues regularly, frequently pointing to academic research in peer reviewed journals so you can check out the research yourself if you don't trust the reporting. But you don't have to depend only on research. There are examples today where industries thrive in the absence of copyrights or patents. One easy to understand example is the fashion business. No copyrights or patents. Lots of copying, yet good money is being made by many players. And there's certainly no lack innovation there.

    It certainly is true that eliminating copyrights and patents would be kind of disruptive, since some large businesses have come to depend on the artifical monopoly authorized by copyright and patents. But there is reason to believe that we would be better off now had they never been invented. Whether the disruption that would come from eliminating them is reason enough to keep them is questionable. I am pretty sure we would quickly adjust to their absence if they were abolished tomorrow, and be better off, on the whole. Of course, that is unlikely to happen because our government is bought and paid for by the businesses that depend on copyrights and patents, so we will have to suffer the burden of these government-granted monopolies for some considerable time to come.

  10. Unix kernel hacker and almost IP lawyer view by harlows_monkeys · · Score: 5, Interesting

    I spent several years as a Unix kernel hacker, working extensively with AT&T source code. I also went to law school and was one bad case of writer's block away from becoming a copyright lawyer. Thus I found those code snippets quite interesting, both from my Unix kernel hacker persepective and my almost-became-a-copyright-laywer perspective.

    My conclusion, from the half dozen or so of his samples that I looked at? They show nothing remotely resembling copyright violation.

    Copyright covers expression, not ideas. What that means when dealing with functional works, such as computer programs, is that things that anyone implementing that functionality will have to do are unlikely to be covered by copyright.

    All of the functions I saw that were allegedly copied were very simple functions. All they did was check arguments to make sure they were legal, return the expected error code if not, or return some very simply value otherwise.

    Even if the corresponding functions in Linux were exact matches to the SCO code, it would probably not be enough to support an inference of copying, because there just aren't a lot of ways to reasonably express such simple functions. And they were not exact matches. One would check for a null pointer by comparing to NULL, one would use if(!p), for instance.

    The header files are more similar, so copying is more believable there. The problem with SCO's case there is that the elements in the header files I looked at are entirely dictated by compatibility requirements. There's no copyrightable expression in them.

    To summarize, SCO's claims appear to fall into two groups. First, things where the implementation is so simple that it is not possible to infer copying from similarity since the similarity is imposed by the nature of the function. Second, things where there may have been copying--of things that aren't protected by copyright.

  11. Re:First post by JavaBear · · Score: 5, Funny

    Just don't forget to pay your SCO licensing fees you cock-smoking teabaggers!

    Okay. Now I'm really confused. What does Sarah Palin have to do with SCO???

    The approximate IQ of the management.

  12. Re:First post by Z00L00K · · Score: 5, Insightful

    Header files are public - but they seldom contains any advanced functionality. They are just a definition of the calls available, defined data types and constants.

    If the header files didn't contain the same (or very similar) definitions then the API wouldn't work. I expect the same header definitions to reappear in many other operating systems with minor differences - many even in Windows (Which do have a Posix API)

    But of course - a lawyer wouldn't understand that, it's just a question of money.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  13. Re:Shocking by mpe · · Score: 5, Insightful

    This was the first time I had a chance to see any of their "evidence". How exactly did this make it all the way to court?

    Especially given that "original" files appear to have been altered to contain comments to the effect that a USL copyright statement somehow proves that the information is "UNPUBLISHED PROPRIETARY SOURCE CODE" together with a meaningless statement about the existance of a copyright statement not implying publication.
    It looks as though they have "mailmerged" part of their claims into their supposed evidence. Shouldn't this have resulted in the judge throwing this out as null and void?

  14. Re:More details and downloadable archive by Anne+Thwacks · · Score: 5, Informative
    Because I, J, K, L, M, or variable names beginnning with them, are integers in Fortran. Otherwise variables are floating point, and floating point loop variables is a bad idea especially in Fortran.

    Foobar is a WW2 acronym for F*%&'d up beyond all recognition. (Typically referring to the military situation (See "The Longest Day").

    Now get off my lawn.

    --
    Sent from my ASR33 using ASCII
  15. Re:First post by joss · · Score: 5, Informative

    > The similarities in code flow, layout, variable names, filenames, etc. are conclusive.

    I did look at the code on the linked site and what I saw looked entirely like a clean room implementation to me. The similarities were superficial and much less impressive than similarities I have seen in code that I know was written independently (because I wrote it). Two programmers working on the same problem can easily come up with strikingly similar looking solutions which a non-programmer (or an inexperienced programmer) would never believe was independent. I was astounded at how pathetic the supposed similarities were.

    --
    http://rareformnewmedia.com/
  16. Re:More details and downloadable archive by Rogerborg · · Score: 5, Funny

    Trying to imply that this is some nonsense that should be dismissed just because you like Linux is like playing down and ridiculing the evidence of the murder of Hans Reiser's wife because you like ReiserFS. It's even sillier in some ways because Linux isn't at stake in the case like ReiserFS was. (An extreme analogy I know, but valid).

    That's the kind of analogy that Hitler would have made.

    --
    If you were blocking sigs, you wouldn't have to read this.
  17. Re:First post by Anonymous Coward · · Score: 5, Interesting

    And the idea that this key book to early '80s PC tech (still worryingly relevant today!) was somehow missing from all the bookshelves reachable by the Compaq BIOS writing department is just silly.

    You don't know what you're talking about. I was there at the time: Compaq had administrative staff remove the BIOS listings from all IBM tech ref manuals before they were given to the engineers. (This was especially easy to do because they came in the form of ring binders.)

    At one point, since I didn't work on writing BIOS code, I was assigned to be the one designated guy who could disassemble the IBM BIOS for a certain model. When the BIOS developers got stumped by a compatibility problem, they could send me a question, and I was allowed to poke around in the IBM ROM and then give a "Magic 8 Ball" type vague answer.

    Here's a bit of trivia: A few PC applications wouldn't work unless the ID string "IBM" appeared at a certain address within the BIOS code. Compaq developers worked out a way to make those bytes at that address appear in part of an actual executable code sequence instead.