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