Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Claimed Proof That UNIX Code Was Copied Into Linux

kdawson posted more than 4 years ago | from the copied-by-a-spider-on-lsd dept.

Caldera 578

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

Sorry! There are no comments related to the filter you selected.

First post (-1, Troll)

Anonymous Coward | more than 4 years ago | (#32870812)

Copy and paste is how all open source developers "create" code isn't it? Stealing from hard working commercial developers

Re:First post (3, Insightful)

Anonymous Coward | more than 4 years ago | (#32870848)

Yeah, because open-source developers can just see and copy the proprietary closed-source code - oh wait...

Re:First post (-1, Troll)

Anonymous Coward | more than 4 years ago | (#32870866)

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

Re:First post (2, Funny)

SpongeBob Hitler (1848328) | more than 4 years ago | (#32871140)

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

Re:First post (1)

glavenoid (636808) | more than 4 years ago | (#32870856)

Let this shit die already. SCO has nothing.

More details and downladable archive (5, Informative)

tomhudson (43916) | more than 4 years ago | (#32870814)

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.

Re:More details and downloadable archive (5, Informative)

tomhudson (43916) | more than 4 years ago | (#32870850)

For those not logged in who don't see the download url in my sig [slushdot.com]

"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. [slushdot.com]

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.

Re:More details and downloadable archive (-1, Flamebait)

Anonymous Coward | more than 4 years ago | (#32870982)

Knowing Tom Hudson's trolling history (trolltalk.com anyone?) that URL will soon be replaced with goatse or something similar after he gets modded up to 5. Stick it on a reliable server if you want modpoints.

Re:More details and downloadable archive (2, Informative)

tomhudson (43916) | more than 4 years ago | (#32871118)

I've never done that (replaced a url with another) in my life - nice try. Next time, try to be at least a bit more credible by not posting as a lying A.C.

Re:More details and downloadable archive (3, Insightful)

Runaway1956 (1322357) | more than 4 years ago | (#32871126)

Ho-hum.

I'm not a coder. I couldn't create a kernel if my life depended on it. I couldn't code a hungry cat to catch a mouse. 1/2 or more of what I read in code is gibberish to me.

But, one thing is pretty sure. Linus Torvalds wrote Linux, and his programming background came directly from Unix. OF COURSE he is going to write the same commands he has used a thousand times in the same way. OF COURSE there are going to be lines that look very much the same, sometimes even identical.

Now, open any dozen books that are 50,000 words in length. Search for strings that are duplicated between the books. Entire sentences, or phrases, it hardly matters. Just do the search. Anyone who is used to playing with databases can probably search those dozen books, and find numerous instances of phrases that were copy/pasted from one author's book to another. In fact, I'll bet that technical and factual books will have a higher incidence of matching phrases and sentences than works of fiction - but fiction will have it's share as well.

And, before we do this data base mining, we need to set up some method of assigning a variable string for proper names. In the wife's romance novels, we would be looking for " $ kissed $ ". It will be repeated so often that you can't help seeing the plegiarism. One author after another rips it from his predecessors.

50 instances are claimed for "copying". Out of how many lines of code? Good grief. I guess it should have been mandatory that Linus write any code not only in a different programming language, but in a different language than English. Then, he MIGHT have been safe. Maybe. Not likely though, because SCO can probably read Chinese, or hire some scumbag lawyer who can.

Re:More details and downloadable archive (4, Interesting)

tomhudson (43916) | more than 4 years ago | (#32871318)

I've seen cases where me and another person are working on code independently, and when it came time to merge, we had both ended up creating the same variable names, and pretty much the same code.

About the only difference was in indentation - mine is "always put the opening brace on the same line, one true tab, else in same column as if, no braces for any single-line condition to a control structure (for, if, else, while, etc)". Even the comments were pretty much the same.

In this case, though, some of the code is from BSD - which is perfectly fine.

variable names and data structures. (4, Interesting)

goombah99 (560566) | more than 4 years ago | (#32871028)

Comparing a variable named elf_t_arname to one names elf_c_arname is not very convincing. The suffix is generic, the prefix is activity specific, and the middle letter is presumably some datatype indicator.
Where it gets dicey is when there are structs and every variable in the struct has a somewhat similarly named variable in the other one. This does arouse suspicion. even if you forget the variable names for a moment, any pattern like bool,real,real, *real, int, *char,*char,*bool,.... that is identical between two structs would be an improbable occurence. and when you see it in back to back structs it becomes nearly impossible to happen by chance.

  The key question then is if there is some structural reason why the two might share an identical stuct? for example, is there an elf spec that defines a protocol for communication or the way a record on disk is serialized (i.e. packed)? if so then of course these will occur like this. Or perhaps both are derived from a common BSD ancestor so both vary only slightly.

if the answer is no, there was no reference implementation and no ancestor then I'd say that for examples like 251, Mcbride has some evidence.

However for most of the ones he cites there is no there, there.

oops I meant 331 not 251 (1)

goombah99 (560566) | more than 4 years ago | (#32871056)

oops I meant document 331 not 251. (251 is an example of McBride seeing things). 331 is much more interesting.

Re:oops I meant 331 not 251 (4, Informative)

tomhudson (43916) | more than 4 years ago | (#32871188)

re 331: It's from BSD [gsp.com]

Man Pages
Manual Reference Pages - ELF (5)

NAME
elf - format of ELF executable binary files CONTENTS

Synopsis
Description
See Also
History
Authors

SYNOPSIS

.In elf.h

DESCRIPTION

The header file
.In elf.h defines the format of ELF executable binary files. Amongst these files are normal executable files, relocatable object files, core files and shared libraries.

An executable file using the ELF file format consists of an ELF header, followed by a program header table or a section header table, or both. The ELF header is always at offset zero of the file. The program header table and the section header table's offset in the file are defined in the ELF header. The two tables describe the rest of the particularities of the file.

Applications which wish to process ELF binary files for their native architecture only should include .In elf.h in their source code. These applications should need to refer to all the types and structures by their generic names "Elf_xxx" and to the macros by "ELF_xxx". Applications written this way can be compiled on any architecture, regardless whether the host is 32-bit or 64-bit.

Should an application need to process ELF files of an unknown architecture then the application needs to include both .In sys/elf32.h and .In sys/elf64.h instead of .In elf.h . Furthermore, all types and structures need to be identified by either "Elf32_xxx" or "Elf64_xxx". The macros need to be identified by "ELF32_xxx" or "ELF64_xxx".

Whatever the system's architecture is, it will always include .In sys/elf_common.h as well as .In sys/elf_generic.h .

These header files describe the above mentioned headers as C structures and also include structures for dynamic sections, relocation sections and symbol tables.

...

[snippage]

...

HISTORY

The ELF header files made their appearance in Fx 2.2.6 . ELF in itself first appeared in AT&T V . The ELF format is an adopted standard.

This is the problem with SCO's case - OldSCO/Caldera only could have gotten what Novell originally had to give, if Novell HAD assigned copyrights to OldSCO. A lot of the stuff was from BSD.

Re:variable names and data structures. (1, Insightful)

Anonymous Coward | more than 4 years ago | (#32871080)

IIRC, ELF was a SCO standard for x86 *nix interoperability so quite possibly

What's so liberal about it? (-1)

Anonymous Coward | more than 4 years ago | (#32870820)

Looks like the 5 page pdf (last link) is just a slightly rearranged with comments peppered in. This is pretty obviously identical code to me?

Re:What's so liberal about it? (1, Informative)

Anonymous Coward | more than 4 years ago | (#32870934)

Not if you go through the details. Look at the ElfData structure, for example. Also the fact that it is a header file.

Re:What's so liberal about it? (0)

Anonymous Coward | more than 4 years ago | (#32871218)

...also the fact that it is a header file.

<sarcasm>I'm relieved that header files arent' considered code. This is one more thing I don't have to pay programmers for!</sarcasm>

Re:What's so liberal about it? (4, Informative)

tsalmark (1265778) | more than 4 years ago | (#32870940)

You're not a programmer are you. The header files are pretty much just a bunch of definitions. there is no programming to speak of in either of those files. From reading the Posix standards you will end up with the same code but with your own comments. The header files are a lot like the ingredients section of a recipe. So it's like looking at two recipes for omelets then complaining that both have eggs listed in the ingredients section.

Re:What's so liberal about it? (0, Insightful)

Anonymous Coward | more than 4 years ago | (#32871006)

(same AC) Actually, I've been programming for just over twenty years. I think a better analogy is why two recipes for omelets call for eastern Australian ostriche eggs. Please explain to me why the enum LABELS are exactly the same. The replies that this source is something from a POSIX/ANSI/ISO specification, rather than just merely personally attacking me, were a bit more helpful.

Re:What's so liberal about it? (-1, Troll)

Anonymous Coward | more than 4 years ago | (#32871026)

Attacking AC post is a fair game, stupid AC.

Re:What's so liberal about it? (2, Interesting)

bky1701 (979071) | more than 4 years ago | (#32871072)

Well lets see.

"ELF_C_..." - each of these is the name of a type in C. I don't see how this is even a bit creative. I had a very similar enum in a program I wrote, except with data types from a 3D engine. My guess is that ELF_C means it would be the ELF binary format's C data type. Nothing to see here.

"ELF_K/ELF_T" - It says in the open source one that these are descriptors as well. More or less the same; universal concepts if you're going to be programming a C compiler. I bet you can find an enum just like this in visual C++.

Hmm... beyond the headings, that's really all that is in that file. If you really have been a programmer for 20 years, you have without question violated thousands of copyrights... if that file does.

Re:What's so liberal about it? (4, Informative)

SpazmodeusG (1334705) | more than 4 years ago | (#32871194)

It's not even that. It's plain old rewriting a library to remain compatible.
Here's an example of some end-user programs that use those very enumerations. The ELF_Type enumeration is used on page 37 in an end user application and ELF_T_WORD value is assigned to it on page 45.
http://elftoolchain.sourceforge.net/for-review/libelf-by-example-20100112.pdf [sourceforge.net]

There's no coincidence involved. If you write applications that use the ELF_Type enumeration and you decided to write a new elf library to support that app you'd end up having the same enumeration names to maintain compatibility.

Copyright allows you to recreate something that's compatible as long as it isn't copied directly.

Re:What's so liberal about it? (2, Informative)

tofubeer (1746800) | more than 4 years ago | (#32871388)

Ell given that everything in a header file is public if you want source compatibility they have to have the same names.

I, admittedly, didn't read 100% of all of the links, but the slightly more then skimming I did do did not show me anything that was the same that couldn't have been for achieving source compatibility.

It would be like complaining that glibc defines EXIT_SUCCESS...

Re:What's so liberal about it? (5, Informative)

mewyn (663989) | more than 4 years ago | (#32870948)

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.

Re:What's so liberal about it? (1)

lordmetroid (708723) | more than 4 years ago | (#32871000)

I am going to patent that solution and be soo rich, just you wait!

Re:What's so liberal about it? (1)

aliquis (678370) | more than 4 years ago | (#32871046)

All I see is SCO clearly copied Linux! ;D

Re:What's so liberal about it? (1)

qortra (591818) | more than 4 years ago | (#32870958)

Obviously, is isn't identical now, though it is possible that the Red Hat copy (right side) started out as the UNIX copy (left side). Clearly, the Red Hat version has additional features (additional translation types, c++ defines, function prototypes, commenting, etc). Then again, maybe they were both implementing from some shared prototypical document.

Re:What's so liberal about it? (5, Informative)

Anonymous Coward | more than 4 years ago | (#32870960)

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.

Re:What's so liberal about it? (2, Interesting)

Anonymous Coward | more than 4 years ago | (#32871096)

(same AC) Again, 20 years programming experience, no experience with some, apparently very important for *NIX, POSIX IEE document. If this is a published standard, obviously they'll be similar. I just didn't understand why every function definition from line 138 to 176 is copied verbatim. With the same cryptic series of letters which obviously imply meaning (strptr, newscn, getshdr, getphdr, newehdr, elf_flagelf, elf32_faize) are VERBATIM. I think a more effective summary would have been to link to the public domain specification with these exact terms mentioned in the document so we could all laugh at how their only evidence is a public spec-based implementation.

Instead I see a long list of identical function names, enum types, enum labels, and identically named structure fields. When I google the relationship between POSIX ELF I don't exactly get any hints , for something that's supposed to be (I'm assuming its relating to http://en.wikipedia.org/wiki/Executable_and_Linkable_Format)

How much touching up, commenting, refactoring, general massaging is necessary for it to become "unique" code? I think if you got a jury that wasn't as studied as me, you're right, Linux would have been screwed without a little more explanation..

Re:What's so liberal about it? (4, Insightful)

marcansoft (727665) | more than 4 years ago | (#32871236)

No one cares whether it's a public spec or not (it may be, I do not know). It's a OS header file. The functions have to be named the same way in order for end-user programs to be source-compatible. If you've been programming for 20 years, this shouldn't be too hard to grasp.

If SCO were allowed to claim copyright over this, then it would be simply impossible for Linux to provide a compatible libelf. This means you'd essentially prevent anyone from ever making compatible OS libraries, as they'd be infringing on the original author's copyright. That would be ridiculous. Public function names and prototypes (documented or not, standardized or not) are not considered copyrightable.

Another example: is Wine, according to you, a humongous violation of Microsoft's copyrights? After all, it implements the Windows API with identical function names and prototypes, undocumented features and all (which is nowhere near a published standard of any sort).

Re:What's so liberal about it? (3, Insightful)

Anonymous Coward | more than 4 years ago | (#32871360)

Interface names needed for interoperability are fair game. Interfaces once published are public domain. The specific document is not.

Software is copyrightable but it is not a work of fiction where more protection is given. Writing a book on physics protects the specific wording in that book but it doesn't keep others from using the word "relativity" with the same meaning or your specific name for the speed of light -c- to explain the same exact phenomenon your original book described.

Guess what? Wine contains a function named MessageBoxW and I can't remember the parameter types, but I assure you they are the same as in Windows source. That Microsoft hasn't done anything about it, should tell you how much legal standing a suit on struct member names or function behavior would have.

Re:What's so liberal about it? (2, Informative)

Anonymous Coward | more than 4 years ago | (#32870972)

If that's the one I'm looking at it's a header file for handling ELF executables.
All that's in there are the names, arguments and return types of ELF functions, and constants used.

All the names, values and return types of those functions are defined in the ELF standard, as are the constants. Of course they're going to be the same, they HAVE to be, and the ELF standard wasn't a proprietary Unix thing.

Note that the actual implementation of these functions is not in question, because it's not the same code

Re:What's so liberal about it? (4, Interesting)

marcansoft (727665) | more than 4 years ago | (#32870984)

Of course it looks rearranged. It's a header file. Some of the ELF constants come straight from the ELF spec. The #ifndef stuff is bog standard code, there are a finite number of ways of writing that and the one presented happens to be the most common. The #include is another "duh" - of course you have to #include the right header, that doesn't mean it's copied. The header file is presumably deliberately compatible with the original, hence the function definitions are prototype-compatible (while being considerably different in style).

There is nothing indicative of code copying in that PDF. The Linux header is just about as different as it can be while remaining source-compatible, as it should be.

Re:What's so liberal about it? (3, Interesting)

Jahava (946858) | more than 4 years ago | (#32871392)

Of course it looks rearranged. It's a header file. Some of the ELF constants come straight from the ELF spec. The #ifndef stuff is bog standard code, there are a finite number of ways of writing that and the one presented happens to be the most common. The #include is another "duh" - of course you have to #include the right header, that doesn't mean it's copied. The header file is presumably deliberately compatible with the original, hence the function definitions are prototype-compatible (while being considerably different in style).

There is nothing indicative of code copying in that PDF. The Linux header is just about as different as it can be while remaining source-compatible, as it should be.

Commenting further on that, here is a link to the System V Reference Specs [freestandards.org] , one of which is the ELF Tool Interface Standard Specification [freestandards.org] . This contains not only several constants, structures, and function names, but suggests function prototypes and programming style.

Like you said, any author wishing to build an ELF-capable system would almost have to have that exact same code. There are only so many ways to build an enum or struct following the exact TIS specifications, and there is no virtue in paraphrasing C code.

Much of the rest of the code is libc and POSIX prototypes (and more headers), all of which are covered in the System V ABI [freestandards.org] specification. Anybody wishing to build a POSIX [wikipedia.org] -compatible system would have to define those prototypes.

Several of the function implementations with similarities are very basic functions. Most of the similarities are in the constant names (rather than the specific implementation of those simple functions), and the constant names are defined by ... the TIS spec. The remainder is a no-brainer. See, for example, Tab 422 [mcbride-law.com] . This is a simple accessor method. There are only so many ways to retrieve a value from a structure...

It's only a header file (4, Informative)

DrJimbo (594231) | more than 4 years ago | (#32870992)

From Sega v. Accolade [digital-law-online.info] :

Computer programs pose unique problems for the application of the "idea/expression distinction" that determines the extent of copyright protection. To the extent that there are many possible ways of accomplishing a given task or fulfilling a particular market demand, the programmer's choice of program structure and design may be highly creative and idiosyncratic. However, computer programs are, in essence, utilitarian articles -- articles that accomplish tasks. As such, they contain many logical, structural, and visual display elements that are dictated by external factors such as compatibility requirements and industry demands... In some circumstances, even the exact set of commands used by the programmer is deemed functional rather than creative for the purposes of copyright. When specific instructions, even though previously copyrighted, are the only and essential means of accomplishing a given task, their later use by another will not amount to infringement.

It is nearly impossible to win a copyright suit over a header file. The only chance you would have would be if it was a straight copy-and-paste which this was clearly not. The reason for this is that there is just not much room for creative expression in header files. Likewise, you can't copyright a word or a short sentence.

There are a very limited number of ways to declare functions. If someone was allowed to copyright certain function declarations then they would have control over a large segment of the software industry. Likewise, if someone was allowed to copyright particular words, they would have control over a segment of the publishing industry.

Re:It's only a header file (2, Interesting)

GigaplexNZ (1233886) | more than 4 years ago | (#32871210)

Likewise, if someone was allowed to copyright particular words, they would have control over a segment of the publishing industry.

If the RIAA can claim copyright infringement because someone sung a copyrighted song in public, one could claim copyright infringement if those copyrighted words were spoken in public. You'd have control over a lot more than just the publishing industry.

Re:It's only a header file (2, Insightful)

postbigbang (761081) | more than 4 years ago | (#32871220)

To drive that point home, take a look at BSD kernel source code, libs, headers, etc etc.

There was this litigation, long ago, University of California Regents, if I recall.... and it caused this schism.... and more free code than had probably ever been produced with C before Torvalds and RMS came along.

Re:What's so liberal about it? (4, Insightful)

Nikker (749551) | more than 4 years ago | (#32870994)

Nah it's a joke. The only thing highlighted were the function / subroutine definitions and not even across the board. Just because 2 programs have hooks or functions called "ReadX" does not mean there was any copying involved. They even highlighted include statements and data structures. It's almost like suing an author for starting with "Once upon a time". I guess they just figured no judge would be able to clue in on this kind of stuff and they would be able to sift through junk like this for decades. Hell they could use the same reasoning against pretty much any software and win if that is all the proof he needed. I guess Unix was truly the precursor to all the code ever written so Novell can truly say "all your base are belong to us".

Re:What's so liberal about it? (4, Informative)

SpazmodeusG (1334705) | more than 4 years ago | (#32871004)

No, read the POSIX interface standard (or in this case specifically the ELF executable standard).
You have to give your functions certain names to be compliant to the specification. The code shown is interface code, the implementation is somewhere else. Interface code simply names the functions, parameters and variables. As the functions must have certain names and parameters to fit the standard you will get the exact same line that declares a function. Any C programmer could recreate that same block of code with just a list of functions names and parameters that must be declared.

eg. If you have to have a global function called elf_version with return of unsigned int and parameter of the version you'll get the line
extern unsigned in elf_version( unsigned int __version );

We see that same line of code in both files as they both implement the same specification. I'm sure there's a ton of other UNIXes out there that have the same line of code.

Re:What's so liberal about it? (1, Funny)

Anonymous Coward | more than 4 years ago | (#32871350)

I'm sure there's a ton of other UNIXes out there that have the same line of code.

And they all infringe our copyrights!

- SCO

Re:What's so liberal about it? (1, Funny)

Anonymous Coward | more than 4 years ago | (#32871092)

Slightly rearranged? That much rearrangement (plus adding comments and making sure it all still worked properly) would have taken more effort than just writing the damn thing from scratch!

Incoming incessant sopssa trolling! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#32870824)

Sopssa is a fucking worthless troll. Remember it moderators!

Peace out!

Shocking (4, Funny)

Kenoli (934612) | more than 4 years ago | (#32870826)

How dare they copy/paste those blank lines!

Re:Shocking (2, Funny)

bsDaemon (87307) | more than 4 years ago | (#32870858)

between that and pre-processor #include directives from the standard C library and POSIX stuff, well... damn. How could any judge have failed to see this!? /sarcasm

Re:Shocking (1)

JWSmythe (446288) | more than 4 years ago | (#32870950)

    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? Oh ya, some greedy patent trolls. Well, now my lack of interest is complete, I can go on being bored with this topic.

finally (0)

Anonymous Coward | more than 4 years ago | (#32870830)

So finally they revealed the lines with the comments "copied" into Linux....
Like: //check this later...

Re:finally (1)

blai (1380673) | more than 4 years ago | (#32870894)

// someone get rid of this goto after I get fired...

Cheat Detection (0)

Anonymous Coward | more than 4 years ago | (#32870854)

I'm a bit curious what the result would be if you fed both into one of the cheat detectors a lot of college's and universities use to detect plagiarism. If anyone has access to one they should give it a go, for science.

Re:Cheat Detection (2, Interesting)

Darkness404 (1287218) | more than 4 years ago | (#32870886)

The difference is that there are only a handful of solutions for the same problem when it comes to computer code and still make sense.

On the other hand there are tons of ways of conveying a simple fact in English, consider the statement that "George Washington was the first president of the US" the same statement might read that The first president of the US was George Washington. George Washington was elected as the first president of the US. The first president in office in the US was George Washington. And so on.

Re:Cheat Detection (1, Informative)

Anonymous Coward | more than 4 years ago | (#32871034)

I'm not sure if you are aware of this but there are cheat detectors for code. At my university they would run all assignments through to check for cheaters. Once you go beyond trivial programs you can detect if someone copied and just renamed variables and moved code blocks around.

Re:Cheat Detection (1)

Darkness404 (1287218) | more than 4 years ago | (#32871054)

But according to TFA, its all header files which are trivial pieces of code which are standardized more or less.

Re:Cheat Detection (0)

Anonymous Coward | more than 4 years ago | (#32871166)

Uh, no it isn't there are both .c and .h files there see:

http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-333.pdf
"strptr.c - implementation of the elf_strptr(3) function."

There are others as well I don't really feel like searching through that many .pdf's.

Re:Cheat Detection (1)

marcansoft (727665) | more than 4 years ago | (#32871290)

Nothing in that linked PDF is copied. The two sides are implementations of a function. The highlighted code is not copied verbatim, it just happens to perform the same task in slightly different ways. Of course some parts of the function are going to do the same thing - after all, the function has to work the same way. So both sides check the argument for NULL (as if that weren't an obvious sanity check) and then proceed to piggyback on the obvious standard (public) functions to do their job. That's like saying I'm infringing on some libc's copyright for implementing strcpy(char *dest, const char *src) as char *p = dest; while(*p++ = *src++); return dest;.

If you want an example of ripped off code, I suggest looking up libogc (the most popular Nintendo Wii homebrew lib). Lots of that has been reverse engineered and manually decompiled from Nintendo's SDK. There you can see how complicated functions follow the same exact code paths, and how the internal architecture of drivers is identical even down to structure layout at times. That is an example of copyright infringement. Not this, this is just writing compatible code in the obvious way.

Re:Cheat Detection (2, Interesting)

Chibi Merrow (226057) | more than 4 years ago | (#32871324)

Now I'm not a system programmer, so I may be completely off base, but that looks like a system call for supporting ELF binaries. Meaning it's an implementation of a public standard. Meaning there's a very limited number of correct ways of doing this. Possibly only one correct way of doing this.
Every file I've randomly selected has been like this; either references to the ELF format (which is a public standard), or ABI type stuff (which is also a public standard). That's what was rumored to be SCO's "copying evidence" like six or so years ago... And now we've found out it's the truth.

They are either insane or they are "dumb like a fox," because anyone who knows anything about UNIX system development could tell you that this isn't stuff you could sue over.

Re:Cheat Detection (1)

lordmetroid (708723) | more than 4 years ago | (#32871068)

Though George Washington was the first president under the Constitution of these United Stated of America. George Washington was not the first president of these United States. Peyton Randolph was the first president of the United States under the Article of Confederation.

Re:Cheat Detection (0, Offtopic)

Darkness404 (1287218) | more than 4 years ago | (#32871084)

Actually he was President of the Continental Congress which bears little resemblance to the powers later conferred to those elected president of the USA. About the only thing they could really do was preside over meetings, in fact Henry Laurens resigned being the president of the continental congress because he lost basically all influence in debates and couldn't do anything.

Re:Cheat Detection (1)

M. Baranczak (726671) | more than 4 years ago | (#32871352)

You misspelled "Adam Weishaupt".

comments added... (2, Interesting)

nacks1 (60717) | more than 4 years ago | (#32870860)

I find it rather funny that the Linux code is well commented but the SVR4 code has little to no comments at all. Just because the function names are the same doesn't mean it was copied. It just means that the coders implemented functions with the same names (and I bet that the Linux versions worked rather differently than the original SVR4 code).

Re:comments added... (2, Insightful)

Jane Q. Public (1010737) | more than 4 years ago | (#32871240)

I agree. As a programmer myself, I saw significant differences between the two sets of code in each example that SCO claimed was "evidence". I would have to look at more of the examples, but from what I saw, if I were the judge, I'd tell SCO to stop wasting everybody's time.

Even if the Linux folks didn't, I did (5, Funny)

wandazulu (265281) | more than 4 years ago | (#32870868)

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.

Re:Even if the Linux folks didn't, I did (3, Funny)

mysidia (191772) | more than 4 years ago | (#32870976)

Are you sure it hasn't already happened again?

// hello.java
/** This application greets the world.
  *
  * @Deprecated Earth has been destroyed by global warming, this is superceded by the goodbye  class
  */
@Deprecated public class hello
{
        public static void main(String args[])
        {
           System.out.println("Hello World!");
        }
}

Re:Even if the Linux folks didn't, I did (1, Funny)

Anonymous Coward | more than 4 years ago | (#32871002)

That won't compile. Include what?

Is that the real Kevin McBride!?! (0)

Anonymous Coward | more than 4 years ago | (#32870882)

Seriously, is that him? Or some troll? It seems bizarre that he would make public comments like that.

Also, remember that a lot of the code was declared "Public Domain" many decades ago, because of pre-1968 copyright registration errors.

Re:Is that the real Kevin McBride!?! (0)

Anonymous Coward | more than 4 years ago | (#32871250)

Seriously, is that him? Or some troll? It seems bizarre that he would make public comments like that.

Bear in mind that stupid runs in the McBride family. It is in their blood.

Re:Is that the real Kevin McBride!?! (1)

colinrichardday (768814) | more than 4 years ago | (#32871328)

How would UNIX be affected by pre-1968 errors?

SCO! (3, Funny)

Anonymous Coward | more than 4 years ago | (#32870918)

Die, Monster, Die!

Re:SCO! (3, Insightful)

lostmongoose (1094523) | more than 4 years ago | (#32871052)

How do you kill that which is already dead?

Re:SCO! (2, Insightful)

MightyMartian (840721) | more than 4 years ago | (#32871114)

I think it's about time for someone to bring up the Dead Parrot Sketch. It seems to suit this situation perfectly.

now that's unfair... (0)

Anonymous Coward | more than 4 years ago | (#32871270)

The Dead Parrot Sketch was presented by talented people, and it was funny. This is more like listening to Rod Stewart.

Lies and propaganda (1)

xmorg (718633) | more than 4 years ago | (#32870924)

Just because you have a PDF doesnt mean anything. If you have 2 declarations that basically do the same thing on two systems, and two different programmers just happen to be using the same "case" (ieCamel,Caps, lower, first letter etc) --- what are the chances that they will name them the same thing? my RPG struct Attributes { int str; int intel; int agi; }; so how many rpg's out there use strength agility and intelligence stats?

libelf!?! (5, Informative)

Dahamma (304068) | more than 4 years ago | (#32870926)

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

Re:libelf!?! (5, Funny)

olsmeister (1488789) | more than 4 years ago | (#32870990)

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

Re:libelf!?! (0)

Anonymous Coward | more than 4 years ago | (#32871262)

It's a library that lets you modify ELF files. What else where they going to call it?

clutching at red straws on pdfs (2, Insightful)

euphemistic (1850880) | more than 4 years ago | (#32870996)

I went and looked through a handful of the pdfs, most of what he's claiming are just variable declarations with intuitive naming (as they well should be). Really? What's next, someone claiming copyright infringement based on using the letter i as a temporary variable? Thank god for copyright law, or else people might just get away with such atrocious fraud... Furthermore, if it takes that many red lines to elucidate the copy&pasting, surely that's visual indication enough that you're clutching at straws.

Re:clutching at red straws on pdfs (0)

bonch (38532) | more than 4 years ago | (#32871366)

Thank god for copyright law, or else people might just get away with such atrocious fraud

I know you're being sarcastic, but copyright law is what protects the GPL (since it is a copyright license), and copyright law is one of the reasons SCO's case fell apart, because they actually distributed their own code under the GPL and then tried to sue people using it.

Nothing to see here... (1)

Ainu (135288) | more than 4 years ago | (#32870998)

I see nothing of proprietary value here... It's just a whole bunch of references to functions and type definitions .. in a stupid header file.

PDFs? really? (0)

Anonymous Coward | more than 4 years ago | (#32871008)

Give us the diffs.
Giving us a pdf with red bold lines marked all over it will probably look a lot more incriminating than if there is a diff file removing all the lines in the original file and adding all the lines in the file in question.

Oh Good (3, Insightful)

bky1701 (979071) | more than 4 years ago | (#32871020)

More news about imaginary property. How much time and money does our society waste on propping up this outdated concept that you can own an idea? "#include " constitutes copy and pasting? I guess every program on earth violates the copyright of the guy who first wrote "int main(", and whoever started the convention of naming C++ files cpp or cxx should be hiring a lawyer about now. Money is to be made.

Re:Oh Good (0)

Anonymous Coward | more than 4 years ago | (#32871102)

Whoops, slashdot thought the include statement was an HTML tag. You get the idea...

Re:Oh Good (2, Insightful)

jbengt (874751) | more than 4 years ago | (#32871148)

It's not copyright infringement to write something required for a specific functionality (e.g. POSIX compliance or API compatibility) even if it's exaclty the same words. Copyright only covers creative expression. If the ways of saying something are limited, that's not covered by copyright.
Of course that didn't stop the SCO trolls from trying and wasting everyone's time.
Delayed justice is no justice at all.

Re:Oh Good (1)

spikeb (966663) | more than 4 years ago | (#32871170)

the same amount of time it spends propping up the more outdated concept of "property"

Re:Oh Good (0, Troll)

Jane Q. Public (1010737) | more than 4 years ago | (#32871272)

It's not an "outdated idea". If you really think that copyrights and patents are a bad idea, you need only look at countries where they did not exist -- like Russia during its peak of Socialist power -- to see how that works out economically. Hint: it doesn't.

The idea being that those who ignore (or don't know) their history, will be doomed to repeat it. And you obviously don't know your history, or I am about as certain as the sun will come up tomorrow that you would change your mind on that issue.

The fact that some laws have been corrupted, like the duration of copyrights for example, is not justification for elimination of all such laws. Sure, it needs to put back the way it was, but not eliminated. Copyrights and patents were established for the public good, and believe me, in the places where there are none, there is also damned little public good.

I will go so far, however, to say that computer programs are properly covered under copyrights, not patents. Software patents are clearly not in the interest of the public, or free markets.

karma (1)

Trivial Solutions (1724416) | more than 4 years ago | (#32871024)

karma's a bitch, huh?

Who needs proof? (-1, Troll)

Anonymous Coward | more than 4 years ago | (#32871036)

We all know Linux is nothing but a rip off of other people's work.

What do all the fanbois like to say about Microsoft? Oh... yeah.... Where's the innovation?

You know it is true.

Re:Who needs proof? (2, Insightful)

Anonymous Coward | more than 4 years ago | (#32871130)

It is true that anyone who slams Microsoft for not innovating, while simultaneously claiming that Linux is innovative, is an idiot. Neither is particularly innovative. (Nor is OS X for that matter.)

The difference is that Linux openly admits it's just a solid, free implementation of the tried-and-tested UNIX design, while Microsoft spouts so much bullshit about "innovation" that the word has become practically meaningless.

That's talking about the Linux kernel, of course. Some projects commonly used with Linux, such as Gnome and KDE, are actually very innovative. The only problem is that every time they try something new, half the community slams them for being too different from Windows and the other half slams them for being too similar to Windows. It's tough to innovate when everyone actually wants everything to stay exactly the same forever.

Some copying in the later items. (0)

Anonymous Coward | more than 4 years ago | (#32871082)

Towards end of the PDFs (like 412 on), the examples do show actual lifting of code fragments. It's still all in the libelf code, so it could have been fixed in 25 minutes of rewriting. That would assume good faith on SCO's part.

Isn't this completely moot since SCO released a LINUX based UNIX? Once they distributed the GNU work, they implicitly sanctioned the copying.

Why the fuck are we wasting more time on this (4, Insightful)

haruchai (17472) | more than 4 years ago | (#32871120)

this fiaSCO has been running on for nearly 8 years - what the hell is up with the courts that they keep this bullshit alive.
Kill -9 all | sort > /dev/null

Disbarment? Jail time? (5, Informative)

DrJimbo (594231) | more than 4 years ago | (#32871158)

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 [groklaw.net] 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.

Header files? That's it? (1)

mstefan (635858) | more than 4 years ago | (#32871186)

I haven't really been following this of late, but is all that SCO has, or do they have anything that actually amounts to real evidence of copying (i.e.: two source code files that are the same aside from non-code elements like comments, whitespace, etc.)? The example shown isn't even a reach, it's just ridiculous.

The day SCO wins their case... (1, Insightful)

Geak (790376) | more than 4 years ago | (#32871224)

... duke nukem forever will be released. Seriously? They are still at this?

IP is good for you. Software should not be "free." (-1, Troll)

Anonymous Coward | more than 4 years ago | (#32871226)

Straight from the horse's ass.

5. Software should not be “free.” In this new day and age of corporate control of the world, IP rights are an important barrier of protection that help the little guy. Big companies mostly don’t need IP rights, because they can get their way through force and market power. Small companies and individual developers need strong IP rights so the fruits of their labor are not commoditized by big companies.

whay are we still talking about this? (0)

Anonymous Coward | more than 4 years ago | (#32871342)

It is total BS, has been debunked completely here and on Groklaw for almost a decade now. Give it a rest.

Look, they both included stdio.h! (1)

Arancaytar (966377) | more than 4 years ago | (#32871344)

And here, see? They're both using inline comments. Inline comments are an innovation by us. This is a rip-off!

FUD (1)

baryluk (1319237) | more than 4 years ago | (#32871348)

What a nonsense.

ELF which is a file format, and is pretty stright forward to implement, and also have some functions and names directly embeded in the standard specification. It is not any proof.

FUD again.

Re:FUD (2, Insightful)

baryluk (1319237) | more than 4 years ago | (#32871380)

I have read 20 more Tab-xxx.pdf files. Claiming that they are copy&paste is again nonsense.

They mostly consists of straight forward code, #defines or function definitions which looks similar.

Of course they are similar becuase this are POSIX functions and defines!

Their claims are just ridiculus.

there are more colors than just red (1)

dirtyhippie (259852) | more than 4 years ago | (#32871376)

Seriously, whoever made that pdf, it's unreadable. How about using different colors so I can tell the lines apart? I would actually read it if you had done so.... Like this it's just illegible.

10 words that tell it all. (3, Insightful)

Fr33thot (1236686) | more than 4 years ago | (#32871394)

"until they lost the battle by losing ownership of UNIX" Those are all the words you needed to read. You cannot loose ownership of that which you never did own. SCOs gambit was to gain ownership by bamboozling everyone. You know when one party is blowing smoke in these issues when they refuse to point to the infringing code outside of court. If the quote included is to be believed, they lost on appeal and now that they have filed yet another appeal they are suddenly going to show us all the holy grail of "infringing" code. In each case where they've brought up "infringing" code, it was either released by themselves, or was code they didn't own in the first place.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?