Broadcom Driver Dispute Uglier Than Necessary
Michael Buesch posted a message addressed to Marcus Glocker on a few wireless and Linux kernel development lists, as well as CC'ing several members of the Broadcom reverse-engineering team to the effect that GPL'ed code had been copied verbatim and committed to the bcw team's CVS repository. He posted late on April 4th. Theo De Raadt responded roughly an hour and a half later, focusing almost solely on the manner in which the notice was given. Were it not for the restraint of the majority of developers reading the lists, the issue would have quickly turned rather ugly.
The Flame War
Reading Theo's response, one would think that Buesch had posted a vulgar message. However, on reading the actual thread, I read no real malice in Buesch's message. It appears to be a straightforward request to communicate about potential license violations. Buesch starts off suggesting a potential problem and then outlines the problems he sees initially. He expresses an interest in cooperating - if the BSD developers show cooperation by seeking permission.
Marcus Glocker's response came the following morning, and acknowledged that there were issues with the code:
Quoting:I am aware that right now a lot of lines in bcw are written in a way with a too close eye to your code. That's out of question, and I have already informed Theo about that fact before you got in touch with us.
What strikes me as odd is de Raadt's heated response, given he (allegedly) knew there were problems. And why would he refer to Glocker's mistake as an "accidental commit"? [quote]He should contact you, when he does not known that he's been found to have made mistakes?[quote]
and... [quote] As I understand it, Marcus' process involved borrowing a few pieces of the GPL codebase during his development process, so that he could write further stubs in other parts. Then his process was supposed to involve him commiting the pieces he had written himself, but not the momentarily written GPL parts. And that is where a mistake happened; as I understand it. I don't think he intentionally did it.[quote]
Less than twelve hours later, Glocker drops the driver altogether in what appears to be an overreaction to the Linux developers' request. Based on the messages, it appears he dropped it because he felt he had been attacked. Whether he was influenced by de Raadt, as suggested by at least one post, is unclear. What is clear is that he, nor de Raadt, ever attempted, beyond his initial response, to resolve the dispute at all in a way that would allow him to keep the code he was using.
Simply put, Glocker could have had the code - much of it anyway - re-licensed exactly as it was. If he needed to remove the offending code, it would only have been temporary, until he got the issue resolved. He could then have picked up where he left off. Instead, he chose to drop the whole driver.
de Raadt Steals the Show
What I found interesting about the whole affair was not that there was a violation, but the reaction when it was brought to the OpenBSD developers' attention. By all appearances - and I have little else to go on, Glocker did make a mistake. I believe his mistake was not 'accidentally' committing the code to the public CVS repository, but in how he attempted to work with the code. Although I am not a programmer, it seems prudent to me to keep the GPL'ed code separate until I've re-written the sections I needed to re-write. Instead, Glocker committed GPL'ed code, apparently several times. Even if he is telling the truth, multiple commits does not look at all like an accidental commit. No, his mistake lies in assuming he could commit the GPL'ed code, and then re-writing it, on the fly, so to speak.
There was, in fact a mistake - something that GLocker and de Raadt both acknowledge. They each make conflicting statements about the nature of the mistake. But worse, de Raadt chose to make a big deal out of the manner in which the notice was made. To keep things in perspective, this was not a BSA-styled swat raid on the OpenBSD headquarters, a al Ernie Ball. This was an announcement to the developer community involved in the development of kernel and wireless drivers. de Raadt never took the Linux developers' complaint seriously at all - a poor way to handle such a complaint. In fact, de Raadt resorted to name calling throughout much of the exchange.
de Raadt accused the Linux developers of "ganging up" on one guy, when, in fact, one developer, representing a team, issued a notice to other developers. de Raadt acts as if he is defending his troops against a rival military commander, trying to muscle in on his command. It's taboo in the military. The rest of the exchange, however, occurs between him and several other developers, most of whom appear to be from the Linux community. de Raadt's posts definitely misrepresent the views expressed by some of the Linux developers, and he actually went so far as to suggest the Linux developers had accused Glocker of "theft". That was not the word the Linux developers used, although they definitely expressed complete puzzlement as to how a developer working on BSD drivers could somehow "accidentally" copy and paste GPL'ed code, or to think doing so was somehow o.k. They believed the actions were intentional.
Although good leaders defend their troops, that generally applies when the troops are being wrongly accused. In this case, despite Glocker's apparent concession, de Raadt spent much of the time blustering about the nature of the notice. The better way to have handled the charge would have been to take it seriously - after all, is not our community supposed to be quick to resolve issues? By all appearances, Glocker did have an interest in seeking resolution, even if it wasn't the concession the Linux developers requested. Yet, de Raadt stole the show, quarreling at every chance with the Linux developers. In other words, de Raadt might have done both communities a favor by staying out of it. The issue might have been quickly and quietly resolved to everyone's satisfaction.
For Glocker's part, he only made two posts that I counted - one acknowledging Buesch's point and the other stating he was dropping development of the driver altogether. This was entirely unnecessary, and it is difficult to believe that he wasn't heavily influenced by de Raadt's antics. One doesn't have to be requested or even ordered to respond a certain way. Seeing a leader's reaction can, by itself, influence the way we react. That said, the Linux developer team might have been better served to bite their tongues until they were able to see how Glocker responded, before accusing him of intentional copyright infringement - even if they believed that to be the case. They at least waited until they saw de Raadt's response. They didn't even respond in kind when de Raadt referred to them using crude language.
The lesson is simple. Communicate and observe the licenses. There is no other way to put it. All of this could easily have been avoided if only Glocker had conferred with the Linux developer team. At the very least, de Raadt could have worked with Glocker and the Linux developers to remove the code until they resolved the issue. Our community is supposed to be different from the litigious proprietary world. That doesn't mean developers should let others take unfair advantage of them. Nor does it give us the right to stonewall and bluster in order to avoid a problem. It is difficult for us to claim we're different - and we do make that claim frequently - if we act the same as the non-free developers.
|Subject||Topic Starter||Replies||Views||Last Post|
|Really just a symptom of cultural change||Ed_0x1b||19||2,703||Apr 12, 2007 1:18 PM|
|We need to have Theo de Rant around...||cr||8||2,734||Apr 8, 2007 4:46 PM|
You cannot post until you login.