GPL Code Found In OpenBSD Wireless Driver
NormalVisual writes "The mailing lists were buzzing recently when Michael Buesch, one of the maintainers for the GPL'd bc43xx Broadcom wireless chip driver project, called the OpenBSD folks to task for apparently including code without permission from his project in the OpenBSD bcw project, which aims to provide functionality with Broadcom wireless chips under that OS. It seems that the problem has been resolved for now with the BSD driver author totally giving up on the project and Theo De Raadt taking the position that Buesch's posts on the subject were 'inhuman.'" More commentary from the BSD community is over at undeadly.org.
The whole thing lasted two days, much less than the blog and news coverage. Someone will come along and write this driver for BSD, and the BSD developer will have some well-deserved cooling-off time.
Bruce
Bruce Perens.
One should never expect him to see the other side of an issue.
And by the way, first post :-) . OK, I'm a subscriber, I guess that's cheating.
Here is the Technocrat.net discussion of the same issue.
Bruce
Bruce Perens.
His team were caught red-handed, and had the gall to blame the people who got ripped. He doesn't even seem to get copyright, saying there was no infringement because the driver wasn't yet ready for general use is beyond moronic.
Fast on the heels of Ballmer's tantrums and chair throwing, the BSD community was today wracked again by the borderline personality disorders and rageaholics that permeate the open source movement. Theo De Raadt, founder of the Open BSD Brigade, in an apparent fit of anger, threw his fist through a wall as he was cussing out an acolyte of Chairman Richard Stallman, leader of the competing marxist organization, the Free Stalin Foundation.
Hans Reiser, an open source maven who murdered his wife in cold blood, commented from prison that open source programmers had no abnormal personality problems, and were all "very smart people, very intelligent." Eric Raymon, fresh from a trip to the Paul Revere Institute Convention and Bondage Festival in Las Vegas, echoed these comments: "What the world doesn't understand, is that we are geniuses. There is nothing wrong with using strong language to intimidate idiotarians and freedom hating anti-gun liberazis".
Steve Jobs, emerging from a meditation chamber in his northern california home, opined that "he would fire half his open source staff" that night, as they had failed to properly implement a bitwise portrait of the mona lisa on the back of the motherboard for the new Apple Yojimbo motherboard family, slated to debut this fall.
The BeOS developers, currently washing dishes at a Sacramento Olive Garden, had the following comments: "Yeah, we are kinda bummed that we lost all that money. But frankly, I'm kind of glad to be done with those freaks. Apple, Microsoft, Lunix, what a bunch of creeps and sociopaths."
Echoed his boss "Johnny called in sick so I need you to work late tonight, is that OK?"
--
(parts of this story were contributed by James Gandalfini)
Yes, but according to the licenses involved (in this case the GPL).
A CC-licensed illustrated horror novel
Deanna (I think it was Deanna anyway, based on the contributed by) overreacted to the email. The only thing unreasonable about the email that I saw was the wide distribution. The initial email from Michael Buesch, IMHO, should have gone to the comitter and the OpenBSD core team...
Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
It is. This leaves the question of whether you are OK with some people who refuse to share. If the answer is no, use GPL. If yes, use BSD. You also have the option of using GPL, and asking for money from those who prefer exchanging money over sharing code, as MySQL does with its dual-licensing.
Bruce
Bruce Perens.
...is how you can scroll down past the cascade of de Raadt nonsense and find an actual reasonable response from the bcw maintainer himself!
Unfortunately, with so much noise coming from de Raadt, the only thing most people are going to see are his ridiculous responses.
I'm sure someone else has drawn this line before, but he reminds me of the OpenBSD mascot. Like a blowfish, he fills up with (hot) air when threatened and is very defensive.
If you read through the email conversation, you'll see a VERY diplomatic initial message from Michael, a straw-man attack from Theo ("Do you feel that Marcus should give up his efforts?"), a VERY reasonable response ("No, he should _not_ give up. The opposite is true. He should start to contact us to get relicensing permission from us to speed up bcw development and stay legal") and then profanity and rage from Theo.
The slashdot post, the weblog entry, and Theo's comments are all ad hominem, and baseless ad hominem at that- the core issue here is that GPL code was taken in violation of its license. The owner of the code contacted and admittedly large number of people, publicly, about it. It is hardly out of line given Theo's well-known grandstanding full of rhetoric (hardware drivers for OpenBSD come to mind.)
Michael pointed out the violation and asked the developer/OpenBSD people to contact him to work out relicensing the code. Instead, Theo attacked him relentlessly and repeatedly. After the first 6 posts between Theo and Michael, I felt sick and stopped reading.
Please help metamoderate.
I think the crux here is grabbing GPL code untouched and using it *unannounced*in a BSD licence that allows anybody to distribute (i.e. just use it in binary releases).
I have read all the threads on the OBSD lists.
Without question, the Linux developer did not need to cc the whole word when first making his inquiry -- he should have contacted them in private. I would also suspect that the BSD developer was just using the Linux code as a drop-in replacement for the time being until he rewrote it with a BSD license. I do not believe the BSD developer was trying to steal anything or take credit for something he did not develop. He made a mistake, for sure, but I do not believe there was any ill will on his part.
However, the biggest story in all of this is just how freaking childish Theo is. I cannot for the life of me figure this guy out. He kills his own cause and make OBSD look like a playground for schoolyard bullies. Imagine how much better he and OBSD would have looked if they had responded to the initial mailing list post with something like: "Hey, we would have appreciated it if you had contacted us privately. In any event, we are quite confident there was no intent to take GPL code in violation of the license. However, we will discuss this, decide the appropriate remedy, and respond to you privately. Thank you for bringing this to our attention."
Matter solved, no drama. But Theo has to open his big fat mouth. Theo: it's called taking the high road, even if you didn't start it. Try it sometime.
Besides, Theo himself cross-posts to other lists all the time to incite flame wars. Just look at last month's FreeBSD-advocacy list -- he cross posted during a thread about the use of his dear Puffy on an anti-blob poster. Pot, meet kettle.
The crux of Theo's complaint seems to be that they "went public" by emailing too many people. When some of the people in on the email pointed out that they were the ones that actually did the hard work of reverse-engineering, Theo said:
Wow. Just, wow. I often agree with Theo even when he's being a knob because he's usually got a point. But in this case, he's been embarrassed, and he is using whatever he can think of as an incredibly flimsy excuse to attack the people whom the OpenBSD developer plagiarised. What a childish, unproductive attitude. Pulling the code and giving up on the driver instead of taking them up on their offer to relicense the code is cutting off your nose to spite your face, and worse for your users. Just take your ball and go home, Theo.
Bogtha Bogtha Bogtha
Copying code without permission is the worst possible offense in open source land. His righteous indignation is absolutely justified. The appropriate response is "Our deepest and most sincere apologies. The code has been removed. Thank you for deciding not to seek any further retribution."
Arguing over not being nice about calling out this offense is cowardly and sociopathic. e.g. playing politics.
I've been using ndiswrapper with my BCM4306 802.11b/g device since before bcm43xx was useable on linux. Getting the bcm43xx driver to work involves firmware cutting and some other low level tricks I'd rather not do. I've never used a BSD and would never touch Theo's distro with a 99ft pole but I recommend using ndiswrapper for users who would like to use BSD and have a BCM wireless device.
eh, a lot of whining on both sides occurred - the whole thing could definitely have been handled much more professionally and politely by both sides. Buesch could've contacted Glocker privately via email and asked him to remove the copyrighted material from CVS, and encouraged him to contact the copyright holders-in-question if he were interested in obtaining assistance in getting his bcw driver to work. It's called giving him "the benefit of the doubt."
The interests of expediency (notifying Glocker and the other copyright holders, as well as people who did the reverse-engineering (wtf? why? I still can't figure that one out)) didn't serve either group's PR interests. Now people are lining up on the tired BSD/ISC vs. GPL battlefront again, fighting over something that only involves a few developers. I don't think Glocker should've committed that GPL nonsense into CVS, but I do think he should've been given a chance privately to correct his mistake. All this hassle and stupid flamewar because simple politeness was dispensed with. Gad, I'm glad I don't work on anything involving these groups.
When you share, and the other party does not, that is not sharing any longer. That is a gift. It always entertains me that the people who protest that they are most deserving of gifts of source code from the community are those who refuse to share theirs.
Bruce
Bruce Perens.
GPL does not allow someone to pick up the code and turn it into a closed source product.
BSD does. BSD code can be included into a GPL project, but the reverse is not true.
So the GPL product works hard to create a Broadcomm driver. The code gets included into a BSD driver. Broadcomm picks up the BSD driver and includes it into their closed source product. Broadcomm or some other company benefits from the GPL code and does not honor the orignal license.
Post anonymously - For when your opinion embarrasses even you!
I more or less agree with you--I use FreeBSD over linux myself, and am not a huge GPL fan, but the situation is a bit different from the cookies example.
I'd say it's more like "here you can have this cookie recipe, you can do whatever you want with it (make cookies, sell them, etc) but if you change the recipe AND distribute the cookies to anyone else, you have to be willing to share the recipe too"
The reason this was brought up in public is because it's public code. The OSS development model means that everything is public. If Theo doesn't want public discussions about public code, he should not be involved in development which involves everything happening in public.
Theo's excuse that "oh, it should have been done privately" is a smokescreen to try to distract people from the fact that someone on his team got caught violating copyright. It embarrassed him, and he got pissy about it.
Wah... What the hell? The author of some code contacts the OpenBSD to communicate that copyright was infringed upon. The OpenBSD guys explode in a series of "zealot" name calling. I guess I can see some sense in privately contacting the OpenBSD dev. But on the other hand, it's in the OpenBSD development tree. Probably it's a good idea to tell people that it shouldn't be there.
Reading the initial email, I can't find any hint of malice. Just expressing the facts and offering to provide a license for the code. If this mailing list blows up because of something so unbelievably trivial, it doesn't seem like a fun place to hang out in. It's just weird.
But something else bothers me about the response too. It seems like the people there are *upset* that the original person informed them of the copyright infringement. I mean, nobody denied it. Everyone seems to agree there was an infringement. It just seems that some of the OpenBSD people think that the Linux people are assholes for choosing to license their code under the GPL... And apparently it's even worse to ask people not to infringe on that license.
That's just bizarre... It kind of makes you wonder who the zealots are... Personally, I'm kind of neutral on the subject. I like the GPL in some instances, I like other licenses in other instances. But, I just can't quite wrap my head around BSD guys (of all people) taking such a strange stance...
Except if this was done in private no one who pulled the tainted code from the public CVS would know. There would be copies of the code floating around in public that were in violation of the GPL. It had to be public to guarantee everyone knows (Especially Broadcom) that the BSD code in the public tree is actually GPL code.
It turned a spectacle only after Theo responded the way he did. The correct response would have been "Oops, you are right, there seems to be a problem. We'll sort it out". With this response there wouldn't have been any spectacle and everybody would have been fine afterwards. Michael could have made first contact by email but equally well what he did was within reason. If Michael would have started be creating an thread on /.
that would have been out of line, but not this.
After all Marcus did copy code into his own project
stripping out the original copyright notice and distributed the result in violation of the copyright
Is this not the real beef in here?
>>> Nobody disputes that GPL code was committed to OpenBSD CVS.
Theo tried to dispute this many times by trying to ridicule Michaels point
by making strawmen about whitespaces and stuff.
It is just that Theo was not succesful when he tried to dispute this.
I managed to catch front-row seats to the whole battle myself. Buesch (the Linux bcm43xx developer) posted a formal but not in any way harsh question to the BSD developer on the public bcm43xx list and to the BSD list. In any language, when communicating in unfamiliar places with unfamiliar people, using more formal dialects is almost always the rule. Some people find the higher dialects offensive, but almost everyone appreciates the attempts to not sound like one of the local street punks hanging out around the corner at the strip mall trolling for some action.
Apparently the OpenBSD people were put off by this, which is unfortunate. And apparently they were so focused on making it yet another OpenBSD vs The World incident that they completely lost sight of the goal of both projects, which is to create Free and Open drivers for other people to use, despite the hardware specifications not being available. It's an unfortunate situation, of course.
Hopefully after everyone has a chance to reflect on the situation, the OpenBSD developers will realize that even though many other situations are actually OpenBSD vs The World, this is not one of them, and the Linux bcm-43xx team was not only willing to work with them on relicensing code, they also published the results of an incredible reverse engineering effort for anyone, including the OpenBSD team, to use in order to achieve this goal.
I seriously cannot believe this. Why should the discussion focus on shooting the messenger? A developer was caught infringing on copyrights pants down. The infringement is hard to do without intent. Would you deal with such a "rogue" developer privately, or send a mail to project mailinglists (perhaps a core or dev list) which likely would be public anyway? Maybe OpenBSD would mail people privately, but can you not understand that others decide otherwise? If your developer makes these kinds of mistakes, the issue WILL be public and you WILL have to make a statement sooner or later.
:)
Transparency on copyright issues is just as important as transparency on security. It serves as an example to all open source projects to be watchful about these issues. This is not only about OpenBSD. OpenBSD is a mature open source project and they have nothing to be insecure (huhuh) about. Sometimes OpenBSD may have exploits, sometimes it may have copyright issues. We live, we learn. Code-wise this is a small issue and it's a fixable issue, as the bc43xx developers said in their statement.
I find the approach of the bc43xx developers perfectly defendable. The first mail was clear, diplomatic, complete, and explicitly offers to work out a deal. That's more than you usually get when you infringe on someone's rights! Unfortunately, the only result of it was another episode of "the Theo Show". Even though the issue was broadcasted, the OpenBSD project still had a great immediate opportunity to contain the issue. Instead, the bc43xx developers doesn't receive much but irrational unconstructive replies, intentional misinterpretation, blaming people for OpenBSD's own developer's decisions, etcetera.
If going public with an issue is inhuman, how is turning the debate into a flamefest human? It was shameful to read. The Theo Show IS the public spectacle. Perhaps it is part of how he defines his personality. In fact, this rogue attitude seems to work for OpenBSD - OpenBSD regularly gets a lot of mainstream exposure from these kind of fights. Maybe it's what saving OpenBSD from becoming irrelevant. Well, good for them. They probably make a great OS (I use FreeBSD exclusively). It's just too bad that they haven't got a Broadcom driver.
( ^_^)/
The unfortunately consequence of your action may well be the next time you or another GPL developer make a mistake involving BSD/ISC licensed code, you will be publicly burned at the stake first with no good-faith attempt for you to correct privately what may well be an honest mistake. You know de Raadt's got a vengeful streak - he's still holding OpenSSH over everyone's heads, um des Gottes willen. I think the majority of the people agree with you, Michael, that Glocker should not have committed the GPL code to their CVS; the real sticking point is that you didn't offer the man an attempt to remedy the situation privately and in good faith.
'Inhuman' hardly describes being open about copyright violation. Michael was polite in his initial message; the immediate responses were to flame him. It's hard to accidentally include someone else's driver code in yours; Theo still kept saying that it was clearly an accident.
As for leaving GPL stub code...it would have been difficult to fully audit the driver code to see how much needed to be rewritten. Probably some GPL code would have stayed in the driver through release.
But since Michael was able to discover his code in the bcw driver, it was being distributed. *That's* clearly illegal. If only a few people had CVS access and nobody was actively distributing the bcw driver, then Michael wouldn't have had a case, or even known about it. They didn't even take that step with a non-working driver. I have no sympathy for the bcw maintainers.
I'll admit it, I've done that very thing (copy some code in order to bootstrap a project). But I put all sorts of comments around tainted code, and I make damned sure that every single line of tainted code is rewritten before that code, or a product based on it, is released into the wild.
Theo and Marcus both come across as graceless and petulant children. At least Marcus decided to be childish quietly. Theo's ongoing rants about "the inhumanity" of it all just get hysterical after a few posts. Yes, the original email probably should have been more private. But the response from Theo is completely and utterly over the top.
Regards,
Ross
Not only in this, but in thread in general Michael Buesch shows remarkable restraint. He is the one with a legitimate grievance and he is being insulted ad infinitum.
This is not a matter of GPL vs. BSD. It is a simple matter of breach of copyright. Everything else is bullshit.
None of these facts are relevant to the discussion. The sole issue is that Michael Buesch made a public spectacle out of Marcus' mistake. It should have been addressed privately between developers, and then broadcast publicly if discussions were unsuccessful. Regardless of whether you believe Marcus' actions were a mistake or a theft, you must give someone with his track record the benefit of the doubt. By embarrassing him publicly, Michael destroyed Marcus' motivation to work in bcw(4) and benefit the non-GPL user communities.
Even Jeff Garzik, one of the bcm43xx developers, admitted that Michael's actions were wrong. It's unfortunate that Michael Beusch is more concerned about defending his actions than correcting the injustice.
I agree with you that doing in a public forum was harsh and that responding privately would have been more polite and possibly would have lead to a better resolution. But I don't agree with Theo's hyperbolic characterization of Micheal and the others as a bunch of GPL fanatics relishing at the opportunity to drag an OpenBSD developer through the mud and then try to make him come back begging like a dog (yes he used both those metaphors). Micheal and the others were probably a little angry, with good reason, their code had been copied without permission and without credit. How would you feel if you saw another open source developer was taking your work and passing it off as their own? My guess is responding in a public forum was their way to both get back some of that credit and perhaps give a little vindictive shaming. Not the purest of motives but not entirely out of line either.However Theo's first reaction was to turn the situation into an attack on Micheal. Note in the first email Theo sent his first suggestion of how the problem may be resolved was "Maybe he'll just delete the driver and quit even trying, because you chose to cc so many people, and malign him. Maybe he'll simply replace every single line that looks similar, and then he could rightly not even mention any of the efforts of people like you". So his first suggestion is that the developer quit, his second is that the developer remove any GPL code from the driver (denying the GPL authors credit is given as a prominent benefit here). No where in the email does he directly acknowledge the option that the bcm43xx developers did give, to relicense a bunch of that code under BSD. To me it sounds like Theo had no interest in coming to a constructive solution and instead was just trying to turn the situation around into an attack on Micheal and the others. Note that despite sending the email in a public forum their entire dialog was very polite, constrained, and actually trying to find a solution. The only other thing they could be faulted was stating their belief that the copying was deliberate and the developer knew he was violating the GPL, considering the developer was an experienced BSD contributor I'd say these beliefs are valid.
Note that by the time Marcus had gotten around to responding (no idea if he was hesitating or if he hadn't read his email yet) Theo had already turned the thread into a full flame war (with him doing all the flaming). Also Theo had already presented the idea, multiple times, that Marcus just quit and never acknowledged the idea of asking the original authors to re-license some of the code (which they repeatedly said they would do) as a valid solution. In my opinion Micheal Buesch bears very little responsibility for the developer quiting, Theo basically left him with no other option (besides contradicting him).
I stole this Sig
Of course it is. Of course, most people don't realise this, because the evil, inhuman Michael Busch used his time machine to travel back to 2005 and plant fake mailing list archives saying that the reason they chose the GPL over the BSD license was because they didn't want it taken proprietary especially by Broadcom, because of particular features of the open driver, when we all know it's just an evil, inhuman plot against Theo and OpenBSD. Thanks for alerting us to this deviousness, AC!
Bogtha Bogtha Bogtha
Actually, a number of times Theo characterised their complaint as being about copyrighted whitespace and variable names, even after being told to look at the code. Example:
Bogtha Bogtha Bogtha
Going public was the only way to make sure any tainted code would be caught. And even then it's not certain.
Why are you even trying to defend the practice of surreptitiously using GPL code to derive a product destined to be released under a non-GPL license? That's deliberate copyright violation. Buesch has every right to be royally and publicly pissed.
And the BSD folks are damn lucky his first response wasn't to go to a lawyer.
So, no, it doesn't appear Buesch has any ax to grind at all. All he did was shout "Thief!" as someone was running away with stolen goods.
And now people are pissed that one of their friends was caught as the thief so they're playing victim to the best of their abilities.
Insulting windows users just ain't any fun to us seasoned opensource users is it. It is like trying your wits against a duckling, one that has been run over and chewed on by the rats. Far better to cross daggers with a person of your own calibre, even if in the case of you BSD lovers it is an undead calibre.
But very well, I shall engage you on the battlefield, as long as you promise to stay down wind of me.
BSD is the thief and the thief does NOT get to complain about how the victim responds. If you break into my house I am not obliged to send you a polite letter first to ask you to please return my stuff, I send for the police, I do that publicaly and if they wake up everyone in your street and haul you out in front of your neightbours in your Steve Jobs underwear while they go about reclaiming my possesions then all the better.
The BSD people involved really should have known better then to do this. Contrary to what some people think both BSD and GPL people strongly believe in copyrights (what differs from closed source supporters is just how much control the author has over the user and/or further authors). You may not like either the GPL or BSD BUT for either to work they must respect the other.
Buesch might have done this in private BUT it is his decision and his decision and alone how to handle this. The offenders do not get to dictate how the victim voices his complaint. Theo should shut the fuck up, apologize for his and his team actions and be damned glad no formal complaint is being launched in the courts.
Just how much code is there in BSD anyway that is not there legally? Were there is smoke, there is fire.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
What, it was all a viral GPL-pervert scheme to trick righteous BSD developers into copying their work?
By offering to negotiate including their code in the BSD project?
Mind the Gap
How any code from a reverse engineered spec that blatantly just guesses at a lot of things is better than something written with the docs is far beyond me.
I'm going to venture a guess that you're either not a professional software engineer, or still fresh out of college and very low on real world experience, then. At the very least, you've seen the codebases at very few companies, or you've just been very, very lucky.
I've had to throw out code and start fresh because the original code I was given was code that had been written originally years ago by an outside contractor brought in to do it, then maintained for the next two years by the hardware engineers themselves, under the premise that they're engineers, they've got a C compiler and a SAMS book, what more qualifications did they need? I was brought in because they couldn't figure out how to add some new features they wanted. The reason wasn't because the new features were tricky, the reason was the code was so hacked up it was impossible to change anything without breaking everything else. Alas, this level of code is all too common at companies that see their primary product as hardware rather than software.
I've also seen horribly base code that needed to be replaced at companies that had paid software engineers maintaining it the whole time. Why do you think the fact that they were paid software engineers somehow magically makes their code any better? It was crap, and the only reason they were able to get away with it was because no one outside their department ever saw it. There's no easier way to hide bad coding than to work inside a corporation on proprietary software. It's the easiest place in the world for it to occur, and often the hardest place in the world to get incompetent engineers off a project.
"Convictions are more dangerous enemies of truth than lies."
The bcm43xx driver doesn't even work!
You can share with groups as well as individuals. The main difference is that sharing with an individual can be regulated closely - if that person doesn't share in return, you know never to share with that person again and can enforce a social penalty for not sharing. With a group, you need rules to do that, and possibly more than just social mechanisms to enforce them.
Bruce
Bruce Perens.
This left me to think that when Theo commits social gaffes, it is not his fault and he can't help himself. We all have our lacks, issues, and strengths.
I'm sorry, but I cannot agree with you on this. The way Mr. de Raadt treats other human beings is simply abusive, and there is no external factor than can explain his behavior in any fashion that would justify coddling it. Unless you are seriously willing to argue that the man is not, in a legal sense, mentally competent, then it is most certainly a problem that lies at his feet, and we should take no pity on him for it. To do otherwise is to suggest that he isn't, frankly, sane.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Theo telling somebody else to watch what they say and to whom they say it? Maybe when he learns to take his own advice he'll be less of a joke.
Game... blouses.
GPL: I buy everyone a round because the license of the bar says that everyone else will also buy a round when it is their turn.
BSD: I buy everyone a round because hell, I am just a nice guy and I want everyone to have a beer even if that means I will end up paying for all the beer being drunk.
Closed source company: Hell, I like you BSD, keep them coming.Eh, my round? I left my wallet at home, say BSD, how about a napeleon brandy mate?
BSD: Sure, we are all mates.
GPL: You are an idiot BSD. But hey, make mine a double.
Get it?
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Sorry, but when someone's called on you to explain seemingly-illegally-copied code, telling them to "go fuck themselves" is not a bloody option. Try that in the real world sometime, and see how fast an indictment for copyright infringement and the corresponding civil suit comes flying in.
Also, you say he "kill[ed] a truly free implementation of the driver in question," you are totally missing the issue. The entire point of this debate is that the bloody driver wasn't free at all! It was GPL'd code, which gives you the rights to use it within the terms of the GPL. Stripping the legitimate author(s) name(s) from the code and relicensing it under a looser (or, in the case of the GPL, tighter) license is one of the main things the GPL and other licenses are designed to prevent.
I find it regrettable that Michael decided to go so public with this (indeed, as others pointed out, it could probably have been solved privately) but it is absolutely his right, as the "sorry little fuck" who owns the copyright on the code, to protect it as he sees fit. I think the OpenBSD team should be remarkably relieved that Michael diplomatically approached the issue and offered to assist in relicensing the code instead of simply suing Marcus and the other perpetrators of this infringement.
So stop heaping abuse on the guy simply because he chose to protect his legal right to have his original product (the code) used only under the license he selected for it and to not have it used outside those boundaries by anyone else, whether by accident or design. Instead, give him credit for offering to assist in reaching a constructive solution to the issue.
-- Andrew Morritt
I wholeheartedly concur.
To further illustrate your point, people should look at the source code some of those companies are forced to release, either before going belly up or due to some other circumstances.
My favourite example is the supreme abomination which is the evily hacked up Zaurus kernel (as released by SHARP). The thing "compiles" with about 500+ warnings to begin with. And that is only an early outside indication of the rot within. Its like a vile smell on a corpse trying to warn the unwary away.
For spectacularly and obviously misguided closed source code take look at how Samsung concocted their printer/scanner drivers for Linux. Its frightening.
And of course, just like you, I did work with closed source corporate projects. That stuff can give one nightmares.
This is a problem of the FOSS community turning on itself. If there was a GPL violation, the proper thing to do is own up to it and seek a re-license, which is what the owner of the GPL'd code wanted.
I am still reading the whole Gmain thread, and am quite shocked by Theo's comments. I agree with another fellow who said that FOSS wireless driver development teams should work closely together to ensure the proprietary world doesn't overwhelm the effort. But, I digress . . .
The core issue is whether the BCW developer copied GPL'd code, which the holder of the GPL copyright asserts. Plenty of clean examples were given, and the ability to investigate the entire tree for both sets of code makes it a quick search issue. Much better than the SCO/M$ v. IBM suit. Theo's response to the allegation is immature at least:
1. Ad hominem attacks: calling Mike inhuman and attacking him for making the issue public.
2. Irrelevant: saying that the bcw code does not work so there's no copyright issue. Copyright speaks to content, not functionality.
3. It was an accident: Claiming the bcw "accidentally" copied GPL'd code. How can you accidentally copy entire blocks of code?
4. That the code copy was temporary scaffolding: which counters #3, above. You can't claim the code copy was an accident or unintentional then say the copy was intentional for a short period of time. Theo says the code was copied to get other parts of the bcw driver to work, then would be re-written. The problem here is twofold. First, the code was copied and checked into the repository under BSD licensing, which is a violation in-and-of-itself. Second, putting the code there pending re-write means the re-write would be a derivative of the original GPL'd code---which is still a copyright violation.
Above all, the entire line of discussion is not relevant. There's a claim of copyright violation. If the code is there, then it is a violation, whether or not it was "accidental." This extends beyond issues of header calls which are so ordinary as to not be copyrightable. (At least, under U.S. law, if there are only a few ways to convey an idea, then it cannot be copyrighted.) Whether the accusation was public is not relevant; was there a violation? The responsible action would be to investigate when the GPL'd author made the accusation.
What those who want activist courts fear is rule by the people.
Below are two edits to the piece here.
The first. Let's pretend this was GPL code taken by Microsoft, not OpenBSD, for inclusion in Windows. To me, that looks like Mr Buesch is being decent.
Now let's switch to the opposite - Mr Buesch as a Windows developer, finding Microsoft code in OpenBSD Again, a response like that if it were from Microsoft to the OpenBSD team would be considered highly decent.
I think Michael Buesch did well
As far as I can tell, it was your obligation to post publicly that the code was GPL licensed before someone else could have been damaged by making an assumption that the code was not GPL licensed.
If that project had a nice, empathic woman who has been a parent of teenagers to handle your notice, the reply would have been an apology, followed by amplification of your notice, and a calm talk about what to do. Instead, you got Theo :-)
It's as if you ran over a land-mine and people then tried to criticize you for running.
Bruce
Bruce Perens.
How is that a sticking point? The _only_ sticking point is the copied code. (Why people keep calling this theft is beyond me; infringement != theft)
Furthermore, imagine a scenario where this wasn't taken public ASAP. Anyone that went to the code after the copied code was added but before it was corrected would be liable to think that the code in question was under a completely different license. In this scenario it is in the author's best interest to notify as many people as possible that his code has been hijacked. The more people that know, the better it is for the author, and for the people who would potentially have used the code. Sure, you'll be stepping on a few toes in making the issue public, but it has to be done in order to protect yourself and everyone else from misappropriating code. There is *no* other way to accomplish this as effectively, that I am aware of. Why take the man to task for protecting his assets, kindly and tactfully at that? I'm not sure that we're reading the same thing, because from my end, it looks like Michael was being kinder and more patient than I can reasonably expect from anybody that I've ever met. The only alternative would be to ask the developer to make a *public* statement about the entire thing, which would have the same effect. The only difference would be the name of the person delivering the message, which is _completely_ trivial.
Maybe you could argue that it might have saved the developer some face if he was the one delivering the message publicly. You know what would have saved him even more face? Not relicensing code that wasn't his in the first place.
Listening from far away, it seems that asking about this on the mailing list is fair. Maybe some people wished it was done person to person, but that judgement cannot except in some insane person's head (like Mr. De Radt) equate to being inhuman, which we usually reserve for someone who does much worse things.
In fact Buesch was quite level-headed about it even when De Radt threw all kinds of crap at him and then other people on the mailing list jumped on board too. Considering that BSD is the key channel for the GPL work to find its way into manufacturer's machinery, I'd say the authors (who by the way deserve that title quite a lot more than the guy who went off in a huff) could stand to have been a little angrier in tone and still be within their rights.
It looks in fact like it was Theo de Radt's fault alone for blowing it up into a huge problem and he is solely responsible for the BSD guy to quit his attempt to import the GPL code.
Theo should have said the very first time, "OMG I'm sorry we'll pull the code, and I'll contact the developer and get right on it with you. Thanks for being understanding."
This is clear proof to the world not that anyone is inhuman. It does suggest that De Radt is unfit for whatever leadership position he has, and should resign, or at least get someone else to be in charge of similar issues in the future.
Perhaps someone could write some guidelines to BSD people concerning what is appropriate in terms of "paraphrasing" other code or making use of someone else's reverse engineering. It seems other people could fall into a similar problem and they better hope De Radt is not online that day.
95% of the conflicts between human beings - supposedly civilised ones - would not exist if not for the overly inflated ego of the participants. There is no issue here. Either the usage of the code was wrong or right according to strict licensing definitions. Since it appears everybody agreed to the fact it was wrong, the next step is clear. Why the fuss, and the emotions, and the name calling? Mistakes happen.. just fix them and move on.
As a matter of fact, I've just inherited a substantial fortune from a relative overseas. If you could front me a few grand to cover the foreign probate fees and wealth import taxes, I'll be in a position to send quite a bit of business your way.
Mind the Gap
Trouble is that programming is not a solitary occupation anymore; it's done in large groups, and much of it involves face-to-face communication, compromise, and group decision making.
But Mr.Theo (Did I mention that you are using SSH) Raad did not respond in a calm way.
Copyright infringement only occurs when someone other than the copyright holder attempts to distribute a copyrighted work without permission of the copyright holder. There's no problem if you 1) hold the copyright or 2) do not distribute the work or 3) distribute the work under the terms of the GPL or 4) make other arrangements with the copyright holder such that you can legally distribute the work.
Working on the code on your own and never distributing it to another person is fine. Checking in GPLd code to a public repository without fulfilling one of #1, #3, or #4 is infringement.
how to invest, a novice's guide
I would certainly not call it grand strategy, but come on. He wrote half the messages in the email thread, nearly every one of which ignored the actual copying of code, instead attacking the way the real authors of the code handled the situation. Clearly he wants people to look at how the complaint was made rather than what it is people are complaining about.
The fact that this is childish behavior just confirms it. This is the original "Follow my rules or I'm going to go play by myself." The whole OpenBSD project started when he couldn't get his way with NetBSD.
Buesch could've contacted Glocker privately via email and asked him to remove the copyrighted material from CVS, and encouraged him to contact the copyright holders-in-question if he were interested in obtaining assistance in getting his bcw driver to work. It's called giving him "the benefit of the doubt."
1. Benefit of the doubt of what? Oh, honey, I tripped, fell and impaled myself on his dick? (excuse the example.)
2. This kind of thing must not be done quietly because people might have downloaded that code by then believing it was properly licensed under BSD and would not have known that in fact the code was tainted.
3. This kind of thing must not be done quietly because doing it quietly does not provide a valuable lesson: Do not strip other people's copyrights/licenses from code if you are distributing it (yes, a CVS accessible to public is also distribution.)
You can't handle the truth.
I find it regrettable that Michael decided to go so public with this (indeed, as others pointed out, it could probably have been solved privately) - you are wrong. It was absolutely necessary to make sure that everyone knew about this for at least two (2) good reasons. First reason is to make sure that nobody downloaded the code from the cvs and used it for further coding assuming it was licensed under BSD. Second reason is to provide a valuable lesson that nothing goes unnoticed and that mistakes of this kind (stripping other people's copyrights and licenses from code, and I personally cannot imagine how this could be ruled a mistake,) would not be repeated by others.
You can't handle the truth.
Really? I read him as being defensive of his contributors. Like a thinking, caring supervisor would. There's no question it could have been handled better. The very public airing of the violation was almost certainly intended to hurt rather than help. Theo made that point.
Every time something like this comes up, I hear a lot of "Theo is an asshole", but then I read the messages involved and I fail to see the assholery. He seems to be smart, articulate and protective of his project--as I'd expect him to be. About 70% of this bruhaha is juvenile "Linux vs. BSD" cockfights.
Potato chips are a by-yourself food.
I read the whole thread, too. I saw Theo defending his developer. I read your post threatening to take your ball and go home as more of the same juvenile antics. It's a goddamn OS, you nutjobs. And a lot of you people whale on evangelicals for believing in the Bible. I guess I understand--it's not like the Bible is nearly as important as a Linux distribution.
Potato chips are a by-yourself food.
I thought that open source was about sharing code.
It used to be. If you read a book called Homesteading the Noosphere by Eric Raymond at some point, he writes in it about something he refers to as a gift culture. GPL advocates will try and tell you otherwise, but in reality the GPL is a gross perversion of that concept. The BSD license is a lot closer to it.
The entire motivation of the GPL is fear. You will never hear a GPL advocate try and tell you that the GPL is a good idea for any reason other than to supposedly protect you from corporate predators. That is the only reason why it exists at all.
The motivation behind Linux's development, likewise, is primarily driven by fear and hatred...generally of Microsoft, but also of the corporate world in general. A lot of the people working on Linux are doing so primarily because they want a free version of Windows, but without Microsoft's criminal behaviour associated with it.
The motivation behind the BSDs' development is (or was, anywayz) very different; a genuine love of programming, and from that, a desire to produce something that anyone can use, no questions asked. That is what the basis of the earlier gift culture was; it was based on you doing what *you* felt was right, rather than your actions being dictated by whether or not someone else chose to reciprocate, or actually irrespective of what they chose to do at all. It's called self-responsibility.
There are a lot of things that the FSF have done that I continue to feel outraged about, but polluting the original motivation behind open source has to be one of the very worst.
First, let me say that I am totally shattered and disappointed. I am doing work in both the Linux and BSD communities, and this is by far one of the most destructive flamewar I have ever witnessed. It will be hard to repair the damage done... This is very sad.
It's only fair to note that while there has been lots of stupid flaming on the OpenBSD side as usual, the linux bcw developers, while trying to appear rather nice and careful on the public mailing lists, where laughing their asses off about the whole thing behind the scenes in their IRC channel. They didn't exactly try hard to keep things peaceful either.
http://bcm-specs.sipsolutions.net/irc-logs/bcm-sphttp://bcm-specs.sipsolutions.net/irc-logs/bcm-sp
http://bcm-specs.sipsolutions.net/irc-logs/bcm-sp
http://bcm-specs.sipsolutions.net/irc-logs/bcm-sp
Some quotes, the first one actually shows the igniting spark. Others show how people enjoyed watching the flames.I find it disgusting that some people seemed to enjoy watching an already brittle relationship between two deeply related communities fall into pieces. Do they also throw stones at public demonstrations and then go home to watch the riots on telly?
Paraphrase (with accurate chronology):
Michael (in public):
The OpenBSD BCM driver contains GPL'd code. Here are 12 examples of code copied verbatim from our source tree.
Theo (also in public):
Are you saying you want Marcus to quit? Why did you CC so many people?
Stefano:
This is a major GPL violation. We just want it resolved. We'd love to see a clean OpenBSD BCM driver!
Theo:
Why are you trying to drag Marcus through the mud? Do you want him to quit?
Joseph:
Theo, Michael CC'd us because we're part of the BCM reversing team. Can we help you clean the driver up?
Theo:
So you think Marcus should quit?!
Joseph:
No, we just said the opposite.
Theo:
And I ask again, do you see any reason why this whole rant accusing Marcus of copyright violations should have landed in your mailbox?
Michael:
Theo, we don't want you guys to give up! Just work with us to clean up the licensing status of the code!
Theo:
You're too late. Marcus quit. Are you not human? Are you surprised?
Michael:
Little bit, yeah. This was a major GPL violation, and it doesn't seem like an accident. Why are you arguing about it?
Theo:
Why are you still calling Marcus a thief?
Frankly, I have a hard time seeing how Marcus could be so thin-skinned as to be hurt by a GPL challenge, and yet somehow work on the same team as Theo. Presumably, Marcus never actually talked to Theo. It's all for the best, then. Marcus will be happier someplace else.
I guess this is enough to disregard the fact that it was GNU/Linux - *not BSD* - that was the first truely free Unix like OS.
;-)
;)
Apparently Bill Joy started putting BSD together in early 1977. The FSF didn't exist until October 1985. From what I've read, the UNIX sources were distributed completely without restriction even earlier than 1977, since due to the antitrust case against them, AT&T weren't allowed to begin selling an operating system. The only charge that was being put on the source was the price of the mag tape, and I also don't know of any license restrictions either. Given the degree of university collaboration that existed early on, I can only assume that there weren't any. AT&T only became restrictive with the source themselves when they were released from the ban on selling it.
AFAIK, the main reason why UNIX wasn't used much outside of universities very early on was because of it originally being written for the PDP-8 and 11, which were very different architectures to the 80386. The first port that I know of to the 80386 that took place that I know of was the one done by the Jolitzes, which ended up becoming (more or less, anywayz) what we now know as FreeBSD.
It sounds like you've got the version of history that Stallman wants people to have; i.e., the one that makes him look like the sole father of the entire practice of releasing source code in general. From what I've been able to figure out anywayz, the truth is a bit different. UNIX was developed very collaboratively from its' inception, and as you yourself probably know, without source, that can't really happen.
Probably enough to disregard the fact that the "evil" FSF was already making available a shitload of software when Bill Gates was still dabbling in GWBASIC
The ANSI standard for Minimal BASIC is dated 1978, the same year Microsoft was founded. According to Wikipedia, the FSF was founded in October 1985...Looks like you're off by a couple of years. According to that, BASIC existed *before* the FSF. Also...I don't know what your own definition of "free" is, but Stallman himself was selling copies of Emacs during the 80s.
Rewriting history must be a nice hobby.
Reading history is a great hobby, sure...it allows me to know when it's been rewritten by someone else.
You might dislike it, you might have another, but *ours* has been there well before BSD did *anything*.
Unfortunately that simply is not true...it's what you've been told. Don't take my word for it though...Go and do some research of your own. Some links that might help:-
Some accounts of early UNIX history from the UNIX Heritage Society. There's some early source code there as well.
20 Years of Berkeley UNIX.
Some info about where Stallman originally got at least some of his ideas.
The Art of UNIX Programming, which has a fair amount of historical info as well.
A rather non-canon biographical portrait of Stallman.
Another second opinion on Stallman, more or less in general.
Maybe if you take the time to go through this material, you might start to realise what my beef is. I don't like bullies, and I don't like frauds...Stallman is both, which from reading the above, you will learn. I strongly urge anyone else here who views me as merely a baseless troll to go to the above links and read that material as well. If I am a troll, the point of it is very simple:- This Emperor has no clothes.