IP Theft in the Linux Kernel 1000
"They just took my code and filed off the copyright" said Søren. "This is clearest with the two header files hptraid.h and pdcraid.h. Compare these with FreeBSD's ata-raid.h, and just look at the similarities." And it's true that these two header files certainly look like a chopped up copy of the FreeBSD header, after a quick search-and-replace. "The reading of the RAID config from the disks is their own code, but is clearly "inspired" from our code," said Søren, "but that's encouraged by the license. It's the verbatim use of the other code without retaining the copyright that's the problem."
ata-raid.h, and the other files, are copyright Søren, and released under the three clause BSD license, which includes the restriction "Redistributions of source code must retain the above copyright notice". So using these files, or significant portions of them, in your own code, without retaining the copyright information, as has happened here, is prohibited.
You may be thinking "This is only a couple of header files, what's the big deal?". As Søren says "The problem here is that the structures in the headers is the whole story. That info tells how you read the proprietary struct off the disks, and was reverse engineered and documented by me after a lot of effort." Søren's intellectual property is tied up in those files.
Right now, Søren is in discussions with the authors of the Linux ATA drivers (employed by RedHat) to ensure that his copyright notice is returned to these and other files, and to ensure that this situation does not recur. And it is hoped that an amicable solution can be reached.
wow, this is a shame (Score:3, Insightful)
E.
Re:wow, this is a shame (Score:3, Insightful)
By removing the advertising clause, the BSD license is compatable with the GPL but there are still obligations that must be met.
Linux-Kernel Mailing List Info (Score:3, Informative)
linux-kernel@vger.kernel
You don't need to be subscribed to the list to successfully send stuff to it, so post away!
If you actually do want to subscribe to the list send a message to majordomo@vger.kernel.org [mailto] with the following in the body:
subscribe linux-kernel malda@slashdot.org
where malda@slashdot.org will be replaced by your email address.
An archive of the list can be found at http://boudicca.tux.org/hypermail/linux-kernel/ [tux.org]
Hope this helps!
Re:wow, this is a shame (Score:3, Insightful)
His point was, and I quote linux developers need to give props where props is due.
And I too, agree. Why do we support the GPL being enforced, and then turn around dis a different open-source license? I'm ashamed.
I'm not one of the people whose decisions caused this (indeed, I'm just a Senior in High School), but any action by any member of a community reflects on the other members of that cummunity. This also applies to the open-source community.
In my opinion, this needs to be persued, to show that open-source developers stick to their guns when it comes to their licenses.
And yet... (Score:4, Informative)
Seriously, though, if someone used the code, it must be used under the correct license. Same as if someone uses the linux kernel. They gotta use the GPL.
Again, copyright (and licensing) is a double-edged sword.
Re:And yet... (Score:5, Informative)
Don't try to reflect this onto Microsoft. Clearly the Linux developers fucked up here.
Re:And yet... (Score:3, Redundant)
Paint not with a broad brush!
This is clearly the fault of just one company: RedHat. Their programmers are the ones who "wrote" the code. The vast majority of Linux coders give credit where credit is due.
Re:And yet... (Score:5, Insightful)
Does your boss see all the code you write, and if s/he did would s/he recognize BSD ATA code? Mine sure wouldn't.
Give proper credit ? (Score:3, Informative)
The Windows FTP command is bassed on BSD sources, but the user interface does not show any copyright information.
It is said that also the TCP/IP stack is based on BSD sources.
Can anyone affirm that Microsoft source code retains the mandatory copyright information ?
Another question. This headers define an interface between Hardware and Software. This interface was not created by Sorem Schmit. Can he claim copyright rights on them ?
Re:And yet... (Score:3, Interesting)
I wonder where Microsoft (or anyone else distributing binary BSD-licensed software) does this. At least I didn't find it in Windows 2000's documentation (both online and offline). I have only the OEM version so my only manual is a quick start guide, but still the notice should be somewhere if Microsoft doesn't break the license.
BTW, I think this is one of the worst clauses of the BSD license. I don't see how it makes sense to expect licensees to fill up the last pages of their user manuals with things like "This software contains software licensed to [Company] under the following license agreement: ..."
Requiring a notice such as "Parts of this software copyright ..." would be ok, but requiring a reprint of the license agreement that allowed the use of that software is ridiculous. Or maybe I misinterprete the license?
Re:And yet... (Score:5, Insightful)
I don't know about Windows 2000, but I've got RTM Windows XP here. On the CD in the root directory is a README file. Here's some of it...
Re:And yet... (Score:3, Informative)
Thanks for the info!
I did a full text search for "Regensts of the University of California" in my winnt dir and subdirs, but found results only in .exe files. There's also no readme on my Windows partition root dir or on the install CD's root dir (there actually is one on the CD, but it doesn't contain the copyright notices). But I guess the file is somewhere, after all the license doesn't require the reproduction to be easy to find.
In fact, I have to admit that it didn't occur to me as of now that you could satisfy the license with something as simple as a readme file. So this requirement isn't as bad as I thought (but it also doesn't make much more sense).
Re: And yet... (Score:3, Insightful)
2 days ago Linux Kernel 2.4.10 was released. Already this problem has been caught and is being dealt with. I would say that that's pretty dang quick, wouldn't you? Imagine that a close-source company released some binary files that had code in it that they had "stolen". How long do you think it'd be before that problem was revealed? Definitely not 2 days.
Re:And yet... (Score:3, Interesting)
"I'm speechless. THis sort of thing shouldn't happen. Give the guy his due credit. Now let's move on."
If it really *had* been done in Windows, and someone found out, I bet people here would be screaming for blood, waving the evil empire flag, and talking about how only an MS employee would do such a thing.
Crow is good for you.
Re:And yet... (Score:4, Insightful)
"I'm speechless. THis sort of thing shouldn't happen. Give the guy his due credit. Now let's move on."
If it really *had* been done in Windows, and someone found out, I bet people here would be screaming for blood, waving the evil empire flag, and talking about how only an MS employee would do such a thing.
I think the main difference here is that we actually have confidence that this problem will be fixed, which is a confidence that we would not have if Microsoft had been the perpetrator. If Microsoft had done it, we'd be out for blood because we'd HAVE to be out for blood in order to get a result. We'd have to be screaming to the heavens to get any form of popular media possible to listen to us, in order to convince Microsoft to do the right thing. Conversely, we trust Linux developers, and we're confident that they'll do the right thing in the end, so we really have no reason to be out for blood.
Re:And yet... (Score:3, Insightful)
But Microsoft doing the same thing would be worse.
Taking some open source code and releasing it as open source forgetting about the credits is not exactly the same as
taking open source code proprietary and not even bothering to mention where it was taken from.
Er... (Score:4, Insightful)
-Legion
Re:Er... (BSD License vs the GPL) (Score:2, Interesting)
This is contrary to the GPLs "no additional restrictions" clause. Thus you cannot just take code from a BSD licensed project and import it into a GPL licensed project. Not legally at least.
Re:Er... (BSD License vs the GPL) (Score:2, Informative)
It was removed July 22 1999.
Re:Er... (BSD License vs the GPL) (Score:2)
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer,
without modification, immediately at the beginning of the file
Note that the license has been completely removed.
You have old information (Score:2, Informative)
The requirement that a copyright clause remain intact is NOT the same as the dreaded "BSD advertising clause".
In fact, the current BSD license is completely compatible with the GPL (Just remember that the commingled result must be GPLed). See the FSF list of GPL-Compatible licenses [gnu.org].
Re:Er... (BSD License vs the GPL) (Score:2)
Please check your facts before going off like this.
The GPL does have its problems, and this is one of them. :-)
Re:Er... (Score:4, Funny)
Re:Er... (Score:3, Funny)
Oh. I have a danish keybord.
--
Jens Axel Søgaard
Re:Er... (Score:3, Funny)
real men, of course.
to even *think* that an emacs user could write such code . . . oh, wait a minute, he didn't write it, making emacs more likely
hawk, who doesn't endanger his immortal soul with the heretical emacs
Re:Er... (Score:4, Funny)
Re:Er... (Score:2)
I would imagine that the licensing question might be more difficult. But, if Soren (sorry, don't know how to put in that 'o' character) has rights to all of the code, he could additionally license that to the linux kernel, provided his name appeared somewhere (comments in header, name in developer list. Something.) And by this, I don't mean that that is a written or agreed to thing. His inclusion should be a handshake type deal.
Only problem is how pissed off is the original author of the code?
Re:Er... (Score:2)
Quick hint: use the source, Luke (Of the original
Søren
Presto!
It's pronounced... (Score:4, Informative)
æ ø å
"æ" is like the "ea" in "dead"
"å" is close to the "o" in "holy",
but the "ø" is a bit tricky to pronounce. It's kinda like the "ou" in "mourn", but with more bass.
So Sørens name is pronounced:
S + mourn + honest + n
= Søren! On top of that there is an expression in Danish, which goes "av for Søren", which means "auch for Søren" and you say that when you hurt. And there's another one "Det var Sørens!" which means "I'll be damned!".
It's a common name.... and I need to get a life.
Re:It's pronounced... (Score:4, Funny)
Re:Er... (Score:2)
Linux users hate Windows, FreeBSD user love UNIX.
Re:Er... (Score:5, Insightful)
I think it was more of a matter of lazy programming than evil intentions. The header files define structures, a few constants, etc. They encode a bit of knowledge, such as data formats and the meaning of that data, but some people wouldn't consider it code. More of an interface description. Of course, if it was a document describing an interface, then most people would automatically consider the copyright to hold...
It's a bit like other forms of online "theft". Some folks think that if you download the html for a popular site, remove all the text and images, and use the layout on their own site, then it's not theft, because the copyrightable parts (images, text) were removed, and only the framework retained. But, like HTML framework, headers are the work of the programmer, and any desired copyright should be respected.
Again, I'm in the "simple mistake, fix it, move on" camp, and would like to add that Red Hat and the rest should add a line to their policy about reusing "open source" code, to retain copyrights.
If Microsoft did it, I'd expect them to do the same, but Microsoft would probably do it to force the issue, make the EFF take them to trial to define the limits of open source, the BSD liscence , and the GPL liscense. That's the difference - this will be taken care of by peers, while Microsoft conflicts almost always involve lawyers. It's the difference between getting rear-ended by an honest citizen (with or without the insurance companies getting involved), vs. an asshole celebrity who thinks the little people should take their licks and not annoy the "important people" with trivial matters like car bills and possible medical expenses.
Re:Er... (Score:3, Interesting)
It may surprise you, but Microsoft has actually killed projects because some of the code was unintentionally tainted by the GPL license (like by the inclusion of GPL'd libraries). A major reason was to not give the Microsoft haters an excuse to sue, like they constantly threaten.
As for "asshole celebrities"-- when you've got deep pockets, you are more likely to get sued for trivial reasons by "an honest citizen" looking for some quick bucks.
Re:Er... (Score:3, Insightful)
For it to make sense, you have to accept the idea that there may be people who seem to be part of your community, but are not, because they do not share your sense of ethics and fairplay.
If you have a couple of newbie developers who want to show off their programming skilz and want to short cut the process of doing the work themselves. Then it is easy to cut'n'paste and hope you don't get caught.
In this case, because of the conscious choice that has to be made when you select to do a cut'n'paste, you have to assume a conscious choice was made to omit the copyright data. You certainly would not want an unconscious choice being made.
The response to this by the original author is very generous, he just needs his work properly credited.
But honestly, all the other work of those developers is now under suspicion. It will have to be gone over to make sure they didn't do this someplace else. This is a real drag for RedHat, and the crew that has to go pick through the work. These guys also have to develop a sense of ethics and fairplay.
Maybe they have a future at MS... [joke!]
;-)
Re:Er... (Score:3, Funny)
At any rate, even if they were this ignorant of their violation it's just a bad idea not to cite where you got the information from in your code.
ie:
--or--
/* I ripped these structs from the FreeBSD driver written by Søren Schmidt... if it's broken blame him */
-- or maybe --
/* I'm going to pretend that these came to me magically in a dream one day. I figure RH's odds of finding a prophetic coder with visions such as these are pretty slim and guarantees me some serious job security. */
Re:Er... (Score:3, Insightful)
You know how it is... your working on somthing, you stop to consider how your going to do this next peice... you seem some code that will drop in fine... then you see a little more...
maybe they just never thought to go back and grab the copyright. Really... its such a little thing. The code works without it. Very easy to forget, especially when your involved in a real problem (like coding or debugging or just plain testing).
"Never attribute to malice that which can be adequetly explained by stupidity". I think this can adequetly be explained by stupidity... its really a pretty simple oversight for a programmer (if not a lawyer)
-Steve
Re:Er... (Score:2)
And if the BSD and GPL can't mix in the kernel, that's no excuse to file off the copyright notice. If the GPL is so brain damaged as to forbid it, then Linux can't use it. That's not the way to fix the licensing problem.
I've seen patches that correct the problems floating around, so this will be resolved shortly.
Won't be the last time. (Score:4, Interesting)
It was mentioned that the authors of the Linux kernel code worked for Red Hat. We can't be certain but I speculate that they didn't want to appear "lazy" by "stealing" anyone elses code, regardless that it was completely free. Perhaps it was just an oversight. I hope we see an update in a slashback in the future.
Nor was it the first... (Score:2)
I just hope the offender can be identified and given the chance to ask forgiveness (sinner repent!
But it can't be done "properly" (Score:2, Interesting)
It is the requirement you mention (inserting the copyright notice) that makes the two incompatible. A GPL'd program can't have that "restriction".
If you are cynical you could say that this is an example of the viral nature of the GPL and that RMS wants to take over the world!
This is not the license you are looking for (Score:3, Informative)
The license in question here is the modified BSD license. (same page, earlier on)
So tell me (Score:2, Redundant)
Re:So tell me (Score:2, Interesting)
2) Nobody on Linux-kernel wants a bunch of technically-ignorant flamers invading their list. What passes for Insightful here will get you killfiled there. Anyone who might be interested in linux-kernel is smart enough to find it. Don't point them there.
Re:So tell me (Score:2)
Re:So tell me (Score:2)
Good for him! (Score:4, Informative)
Stolen code??? (Score:2, Interesting)
Just because the code looks the same, doesn't mean it was stolen... There are only a limited number of ways to get certain hardware to work in software, and most code reflects this.
Pretty sad, indeed. (Score:2, Flamebait)
Oh -- and steals is the right term.
This is one of the few ways you can steal BSD'd code. The license lets you do pretty much whatever you want.
Proper attribution is not a big thing to ask, especially as meager compensation to a job well done. If the code's worth taking, it's certainly worth attributing.
The worst part is that it allows the Microsofts of this world to say that free developers really aren't that different from themselves.
Phooey.
Sets a good example (Score:5, Insightful)
Of course, I wouldn't propose that we allow violations of open source liscenses to continue unchecked, just that the opportunity for good faith resolutions be allowed before crying "Boycott!".
a lesson for the Linux community... (Score:2, Insightful)
We must try and validate our work in in the eyes of the corporate (and IP-trigger-happy) environment that we are trying to penetrate if we want to get accepted as a viable option.
hmmm, where will we find this kind of un-attributed code violations next? I sure as hell don't want to have Microsoft breathing down my neck because someone recycled propriatry code and invited the bull into the china shop.
food for thought
(caffine for action)
Another argument for free software? (Score:5, Insightful)
Case in point: there is every reason to think that this author's name will be included with his code in the next release of the Linux kernel source. Think how vastly different this situation would be if this were about theft of proprietary code. Here, nobody's company is at stake, and nobody stands to lose by doing the right thing -- so there are no stupid lawsuits and no hard feelings. At least, I hope it plays out this way
Forget all this paranoia about the venemous GPL. Proprietary code has a really, really high cost of ownership; at a certain point, it's just not worth it. Free is just so
Credit must be for the right reasons (Score:4, Insightful)
I would like to point out though that there is a strong argument that it was precisely that hard work rather than intellectual property that was stolen. Bear with me, and no knee-jerk mods please:
(1) A structure is just that: a structure. If there is intellectual property there it is in the original designer of the structure.
If this was a structure in nature (such as the human genome or what have you) then there are plenty of people who disagree with it being anyone's IP at all. Unfortunately, in the wisdom of capitalist democracy some people think that they *own* all of our tomatoes.
But this isn't nature, and someone did plan and write these structures and deserves credit. And Soren deserves plenty too for figuring it out and giving it to the world.
(2) You could say that his comments are IP, and that's a pretty strong argument. So perhaps there is more than just good old hard work here. However, it's possible these are just titles of the data structure elements, and titles aren't exactly covered by the same IP standards as other IP.
Oh well. I don't want to take away from the important work, and certainly nothing from Soren's credit. Just some food for thought.
Re:Credit must be for the right reasons (Score:2)
Structures *do* have IP! (Score:4, Insightful)
Au contraire. Compare the following two snippets of code, taken arbitrarily from one of the other raid header files in the kernel:
struct m {
int a;
int b;
kdev_t c;
int d;
* State bits:
*/
int e;
int f;
int g;
int h;
};
And:
struct mirror_info {
int number;
int raid_disk;
kdev_t dev;
int head_position;
* State bits:
*/
int operational;
int write_only;
int spare;
int used_slot;
};
Those are the same exact structure, no? Exact same data types and everything. I even left in the comments. Now, which of those would you rather have to program with? A structure is *not* just a structure; different source codes for the same structure can be of radically different usefulness. There's definitely intellectual property there.
very dangerous precedent (Score:3, Insightful)
Generally, such names are viewed as not being creative, and hence creating compatible software is possible. I very much hope your view won't start getting adopted because it would endanger almost all open source efforts.
Re:Structures *do* have IP! (Score:3, Insightful)
struct cloneDriveData {
kdev_t typeD;
int16 positionOfReader;
int16 sysId;
int16 controllerId;
boolean notReadOnly;
boolean extraNotUsed;
boolean working;
struct mirror_info {
int number;
int raid_disk;
kdev_t dev;
int head_position;
* State bits:
*/
int operational;
int write_only;
int spare;
Now you ask, did I copy your IP or did I reverse engineer this?
If I just finished reverse engineering this and found that a very simular operating system, with code already developed and working, had been published I think it would be irresponsible for me to continue with my naming convention. Why? Because it would only make it more dificult for drivers to be writen if for every simular device we had vastly different names for it. I would just use the other guys naming style and be done with it.
If I just copied you spec and renamed everything, then how are you going to prove it? Because since there is only one structure that could be derived from the device that would work (as it is the original device author's) you would assume an indepenant attempt to reverse engineer would come up with nearly and idential structure, save for the names of the variables. So if you just change the variable names, your free from the IP claim.
Going back to the first case, it now seems obvious that if you want to get credit for your work, you have to create vastly different naming conventions and interject your personal style to the point that it supercedes any usablility or perfomance issues otherwise claims of 'copying' will be made.
So remember when you create your next program, scan all the available code that is simular and make sure your naming conventions and coding style are uniquely identifiable. You can do this by obfusticating your variables and write at least wrappers for libararies so that your calls will be different. Of course you will have to do this AFTER you have coded, because you shouldn't be looking at other peoples code before you start or else your work would just be a copy of theirs.
A common source? (Score:2, Interesting)
-- MarkusQ
Not the first time (Score:2, Informative)
I don't harbor any resentment against the guy, but this was bound to happen sooner or later. I'm sorry it had to turn out this way.
-anon
(yes, I have an account; no, I'm not going to use it here)
Yeah, that's right. (Score:4, Flamebait)
Where are the backups to your statements?
This reminds me of when there was the large Exodus outage, and in the explanaion story an AC claimed to be some chick who was abuse my Taco (funny since Taco is in Michigan, Exodus cage is very not in Michigan, etc).
Moderators: don't mod up stuff unless there is PROOF or this person has put a real name behind their statements. Posts like this are just trolls meant no spread disinformation.
Slashdot License Enforcement Bureau (Score:3, Insightful)
complain about license and copyright violations?
"Oh my god, its a license violation! Get
Slashdot on the phone IMMEDIATELY!"
Surprised I havent seen a "do , or we'll post
about you on slashdot" yet.
In this case, I agree with the author of the
code about getting proper credit for his work
since it was reused - but all of these GPL/
license/embedded linux stories lately are
getting tiring.
BRING BACK THE QUICKIES!
Re:Slashdot License Enforcement Bureau (Score:2, Flamebait)
Hope it was an oversight... (Score:4, Insightful)
IP is important. Copyright is important. Licensing is important. Unfortuantely defenders of all these things are often cast in a bad light because of a perceived association with other groups who misuse these tools.
Just my 2c
Someone pretending work? (Score:2)
What disturbs me about this article... (Score:2, Redundant)
* If this had been included in WindowsXP he wouldn't have known, so he couldn't have complained. Yay GPL!
* Why post this on Slashdot if the issue is resolved?
* This code was reverse-engineered anyway, so why is he bitching when we leech it?
Lord almighty the hypocrites in this place.
My response:
* Microsoft *has* included BSD code, and they've done everything they're supposed to. Why can't we ever have a discussion like this where we admit we're wrong? Sometimes we can say something without promoting the GPL or Linux.
* Why post on Slashdot if it's resolved? Think about this: if MS had taken code from Linux and used it, and then it was resolved, it would still be posted on Slashdot and people would be ready to beat down Bill G's door and crucify him.
* Of course the code was reverse-engineered. And Jesus, how often do we bitch on here about how we should have the right to reverse-engineer? When someone else does it, it's low - when Linux does it (and trust me, a large number of Linux drivers are reverse-engineered), it's the best thing since sliced bread. Remember, kiddies - Linux does something, it's good; Anyone else does the *exact same thing* and it's bad.
Sometimes I just get sick of the people who bash religion and then follow Linus like he's God...*sigh*
Re:What disturbs me about this article... (Score:3, Insightful)
Re:What disturbs me about this article... (Score:3, Insightful)
One question (Score:4, Troll)
Stop the flames. Of course he wasn't. What got lost in this story is one of the best aspects of open source programs: complete transparency. Microsoft may be using pieces of the Linux kernel inside its own programs and we'll never know. Ever.
If it was really a copy (we're talking about device drivers and it's very difficult to create original software to describe the same struct) then notice will be given that it was his software.
And another good aspect: this guys is a programmer that has created open source device drivers for FreeBSD. And he was looking into the Linux kernel sources. Probably looking for his own code (which would make him proud) or looking for the chance to help out fellow programmers or just to compare solutions and learn with it.
I'm sorry it happened but we should focus on what's good about this story:
Truth shall set you free.
Red Hat source - who is "Arjanv" ? (Score:5, Informative)
Re:Red Hat source - who is "Arjanv" ? (Score:5, Informative)
Arjan van de Ven
Notice also that it appears that the code has been updated to include the proper copyright and notices on the site. Read the diff, and the source all of the stuff has been added. It appears that it should be in compliance with the BSD license now.Copied? (Score:2, Insightful)
The structures do look similar, and if the Linux headers were copied then I hope they smack the guy responsible and reinstate the copyright notice. If the files were cut-n-paste copied it should be possible to nail this down, and copying something this cut-and-dried is stupid enough to merit a serious LARTing.
OTOH, if you give two programmers the same specs for a data structure and they have to follow the same coding and indentation style, you're likely to get two very similar structures, right down to the names in obvious cases, even if they don't copy each others' work. The fields themselves have to be specific types in a specific order because that's the way it's laid out on disk, and the coding style's pretty much fixed by the Linux kernel coding standards, and things like dummy_1, dummy_2 for filler fields are pretty standard (those're what I'd pick without seeing any other code, for example), how much variation in the structures is actually possible?
For a real-world example, look at any two independent implementations of the CRC32 algorithm. They're probably identical in everything but some variable names and indentation, because there's only one really fast way of writing that algorithm and everybody uses it automatically. Nigh-identical code, no copying done or required to get it.
Stripping off copyrights sadly common (Score:4, Interesting)
I write and run the Idocs Guide to HTML [idocs.com] which contains a lot of JavaScript. I give away the JavaScripts for free, asking only that the copyright notice be kept in place. The copyright notices are in the JavaScript comments, so there's no effect on the user-interface. Nevertheless, I have seen many places where my scripts are used but the copyright gone.
One person even asked for help on using a script while blatantly refering me to a page where the copyright was gone. Sheesh.
Er, I thought the BSD license permitted this... (Score:3, Interesting)
If so, then nothing wrong has occured. It can also be recopyrighted under GPL. Don't like it, just copy and make use of the original BSD one that doesn't have that restriction.
I don't see Microsoft making the source for BSD bits they lift available for others, nor do they have to. BSD allows you to do whatever you want with the code, including sell it, right?
This isn't meant as a troll, if I'm mistaken, let me know. I'm just interpreting the numerous open-source vs free-source, BSD-vs-GPL flame wars that have been going on here forever...
Shocked and Surprised Linux couldn't be more orig (Score:3, Funny)
I mean when it came to defining the variables for the cylinders for the drive they just used the name 'cylinders'! EXACTLY what BSD used!!! and for the number of disks on the raid0 they used raid0_disks!!!
I mean they should have defined it as num_of_boxed_platters_of_magneticly_coated_disks_
The only benifit of naming this the exact same way BSD did would be that it would be clearer and more easily understood for people who program many different unix based disk interfaces.
But who really benifits from that? Escpecially when someone doesn't get credit for making the second variable in a struct, 'disk_number'.
That's not paticularly smart... (Score:3, Interesting)
Am I the only one who found this strange? The idea that by reverse engineering a piece of hardware, you are suddenly the IP holder? I could see the hardware manufacturers making such a claim, but a third party driver writer? I did some engineering to make a fast video routine for modeX, and I hardly think that I can claim IP rights over the modeX architecture...
On the other hand, if the person who wrote it wants some credit, give him some credit. That's all I ask for when I give code away, so I can see why that could be annoying. It probably was an honest mistake on the part of the kernel developer though, I know that a couple times I've released a program and forgotten to put some copyright or some such in it. Incidently, that's why I usually just write my own code from scratch now.
Hypothetical question (Score:4, Insightful)
Suppose Bob writes an open source program. Then along comes John and examines Bob's program, and learns crucial things from it. Such as how the frobulator encoder works. John then writes his own program which has a frobulator encoder, whose concepts are influenced heavily from what he learned by studying Bob's work.
At what point is John stealing Bob's work?
This is a loaded question. (Just like: When does life begin, at conception or birth, or where inbetween.) Except our question here isn't quite as emotionally charged. (Well, maybe it is for us.)
Back in 1979, I would help other students with their programs. Sometimes after making sure they understood the algorithm, and were writing the code, we would end up with what basically amounts to my design. Should I just make sure that I use different variable names? Should I introduce frivolous structural changes to the program so the instructor doesn't think someone is cheating? (Of course, I became so notorious with my instructors that this problem never came up -- they knew me well enough.) And the other student did end up actually accomplishing the learning.
Returning to my above example. Should John make sure to rename the members of the structure? Alter it stylistically? After all, Bob did the hard gruntwork. In some sense Bob should get credit. What if Bob doesn't want to license or give any permission? Can Bob withhold the know how of how the frobulator encoder works -- especially if it is embedded within open source?
Cearly, the ideal thing would be for John to contact Bob. But this takes time and effort. If John had simply renamed identifiers and altered the style, would an issue ever be raised on Slashdot in the future? (Even if Bob someday examined John's code and noticed the similarity, of concepts, if not actual cut&paste lines?)
And as I first stated, I haven't examined the sources, and this may be a very clear case of cut&past without any credit given. These questions are intended to be hypothetical. Any resemblance to actual persons or events is purely cooincidental and unintentional.
Doesn't matter. (Score:3, Interesting)
Re:Hypothetical question (Score:3, Informative)
When he studies Bob's source?
No.
When he uses Bob's concepts?
No.
If he uses the same identifiers, or identifier structure as Bob did?
No.
If he simply cut&paste's a few lines from Bob's code.
No.
You forgot one bullet point:
If he violates Bob's copyright and license.
Yes. Assuming Bob's code is under the BSD license, then John can use it in any way he wishes, so long as he keeps the copyright untouched. But once he alters or removes the copyright line he is "stealing" Bob's work.
What gets me is why some folks finds it so onerous to give credit where credit is due.
How it started... (Score:5, Informative)
> I've read everything that I can find regarding support of the Highpoint
> controllers RAID functionality under Linux, and I understand what the issues
> have been. The one promising bit of information that I dug up in this process is
> that the 'pseudo' RAID functionality of the Highpoint and Promise IDE RAID
> controllers is now supported in FreeBSD (4.2-RELEASE and 5.0-CURRENT). My
> question is, can the new BSD code be leveraged to add support for these
> controllers to the Linux kernel, and could we reasonably expect to see such
> support in the near future?
>
> (I think that most all of the relevant/important bits are in ata-raid.c and/or
> ata-raid.h. In
> any event, the IDE/ATA guy over on the FreeBSD side is Soren Schmidt
> (sos@freebsd.org), and he
> wrote all of the stuff for this.
This issue was resolved already (Score:4, Redundant)
Not creative work == not copyrightable (Score:4, Insightful)
It seems likely to be that header file structure definitions are a functional description of how a piece of hardware works. And if that's the case, that information is no more copyrightable than the telephone book. And if it's not copyrightable, it's perfectly legal to remove the credits and license and redistribute however you want. Not right, mind you, but legal.
Looks to me like he's screaming about copyright infringement and/or license violations without understanding the limited scope of copyright.
Porting code, copying req'd header info... (Score:4, Insightful)
After a few grim moments of comtemplating actually buying and installing Visual C++, it occured to me that these things are probably defined somewhere in the mingw stuff. Sure enough, I found them all in various headers within the mingw package. I copied all these (and a bunch of other little win32 kludges) into a win32stuff.h file that I started including in the various .cpp files.
So did I cross the line? I copied a few dozen lines from various header files in the mingw package (I didn't mention in the file that I got them from the mingw project, but I probably should before I release the port to anyone). Did the the mingw guys copy this stuff from somewhere in all the stuff included by #include <windows.h> ??
Ok, I'll admit that a bit struct that represents the on-disk format of something that was reverse engineered is a bit more substantial than a bunch of constants... but calling it "IP Theft" seems to be leaping to some strong conclusions. Even if both programmers did their reverse engineering independently, aside from using different names, there's not a lot of different ways the struct could look. Even if the linux developer did look at the BSD header file to learn the data formats, how different could one expect his code to possibly be ?? If it's an algorithm with some creative implementation, I can see the accusation, but over a header file that simply documents simple facts seems a bit much. Sure, it can be hard work to get those facts by reverse engineering, but still, the "IP Theft" is simple facts (not really protected by copyright, in my limited understanding of copyright law... IANAL).
And finally, if Søren really does hope "an amicable solution can be reached", why's he turning this into a bunch of bad PR for linux and redhat ?? It's sounds to me like a case of getting mad and posting flames instead of cooling off for a day and thinking it through more carefully.
As far as my porting work for Nullsoft's really cool (SuperPiMP) installer, I hit a big block of very win32 specific code, CEXEBuild::do_add_file at the end of script.cpp. Unlike many of the other bits that I ifdef'd out, this is the one that actually puts the files into the install image, so I can't just chop it off. I will need to completely rewrite this using unix/posix APIs, probably using C library regex patterns instead of whatever wildcard matching win32's FindFirstFile does. I'll probably get back to porting NSIS in a week or two... I might even try rebooting and running it in windows a few times! And, I'm not going to lose any sleep over copying a few dozen constants out of someone else's header files.
Blame emacs (Score:4, Funny)
Happens to me all the time. Or was it diff --remove-copyright-header.
Mr Kettle, meet Mr Pot! (Score:4, Flamebait)
patch-to-2.4.10 (Score:4, Informative)
check out patch-to-2.4.10 [redhat.com]
Try these few lines:
+++ linux2410/drivers/ide/hptraid.h Mon Sep 24 10:35:39 2001
@@ -1,4 +1,32 @@
-
+/*-
+ * Copyright (c) 2000,2001 Søren Schmidt
+ * All rights reserved.
...and also...
+++ linux2410/drivers/ide/pdcraid.c Mon Sep 24 10:37:13 2001
@@ -12,9 +12,7 @@
Authors: Arjan van de Ven
-
-
-
+ Based on work done by Søren Schmidt for FreeBSD
That's good enough for me, plus, the timestamp on the patch file is Sept 24.
Does anyone read patch files anymore?
TiFox
Andre's mail on lkml - "BSD-Linux FlameWar over .. (Score:3, Informative)
It is clear that BSD is going off the deep end.
Linux ATA Development has a Legal signed NDA for the proper development of
the complete and correct FastTrak(tm) open sources driver.
I will soon publish the complete header codes in a original header w/
a Linux ATA Development Copyright and Promise Technologies Copyright.
The driver will have a GPL statement be issued in the headers and source
files to prevent the usage in BSDish environments. I have not tolerance
for being labled a thief.
I will prove the point that Linux does not "STEAL IP", then watch BSD
"borrow" from Linux. Just like we will watch 48-BIT Addressing be
borrowed without credit. Just like we will watch the new Ultra133 drivers
be borrowed without credit. BSD has no legal documentation to develop
these changes or access to hardware. We will watch and prove where IP
comes from in the world of storage.
Ever noticed how Linux had Ultra100 support 10 minutes after the release
of public information on June 5, 2000 8:00am PDT?
For now the Linux Open Source drivers for SoftRAID need to go away.
Not to worry they will return in full swing.
Date: Wed, 10 Nov 1999 11:32:52 -0800
From: ---deleted---
To: Andre Hedrick
Subject: RE: Research FastTrak66 Ultra ATA/66
Hi Andre,
Very interesting work, I can't guess how you did it. Here is our beta
driver for the Fasttrak. This is the one I told you about. It uses our Raid
engine (engine3.a). Sorry, but as I mentioned there is no possibility of us
releasing the source code for this. However you can get a good idea of how
the engine works by viewing our driver source. Please do not distribute
this driver or the engine binary to anyone. I've included some quick
documentation too, I remember there is one step missing but it is obvious.
begin 600 FT03.TGZ
<BIG SNIP>
end
Here is the proof that I could have done this long before the BSD folks
had a clue about soft raid engines wrt addon cards.
Regards,
Andre Hedrick
Re:Licensing Problems? (Score:3, Informative)
Re:Licensing Problems? (Score:2)
The original BSD License had an "obnoxious advertising clause" which required all advertisments to say the software was based on x. That's fine for one component, but with 50 components, you'd have more attributions than anything else in the ad.
Hardly anyone uses the original BSD license anymore.
Re:Licensing Problems? (Score:4, Informative)
Since the license is so short, might as well include it right here for people too lazy to click:
Here is the license template:
Copyright (c) ,
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Re:Jumping to conclusions.. (Score:4, Funny)
Re:Jumping to conclusions.. (Score:4, Insightful)
I just said that we don't know the full story.
Any number of things could have happened that led the developer to ultimately violate the BSD license without being aware of it.
Ruling out the possibility is completely naive. Somehow I don't think stealing BSD code to include into Linux is all that foolproof of a devious plan -- leading me to believe that it's much more likely an accident. What possible motive could he have had?
Do you really think the developer said to himself "It is clearly worth risking my reputation by violating the easy-to-comply-with BSD license for my own personal gain of giving code away for free!"?
So yes, 10:1 that this was an accident. I'm not ruling out the possibility of malice, just that it's a lot less plausible.
I think you may be over-reacting (Score:3, Insightful)
I for one hope they pull the kernel down now and rework it without the offending code, or not put it back up until sorenson is satisfied with the result.
Ctimes2
Re:The Pot Calling the kettle black (Score:3, Insightful)
With a name spelled like that, it is quite possible that Søren lives/works outside of the US, and nobody gives two farts about the DMCA where he is.
Also, I believe that the DMCA only outlawed the breaking of protection or encryption or some such.
Re:The Pot Calling the kettle black (Score:2)
Besides, didn't the DMCA outlaw reverse-engineering?
Definitely not. First, reverse engineering is entirely legal [berkeley.edu]: Sega Enterprises Ltd. v. Accolade, Inc., and Atari Games Corp. v. Nintendo of America, Inc. I know there are several more cases involving reverse engineering of boat hulls and other, more tangible things.
As I understand it, the DMCA outlaws things like making and distributing tools for encryption circumvention. Reverse engineering in and of itself isn't made illegal, just the tools to do so.
Reverse engineering, plagiarism, and theft (Score:5, Informative)
Okay, so Søren reverse engineers the proprietary data structures developed at great cost by corporations, and then bitches when his work is ripped off by one of his fellow Open Source travelers. Give me a break!
First, what Soren did was not plagiarism (claiming another's work as his own) nor theft (stealing another's property). He just made a part that works as a replacement for a factory part, much like the thriving parts industry in the auto world.
What Red Hat's developers did wasn't "theft", since they were not required to have permission to use or modify and re-release the code. It was plagiarism -- essentially they took some of Soren's parts (which were free for the taking), filed off the serial numbers, then stamped their own on.
It's not illegal to sell someone else's parts if you acquired them legally, but it is illegal to claim them as your own make without permission, regardless of how they were acquired.
The only place Soren might have problems is if the driver algorithms were patented, and even there drivers exist in a world of murky law apart from applications. I seem to remember some abortive efforts by sound and video card manufacturers to squash third-party open-source drivers that got such negative press reaction that they were abandoned.
Re:Reverse engineering, plagiarism, and theft (Score:3, Insightful)
I can't agree with you here. Søren's code was not free for the taking. If it was in the public domain, it would be free for the taking. But this code was not in the public domain, it was distributed under the BSD license. It's only free to use if you abide by the terms of the license!
Imagine the uproar if I went around using GPL'd code in my proprietary applications, as if it was "free for the taking"!
Skylarov (Score:3, Informative)
Need I say more?
Re:The Pot Calling the kettle black (Score:3, Informative)
How else do you think StarOffice can even attempt to read Microsoft Office documents?
Because until a couple of years ago, MS documented the file formats [microsoft.com] on MSDN. They're no longer publically available, but MS will still give them to you if you provide a detailed description of what you want to use them for.
Re:Non-enforceable? (Score:2)
Re:Something isn't right (Score:3, Insightful)
Maybe its me, but something seems kinda strange with this situation. What he seems to be saying is "Reverse engineering is ok, but don't reverse engineer my code."
He didn't say that reverse engineering is okay only if he does it; he's saying that you can't use his reverse engineering, verbatim, without giving him credit for it. In fact, there wouldn't be any issue here at all if the ATA code monkeys in this case reverse engineered it themselves. They didn't do that, apparently.
Re:There is no "IP" Wake up. (Score:3, Interesting)
It is also quite possible someone else documented the structures and the programmer re-build the header file from said documentation. The structures themselves would likely end up with the same names, and depending on the prevalining naming convention at the time it may look as close as it does without actually being a direct violation.
Header files of this nature are ALWAYS going to look very similar when it is for the same device. As for 'his IP' based on reverse engineering the interface. Sure, except copyright doesn't exist for anything except the actual implementation. documenting it and redeveloping it IS NOT a copyright violation.
A header file such as this is close to simply respecified facts.