Domain: mcbride-law.com
Stories and comments across the archive that link to mcbride-law.com.
Comments · 10
-
Re:Tried to find source code
I actually liked http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-413.pdf better. The implementation looks ENTIRELY different (only the method name matches, which is necessary to match the API). It seems pointless to include a file like this is their claims.
-
Re:Tried to find source code
(here is a choice one that is such an absurd claim of copyright violation that I can't believe they did it: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-2421.pdf)
You are my hero for finding this.
So you don't waste your time, after quite a lot of clicking I finally found some actual code: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-415.pdf
Here we see that they both used the name "elf" to name a pointer to the ELF structure! Why the chances of two programmers deciding to do that must be astronomical!
Not to mention, they both named a variable, which acts as an index, "index". Holy shit!
-
Re:Tried to find source code
(here is a choice one that is such an absurd claim of copyright violation that I can't believe they did it: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-2421.pdf)
You are my hero for finding this.
So you don't waste your time, after quite a lot of clicking I finally found some actual code: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-415.pdf
Here we see that they both used the name "elf" to name a pointer to the ELF structure! Why the chances of two programmers deciding to do that must be astronomical!
Not to mention, they both named a variable, which acts as an index, "index". Holy shit!
-
Re:Actual similarities
There are some actual similarities beyond API necessities. This PDF contains a striking example of that:
http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-247.pdf
But there's a reason why the copyright headers are missing in that PDF---they say that this code is under University of California copyright, so both System V and GNU/Linux copied it.
And for those who don't want to take this on faith, look in
/usr/include/sys/syslog.h -
Tried to find source code
Clicking on these I find a lot of
.h files implementing POSIX and BSD standards (here is a choice one that is such an absurd claim of copyright violation that I can't believe they did it: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-2421.pdf) Most of the others are not quite that bad.So you don't waste your time, after quite a lot of clicking I finally found some actual code: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-415.pdf
Here we see that they both used the name "elf" to name a pointer to the ELF structure! Why the chances of two programmers deciding to do that must be astronomical!
I stared at this thing for quite awhile trying to match up the code as it certainly is different. Finally figured it out: the Unix code goes to the i'th field in the structure and returns it if and only if the "index" field in it is equal to i. The Linux code instead searches and returns the first field with the index field equal to i, whether or not it is at i. Umm, this seems to be a pretty significant difference!
This is such a load of bullshit that mr Mc Bride should be ashamed.
-
Tried to find source code
Clicking on these I find a lot of
.h files implementing POSIX and BSD standards (here is a choice one that is such an absurd claim of copyright violation that I can't believe they did it: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-2421.pdf) Most of the others are not quite that bad.So you don't waste your time, after quite a lot of clicking I finally found some actual code: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-415.pdf
Here we see that they both used the name "elf" to name a pointer to the ELF structure! Why the chances of two programmers deciding to do that must be astronomical!
I stared at this thing for quite awhile trying to match up the code as it certainly is different. Finally figured it out: the Unix code goes to the i'th field in the structure and returns it if and only if the "index" field in it is equal to i. The Linux code instead searches and returns the first field with the index field equal to i, whether or not it is at i. Umm, this seems to be a pretty significant difference!
This is such a load of bullshit that mr Mc Bride should be ashamed.
-
Actual similarities
There are some actual similarities beyond API necessities. This PDF contains a striking example of that:
http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-247.pdf
But there's a reason why the copyright headers are missing in that PDF---they say that this code is under University of California copyright, so both System V and GNU/Linux copied it.
-
Re:Shocking
How dare they copy/paste those blank lines!
Just in case you thought you were kidding: http://www.mcbride-law.com/wp-content/uploads/2010/07/Tab-422.pdf
Line 22 is blank, and is indicated as being copied.
-
Re:What's so liberal about it?
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, one of which is the ELF Tool Interface Standard Specification. 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 specification. Anybody wishing to build a POSIX-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. This is a simple accessor method. There are only so many ways to retrieve a value from a structure... -
If the patent holds upThey could be gozillionaires.
We have a GE thermoelectric water cooler. It works great. The water's not as cold as a regular refrigerator puts out, but the 5-gallon bottles are hard to fit in the fridge.
I just hope Kevin McBride isn't handling the patent. He's got an interest in IP law, you know. His brother Darl would end up suing GE.