Greg Kroah-Hartman's announcement for free Linux driver development [story] included the necesssary legal framework to honor NDAs when creating GPL'd drivers. This allowance was discussed on the OpenBSD -misc mailing list. In a public exchange with Greg KH, Stephan Rickauer said, "now these companies have a great excuse to keep specs locked up tight under NDA, while pretending to be 'open.' The OpenBSD project has made clear more than once how this will hurt Free Software in the long run. Signing NDA's ensures that Linux gets a working driver, sure, but the internals are indistinguishable from magic. It is a source code version of a blob." OpenBSD founder Theo de Raadt [interview] called the free driver effort a farce, "you are trying to make sure that maintainers of code -- ie. any random joe who wants to improve the code in the future -- has LESS ACCESS to docs later on because someone signed an NDA to write it in the first place. You are making a very big mistake."
Greg pointed the discussion to his FAQ in which the final question asks about the BSD operating systems and the answer states, "what about them? They are free to do whatever they wish, I have no input into their development at all, sorry." Greg further clarified, "well, as my goal is to have a GPL driver for everything, I don't see how this can hurt :) Now others can have different goals, and that's great and fine. I'm not saying you can't work on something if you wish to do so."
Marco Peereboom replied, "the GPL has become the new safe harbor for companies who don't want to play in the open source world. Do you really think Sun is GPLing Java because they think it is the right thing to do? The answer might surprise you; they are doing it under pressure from investors because they are not making money. Now how do you give something away but not really? Exactly, Copyrights + GPL. What a fantastic combination! You get inherent patent protection because no one can use your code and copyrights take care of the rest."
From: "Stephan A. Rickauer" [email blocked] To: greg Subject: Free Linux Driver Development! Date: Wed, 14 Feb 2007 08:39:36 +0100 On the subject of http://www.kroah.com/log/linux/free_drivers.html Now these companies have a great excuse to keep specs locked up tight under NDA, while pretending to be "open." The OpenBSD project has been made clear more than once how this will hurt Free Software in the long run. Signing NDA's ensures that Linux gets a working driver, sure, but the internals are indistinguishable from magic. It is a source code version of a blob. It now became clear you also don't give a damn about freedom. Well done, Greg. -- Stephan A. Rickauer ----------------------------------------------------------- Institute of Neuroinformatics Tel +41 44 635 30 50 University / ETH Zurich Sec +41 44 635 30 52 Winterthurerstrasse 190 Fax +41 44 635 30 53 CH-8057 Zurich Web www.ini.unizh.ch RSA public key: https://www.ini.uzh.ch/~stephan/pubkey.asc -----------------------------------------------------------
From: Greg KH [email blocked] Subject: Re: Free Linux Driver Development! Date: Tue, 13 Feb 2007 23:50:05 -0800 On Wed, Feb 14, 2007 at 08:39:36AM +0100, Stephan A. Rickauer wrote: > On the subject of http://www.kroah.com/log/linux/free_drivers.html > > Now these companies have a great excuse to keep specs locked up tight > under NDA, while pretending to be "open." > > The OpenBSD project has been made clear more than once how this will > hurt Free Software in the long run. Signing NDA's ensures that Linux > gets a working driver, sure, but the internals are indistinguishable > from magic. It is a source code version of a blob. I'm guessing that you did not read the followup FAQ about the program at: http://www.kroah.com/log/linux/free_drivers_faq.html Please see the final question and answer on that page. thanks, greg k-h
From: "Stephan A. Rickauer" [email blocked] Subject: Re: Free Linux Driver Development! Date: Wed, 14 Feb 2007 10:06:36 +0100 Greg KH wrote: > On Wed, Feb 14, 2007 at 08:39:36AM +0100, Stephan A. Rickauer wrote: >> On the subject of http://www.kroah.com/log/linux/free_drivers.html >> >> Now these companies have a great excuse to keep specs locked up tight >> under NDA, while pretending to be "open." >> >> The OpenBSD project has been made clear more than once how this will >> hurt Free Software in the long run. Signing NDA's ensures that Linux >> gets a working driver, sure, but the internals are indistinguishable >> from magic. It is a source code version of a blob. > > I'm guessing that you did not read the followup FAQ about the program > at: > http://www.kroah.com/log/linux/free_drivers_faq.html > > Please see the final question and answer on that page. I did read your FAQ but I can't see how it rebuts what has just been said. You seem to be happy with signing NDAs. If the result is a readable and understandable GPL'ed driver, companies will be even less motivated to release programming documentation. This will lead to a GPL-lock-in since you simply replace the vendor not willing to share specifications with an NDA'ed GPL developer not willing to share those, but GPL code only. This is not about freedom but about prostitution. All other projects will have to continue to reverse engineer GPL drivers. A very short sighted strategy of yours, but that's just my opinion. I am just disappointed how easily prominent people like you give up freedom, accompanied by clever-sounding excuses. The price of freedom is eternal vigilance... -- Stephan A. Rickauer ----------------------------------------------------------- Institute of Neuroinformatics Tel +41 44 635 30 50 University / ETH Zurich Sec +41 44 635 30 52 Winterthurerstrasse 190 Fax +41 44 635 30 53 CH-8057 Zurich Web www.ini.unizh.ch RSA public key: https://www.ini.uzh.ch/~stephan/pubkey.asc -----------------------------------------------------------
From: Greg KH [email blocked] Subject: Re: Free Linux Driver Development! Date: Wed, 14 Feb 2007 01:42:25 -0800 On Wed, Feb 14, 2007 at 10:06:36AM +0100, Stephan A. Rickauer wrote: > Greg KH wrote: > > On Wed, Feb 14, 2007 at 08:39:36AM +0100, Stephan A. Rickauer wrote: > >> On the subject of http://www.kroah.com/log/linux/free_drivers.html > >> > >> Now these companies have a great excuse to keep specs locked up tight > >> under NDA, while pretending to be "open." > >> > >> The OpenBSD project has been made clear more than once how this will > >> hurt Free Software in the long run. Signing NDA's ensures that Linux > >> gets a working driver, sure, but the internals are indistinguishable > >> from magic. It is a source code version of a blob. > > > > I'm guessing that you did not read the followup FAQ about the program > > at: > > http://www.kroah.com/log/linux/free_drivers_faq.html > > > > Please see the final question and answer on that page. > > I did read your FAQ but I can't see how it rebuts what has just been > said. You seem to have missed: Q: What about the BSDs? A: What about them? They are free to do whatever they wish, I have no input into their development at all, sorry. > You seem to be happy with signing NDAs. If the result is a > readable and understandable GPL'ed driver, companies will be even less > motivated to release programming documentation. This will lead to a > GPL-lock-in since you simply replace the vendor not willing to share > specifications with an NDA'ed GPL developer not willing to share those, > but GPL code only. Well, as my goal is to have a GPL driver for everything, I don't see how this can hurt :) Now others can have different goals, and that's great and fine. I'm not saying you can't work on something if you wish to do so. But for you to try to tell me that I shouldn't work to achive my goal, as it somehow conflicts with your goals, is pretty rude, don't you think? There is no reason you can not extend the same kind of offer to companies to help your project achieve success. > This is not about freedom but about prostitution. I'm sorry you feel this way. *plonk*
From: Marco Peereboom [email blocked] Subject: Re: Free Linux Driver Development! Date: Wed, 14 Feb 2007 09:02:34 -0600 Man I *love* unforeseen consequences! > > I did read your FAQ but I can't see how it rebuts what has just been > > said. > > You seem to have missed: > Q: What about the BSDs? > > A: What about them? They are free to do whatever they wish, I > have no input into their development at all, sorry. This is awesome, you protect the vendors by pretending to provide free code. This is so funny that I have tears in my eyes. The GPL has become the new safe harbor for companies who don't want to play in the open source world. Do you really think Sun is GPLing Java because they think it is the right thing to do? The answer might surprise you; they are doing it under pressure from investors because they are not making money. Now how do you give something away but not really? Exactly, Copyrights + GPL. What a fantastic combination! You get inherent patent protection because no one can use your code and copyrights take care of the rest. Now Sun gets to shut up the open source world; hey we "gave" you (some) of our code now didn't we? And they get to pretend to be open source friendly to boot! The GPL hippies are beat at their own game :-) The GPL being used to protect companies and IP! Oh the irony makes me tingle. > > > You seem to be happy with signing NDAs. If the result is a > > readable and understandable GPL'ed driver, companies will be even less > > motivated to release programming documentation. This will lead to a > > GPL-lock-in since you simply replace the vendor not willing to share > > specifications with an NDA'ed GPL developer not willing to share those, > > but GPL code only. > > Well, as my goal is to have a GPL driver for everything, I don't see how > this can hurt :) Sounds like shortsightedness to me. Works for me! Didn't your mommy, or government, tell you to share with others? > > Now others can have different goals, and that's great and fine. I'm not > saying you can't work on something if you wish to do so. > > But for you to try to tell me that I shouldn't work to achive my goal, > as it somehow conflicts with your goals, is pretty rude, don't you > think? I am pretty sure your goals are very much the same. Do a s/GPL/BSD/g > > There is no reason you can not extend the same kind of offer to > companies to help your project achieve success. I can't. I am not for sale for some shinny pebbles. > > > This is not about freedom but about prostitution. > > I'm sorry you feel this way. I am sorry you don't see the damage you are causing. It does illustrate the linux mentality and standards. > > *plonk* More appropriate would be "dee dee dee"
From: Theo de Raadt [email blocked] Subject: Re: Free Linux Driver Development! Date: Wed, 14 Feb 2007 02:51:31 -0700 > I'm guessing that you did not read the followup FAQ about the program > at: > http://www.kroah.com/log/linux/free_drivers_faq.html > > Please see the final question and answer on that page. It is a fucking farce. You are trying to make sure that maintainers of code -- ie. any random joe who wants to improve the code in the future -- has LESS ACCESS to docs later on because someone signed an NDA to write it in the first place. You are making a very big mistake. I have been fighting against this for nearly a decade. I don't know what you signed an NDA for in the past, but I can ASSURE YOU THAT OTHER PEOPLE WITHOUT THE DOCS CANNOT FIX THE BUGS IN THOSE DRIVERS SO THEY SUCK MORE THAN DRIVERS WRITTEN WITH FULLY OPEN DOCS. PERIOD. You cannot FAQ that problem out of existance. It is people like you who are closed.
Coding
I am not a kernel programmer, but couldn't someone code a driver from this project, and make it documented enough that the BSD's could make a driver from the GPL work?
Not if the NDA specified
Not if the NDA specified they couldn't, which is both valid and common.
Of course a third party, not
Of course a third party, not having signed the NDA, can always write a clean room implementation, by letting dev A look and describe the way the GPL code interfaces with the hardware and dev B implement a new driver based on this description, using another license. That's much easier, than reverse engineering a proprietary driver.
Only theoretically. Any
Only theoretically.
Any person who didn't sign the NDA might redevelop a driver (- if the readability of the original version allows at all). However the hardware vendor might go after anyone who tries, because doing so could violate "trade secrets" and other "intellectual property rights" wich only the original "NDA programmer was entitled to use".
Developing a free driver from the NDA version might be possible, but deducing the exact hardware capabilities and functionality could be non-trivial. My bet is on obfuscated C and assembler code - or that's what I at least expect from creepy vendors and NDA happy open source programmers...
There is no "NDA version".
There is no "NDA version". NDAs apply to persons, not to the produced work in this case, as the drivers will be available under GPL. Reading the code written with by someone accepting an NDA, but made freely available, and writing down your own interpretation of what you think this code tries to achieve, is only the dependent on an NDA, if you unnecessarily sign one as well.
IANAL, but since interpretating text falls under freedom of speech and since the sueing party agreed to make the text freely available (even if the proxy-creator signed an NDA), sueing would be a farce. True is that a company can always (try to) sue and depending on the legislation and jurisdictation in your country, there are reasons to fear the deep pockets, you stand up against. I do not see the "trade secret" and "ip" you can violate on something that is made freely available, regardles if your base is GPL or BSD licensed text. (And yes, I know there are always propaganda whisperers, trying to convince you the world is flat.)
> Developing a free driver from the NDA version might be possible, but deducing the exact hardware capabilities and functionality could be non-trivial. My bet is on obfuscated C and assembler code - or that's what I at least expect from creepy vendors and NDA happy open source programmers...
I didn't say it is necessarily simple, but a lot more simple, than having a binary blob to deal with.
Developing a free driver
Developing a free driver from the NDA version might be possible, but deducing the exact hardware capabilities and functionality could be non-trivial. My bet is on obfuscated C and assembler code - or that's what I at least expect from creepy vendors and NDA happy open source programmers...
But the GPL specifically guards against this case. The code must be provided in the format in which it is authored. The only way Greg can provide the obfuscated code is if he codes in an obfuscated style. Not easy and prone to more failure than success!
Also, so much of the handwringing lies in everyone suspecting Greg, et. al. will make poor deals. They are experienced Linux driver developers and experienced Free Software advocates. The have the benefit of my doubt until they screw up, massively, and in public.
IIRC, GPL'ed code must be
IIRC, GPL'ed code must be provided in the format in which it was *copyrighted*, not authored per se. This means that a person could release GPL'ed code in any intermediate format (e.g. assembler or bytecode); it is only by convention that this is not done and that human-readable code is provided, because most current GPL publishers today only publish GPL'ed code for conscientious reasons. In fact, it is not legally provable that such human-readable code ever existed in the first place, as it constitutes a trade secret, so developers can claim that the obfuscated version is the "original source." And because "human-readability" cannot be objectively measured, and because the term "GPL" is becoming an advertising buzzword in certain markets, it is more likely that we will be seeing more of this kind of thing in the future.
The GPL provides the ability for an author who wishes to support Open Source to publish his/her works protected by a legal framework that ensures it will continue to be free. However, the GPL doesn't specifically prohibit those wishing to publish non-free(*) works from doing so, nor does it prevent them from using the GPL to do so; after all, the purpose of the GPL is *not* to prohibit. Nor are these usage loopholes unique to the GPL; it is also possible to publish forms of non-free software under BSD, MIT, and many other OSI-approved licenses.
Publishing these kinds of drivers (that we anticipate will be nearly as buggy and unusable as BLOB-based ones) will have mixed consequences. They'll give companies any easy way to meet their "open source" marketing requirements without really giving much to the community, but they may also be easier to reenignE than existing drivers. But whether we like it or not, this kind of thing is likely to get more prevelant in the future, and the open nature of Open Source development almost ensures that there's nothing we can do to control it.
(*) Note that I use the term "non-free" in the strictest sense, as in "not entirely free" as opposed to "entirely not free".
IIRC, GPL'ed code must be
"The source code for a work means the preferred form of the work for making modifications to it."
http://www.gnu.org/copyleft/gpl.html#SEC3
I agree that a third party
I agree that a third party could write an implementation, and
I know that it's true that probably the manufacturer could interpret it as a
brand secret
Theo de Raadt is right!
Well, he used the same words that I used about this, and I say more, so what? Drivers with a lot of structs with a lot of hexa numbers. Hey, but it is GPL'd! Well, a GPL'd code that is useless to anyone without the documentation. The Linux guys are so wrong about this at all. Where is true freedom? I would really like to know Linus about this. He doesn't care? Putting code in the Kernel that just one or two people can understand?
I'd guess that Linus isn't
I'd guess that Linus isn't overly concerned. I doubt he has the capacity to check that every patch he receives is backed by documentation. I don't think he likes nda's but I also don't think he has the power to combat them like tdr does.
yet another bsd flagwaver?
> Well, a GPL'd code that is useless to anyone without the documentation.
Did you write any useful code yourself? Or just yelling for "anyone"?
> Where is true freedom?
Nowhere on Earth. Surprized, eh?
Greg's track record
Well, since he has been wrong once, maybe the BSD folks have a point.
Greg's track record
The thread reminds me of the one time I dealt with Greg KH. I was only trying to report a valid issue with his software but I got the rudest responses I've ever had within the open source community. He started with little more than a RTFM but he was too lazy to read my e-mail properly.
Theo has a point here. It won't change anything because Greg is only interested in his own aims. I'd like to have true open drivers as much as the next Linux/BSD user. I don't doubt that ndiswrapper has done more harm than good in this respect. Hard to maintain NDA drivers are certainly not ideal. It's hard to say whether they'll do more harm than good, however. The free OSs need sufficient clout to be able to sway hardware companys but do we need to dance with the devil in order to first build up that clout?
Idiots
As much as I agree - in principle - with the concerns raised (I'm not convinced that Greg's "strategy of small steps" is not a better idea than the BSD fundamentalism, but I'm not convinced that the short-term convenience of a working GPL'ed driver is worth the long-term problems that come with "officially" [insofar as that Greg is a core Linux kernel hacker] sanctioning NDAs, either), but I've got to say that all the BSD developers participating in this thread - Rickauer, Peereboom and de Raadt - come across as (I'm sorry for being blunt) total idiots.
Way to go, guys. Greg was right to killfile Rickauer (I would've done the same thing to all of them myself); you really need to get it into your heads that if you want to convince someone of your position, it's not a good idea to insult and flame them.
I really like OpenBSD, but I can see why the BSDs in general and OpenBSD in particular are - ultimately - niche projects that failed to ever attract a larger userbase beyond the hackerish types (which, I might add, is a pity - but it's the fault of people like de Raadt etc., so they really have noone but themselves to blame).
Ah well. More power to Greg - even though NDAs are bad, and even though I think he's doing the wrong thing here, I'm glad someone's sticking it to those asshats.
Well done, you're another
Well done, you're another kernaltrap troll with a personal vendetta against openbsd developers because you didn't read enough. There were 3 or 4 quite politely worded emails sent to gkh before any flames started flying and they didn't actually start flying until gkh rather rudely stated that he doesn't care about open source, just about getting linux drivers.
As tdr stated, this is something openbsd has been fighting for for a long time so it's not as if this is a brand new issue that he just decided to be rude about for no reason. If you're not willing to fight a little for something you believe in, what's the point in believing in it.
Lastly, you have a pathetically thin skin if you're so offended by a few harsh words in light of much larger issues. Theo has no desire to convince you of his position because he doesn't consider you worth his time. Get over it.
"politely worded
"politely worded e-mails"????
He was called a "prostitute".
Like I said, you did not
Like I said, you did not read enough. There were 3 or 4 separate emails sent to gkh, not all of which started threads and only one of which actually made it onto kerneltrap. Please go read the misc@ archives. The word prostitute occurred in none of these emails and, frankly, when it did appear, it was used in a rather mild way.
I think you're just trying to avoid the real issue, which is ndas, not politeness.
not quite
Actually, he indirectly called him a pimp. But whatever.
I dont. I dont like
I dont.
I dont like OpenBSD.
They feel like immature BSD hackers.
NetBSD had the best attitude of the *BSDs.
Unfortunately, they suffer from lack of active devs.
FreeBSD is ok, but IMHO Linux really outpaced FreeBSD too.
PcBSD is a desktop offspring, it wont have the driving capacity of
FreeBSD.
I dont. I dont like
How can you say that the BSDs leaders are immature hackers? Do you feel able to program something as secure as the Theo de Raadt's OpenBSD or something as portable as pkgsrc or NetBSD, something as reliable as FreeBSD or something as vanguardist, well thought and scalable as DragonFly?
IMHO, the BSD hackers are the top most developers in the UNIX world, they are creating nice, elegant and vanguardist things and they are giving their work as totally free. No better thing like that.
I do not want to take off the Linux glory, but Linux has the hype, a lot of developers and a lot of company support that move that operating system through different rivers.
> IMHO, the BSD hackers are
> IMHO, the BSD hackers are the top most developers
...who just didn't make it through the river. What a pity.
strawmen
I think before we try to have a debate on this, we should take down some of these strawmen.
First of all, Linus is not going to let anything into the kernel that is literally obfuscated. So any NDA'ed device drivers will presumably be correctly formatted, and with some minimum level of structure and comments.
Second of all, nobody said anything about allowing patented or trademarked code here. Marco Peereboom injected that into this debate, along with some kind of completely OT discussion about Java.
Stephan A. Rickauer seems to be laboring under the delusion that hardware companies care about being seen as "open," and want to use this driver collaboration program as a way to get a PR bonus. In reality, most hardware companies care little about what the open source community thinks of them. It doesn't sell widgets. Their main customers are usually OEMs or kids who want to play Quake {$n+1}. OEMs are locked into contracts that force them to put Windows on every machine, and serious gamers need to use Windows because it's where all the games are.
I'm not sure how I feel about this whole issue, honestly. I agree that NDA'ed drivers are much less desirable than ones obtained from open specs or reverse engineering. They are probably just a step above running Windows drivers under emulation, like ndiswrapper does.
However, a lot of people seem to have the mistaken impression that if we keep holding out for open specs, the hardware companies will eventually break down and say "oh, you guys were right, we *have* to open up our hardware!" I'm sorry to say this, but it doesn't work like that. Hardware companies make their decisions based on financial considerations. They want to minimize risk. Even opening up the specification for obsolete, 5-year-old hardware can potentially open them up to patent infringement suits. In contrast, giving the specs to one person who is under an NDA is a much more controlled risk.
The choice is not, as Theo de Raadt seems to believe, between "forcing the companies to open up their specs" and accepting an NDA'ed driver. There is no "force" here-- no way that Linus or anyone can compel them to open up their specs. It's their own decision, legally speaking. The choice is between a closed-source binary driver (like the ones NVidia keeps pumping out), and an in-tree NDA'ed driver, which might be a little bit less informative than it could be, but which should still be a good starting point for reverse engineering and exploration.
I'm sorry to hear that there is such a big disagreement between the Linux and BSD camps on this issue. I think it's good for Linux to have competition and I hope that BSD is able to keep up on the driver front, whether by reverse engineering or otherwise.
hmmm
Well, I agree with your point, but, actually, I guess that the documentation they want about a piece of hardware is not how the hardware is done or assembled, nor even how it does some operation, but simply
What are the registers? What is the code that I need to send to register X to do action Y? How is organized this bytes that operation Z returns? What code do I need to send to your hardware so it returns to me if there is any problem?
See? there is no need of more details than those. nVidia or ATi don't need to tell the word how they made the drawing of a square faster in their chip, they need to tell just what must be sent to the chip to draw a square. Any x86 has the registers AX, BX, CX, DX and others, I think that that CX is a counter and AX is an accumulator or something like that (my ASM is not that good :P), you put the values there and the thing works. You don't need to know how Intel or AMD made the processor faster, smaller, etc. You just need the registers and the interruptions to make it work. It's like when you by ATMEL kits with micro-controlers, it comes with a HUGE manual saying what each pin does, etc. You don't need to know the internals of the thing.
strawmen?
There's a conondrum here.
If the hardware companies are willing to have the documentation transferred to C source code (thus, headers that represent all the magic constants and so forth with meaningful names), why the need for NDAs?
(Now that would be a lot of work, and the result would be quite valuable, GPLed or otherwise, in my experience.)
If they are only going to allow the drivers to implement some subset of the full functionality described in the docs, the GPLed drivers and any drivers derived from them will be crippled. Sure, the source could be used in reverse engineering, and the want to think that the GPL is supposed to protect the rights of anyone receiving the source code to do such reverse engineering, but that is definitely a tested aspect of the GPL. And I don't recall anywhere in the GPL where it explicitly says that hardware itself must be allowed to be reverse engineered. Come to think of it, I don't think such a provision is possible, without conflicting with other important provisions of the license.
To the extent that the drivers do not include definitions of the magic numbers with reasonably mnemonic names, the drivers become blobs. How is it that can't be seen?
joudanzuki
How do you know that the
How do you know that the Linux kernel devs will purposefully obsfuscate the names of these magic numbers? This is a gray area, but I would hope that the Linux devs would play on the side of the community rather than the companies to the greatest extent possible--i.e., not talking about the documentation or explicitly copying it into the source, but still commenting the code so it's comprehensible....
another strawman
About this non-disclosure thingy, no, hardware companies are not going to forever be keeping their docs under the financial equivalent of blood oaths.
Perhaps you don't know about the heyday of automobiles. We used to get real manuals from the factories, enough to overhaul the carb, the brakes, or the engine, enough to pull almost any part and repair or replace it or even custom it if we wanted.
In the thirty years since somebody decided that information was too dangerous, have cars really improved? Airbags that kill people. Seat belts. Improvements in mileage? No, we just put up with cars with no muscle these days. And race cars are "confined" to the tracks, where they are "supposed to be" and "don't impose any danger on anyone". (Uhm, yeah. Right.)
No, this crazy upside down world where nobody trusts anyone without some sort of under-the-table agreement to "not do anything bad" is going to destroy itself keeping secrets. Then the hardware companies that remain will recognize that NDAs are basically an exercise in cutting off their own noses to spite their own faces.
Theo and company may use strong words, but they want to spare us some of the fallout (and I mean that literally).
In the thirty years since
In the thirty years since somebody decided that information was too dangerous, have cars really improved?
I don't know where you're going with this, but... yes, cars are much better than they were in the 70s.
Seat belts and airbags have become standard. I don't care what you think; objectively, these things save lives for very little cost. Antilock brakes are another lifesaver, if your part of the country experiences snow or rain.
Exhaust is now a lot cleaner due to catalytic converters and other inventions.
Cars now have crumple zones that can absorb impacts. Your average muscle car from the 70s would survive a collision very well, but the people in it would not. The reason is that since the frame was rigid, the deceleration was very rapid, leading to very bad results for the meat bags inside. Some people can't understand the physics of this. If you are one of them, just realize that "crumple zones = lives saved" and leave it at that.
No, we just put up with cars with no muscle these days. And race cars are "confined" to the tracks, where they are "supposed to be" and "don't impose any danger on anyone". (Uhm, yeah. Right.)
What are you talking about? Have you lost your mind? Nobody would want to drive an Indy 500 race car on the highway. Its milage would be awful; it only seats one person; it has no trunk. It has barely has enough interior space to store a chihuaha, once the driver is inside. Most race cars are so low to the ground you would be staring up at everyone's license plates, especially considering how high off the ground many modern SUVs are. And of course, serious race cars are almost unbelievably high-maintenance, and probably would make Jaguars look low-maintenace.
Actually, cars today have much better acceleration than those of years past. Turning radius has improved immensely, too. If you raced a sports car from the 70s against a sports car from today, there would be no contest.
So in summary, you're wrong in every particular. And I didn't even bother to see how this car analogy fits into the debate at hand.
It's better than a binary only driver..
It would be nice if companies would hand over docs without an NDA.. that is certainly preferable for everyone.. but some of them just won't, and getting them to hand over docs under and NDA with the ok for someone to write a free driver (be it GPL or BSD) - that's something and it shouldn't be ignored.
Now, if companies start doing this and drivers start showing up as GPL, but without the documentation, you guys can go ask the companies for the docs yourself (with or without NDA) and make your own driver using the GPL driver as a reference implementation.. or you can reverse engineer the GPL driver, it's certainly a hell of a lot easier than trying to reverse engineer a binary driver isn't it?
I'm sure Greg and his merry band will be pressing for docs without NDA, but in the event that an NDA is the only way forward, it's certainly better than no driver at all.
Finally, just let me say, docs are not the be all of driver development. Great to have them, but docs can be wrong and you won't have any idea until you implement them. At least a driver, you can test. So unless you intend to start asking hardware companies for their VHDL, you're better off having a working source code driver to confirm the docs (if you can get em) are accurate.
The way I see it...
First time I read about this "free drivers & NDA's", I started thinking "How are they going to do this? How can they make this happen and avoid 'being tainted' afterwards?" Only way I can think of is for one person (or persons) to sign the NDA's and convey the "driver writing information" to other person(s) - this way drivers are fully GPL and as open as possible, for all to use, reverse engineer etc. That's just my 0.2 € on a matter of implementing this.
On the matter of strong words exchanged, it is understandable that people feel strongly about certain things (otherwise they, nor their words, wouldn't be here) but calling someone idiot, stupid or derogating other side in an argument is, in my experience, best way to make them not listen to you.
And BTW, I completely agree with QuantumG - it is far better that the closes binary blob; anything is better then nothing .
Ans that is exactly the
Ans that is exactly the problem with Linux weenies...
Nothing is better than something in this case.
> Nothing is better than
> Nothing is better than something in this case.
...for BSD morons. Conversation over, Mr. Anonymous? :)
i'd say that the guy, who
i'd say that the guy, who codes the driver, based on NDA-locked documents, should also document his code properly. But he can't because he is bound to the NDA, and hence cannot explain why he is doing certain things in his code.
this will make it harder for people who come after the NDA-bound developer, who want to extend or fix the driver: they still will be bound to do reverse engineering, reverting back to the initial situation: no docs available.
i don't think developing drivers based on NDAs is the way to go. imho, only the full and unlimited disclosure of the hardware provides the basis for good and maintainable drivers
filip (not verified)
filip (not verified) says:
....sure, but is it more difficult to patch the code or to reverse engineer it from scratch (both without docs) ?
I dunno, but it seems to me that it's easier if there's a starting point...
As others have said, this would be utopia, but in the absence of h/w mfgs publishing the specs, is it better to have to work blind (and publish source code) or to have one guy read the specs (and publish source code) ?
Again, it seems to me better to go with option #2. Either way you have no specs, at least one way you have GPLd code that met the specs (in the estimation of one developer)
nda variants
It depends upon the NDA.
option a: You cant tell people which driver you are writing *until* it is released
option b: You cant talk anything about it *until* it is released
option c: You cant talk about it at all.
Option c is not much good. But there are other options.
The Perils of Overstating
...And understating.
This isn't true: anyone can use your code, if they obey the terms of the GPL (which says that you must licence your patents to producers of derivative works). That it can't be close-sourced is a win for the "GPL hippies"; far from being beaten, they win.
However, this too is unreasonable:
The purpose of the GPL is to maximise freedom in a utilitarian sense. That is, the freedom to the community, rather than the next developer. For specs not to be released obviously harms the community interests. Possibly they gain more than they lose by having a GPLed driver available (which is, on balance my judgement), but it's not cut and dried.
Goals clash inherently, but political activism is open to us all; discouraging, or even obstructing NDA-based development is legitimate by the same logic that drives developers to use the GPL in the first place to disrupt closed-source derviatives and hence create an incentive to produce open-source derivatives.
I find it somewhat humourous that each side here has their arguments backwards. In the GPL corner, we have "What right have you to tell me what to do?", and in the BSD corner "It's important to limit what contracts you can accept, so as to maximise overall freedom". Ho hum.
I can understand the NDA
I can understand the NDA argument, but this portion of the email is pretty unedifying:
"What a fantastic combination! You get inherent patent protection because no one can use your code and copyrights take care of the rest."
Err, except that putting X out under even GPLv2 will implicitly grant the relevant patents to anything that's actually implemented in X. When the license explicitly reads something like 'You have the right to use this code and modify it and distribute it', it pretty much estops Sun from using patents to prevent you from doing what they've just affirmitavely said you can do.
"Now Sun gets to shut up the open source world; hey we "gave" you (some) of our code now didn't we? And they get to pretend to be open source friendly to boot! The GPL hippies are beat at their own game :-)"
Errr, what's your frigging problem here? As far as I know, Sun haven't obfuscated the Java code, so this isn't that NDA thing.
How is 'pretending to be open source friendly' by putting out your flagship product under the GPL any different from actually being open source friendly by putting out your flagship product under the GPL? Are you moaning because it makes financial sense for them? If so, good! This isn't a zero sum game, and we're not here to demand altruism. I'm as anticapitalist as the next man, but if it's profitable for Sun to turn Java into free software, it suits me just fine.
Or is this just a crybaby whine because they didn't put Java out under YOUR favourite license? Awww izzy wizzy wazzums den. There's you, there's your computer. Feel free to write your own sodding BSD Java.
I always wondered why Linux users got the reputation for zealotry when BSD weenies are just as prone to shrill, pointless bitching.
Yawn.
Yet another religious argument between licensing purists. Personally, I prefer open-source software, but more than anything I just want software to work. A pure-minded piece of software that doesn't run on my hardware is useless to me. I think in general Linux strikes a good balance between practicality and ideology.
>Personally, I prefer
>Personally, I prefer open-source software, but more than anything I just want software to work.
Me too, but if wasn't for the license wackos we wouldn't have Linux or the BSDs. The ones who fiercely guard liberty do us all a favor.
That said, look at the history. It has taken time for Intel and HP and Dell and even nvidia to come to terms with the open source community. They have all begun the effort to rub elbows and figure out how it all works, and it's a process of building trust and gaining footholds.
So I think this immediate blanket rejection of NDAs is based on a rational fear, but it's also destructive of the process that the history has shown can work and is working.
I guess that puts me in the "small step" camp, so be it.
If nothing else, maybe the rabid anti-NDA people should wait and see what comes out of it instead of just assuming that Greg K-H is going to throw all principle to the wind.
You dont get it... TdR is
You dont get it...
TdR is arguing from a position of not wanting anything from the vendors other than documentation for the hardware so that we can write drivers.
We dont want vendor written drivers they are awful! Look at the intel written ethernet drivers for an example (there are many others, e.g. linux drivers for the equinox sst multiport serial cards written by the vendor they were so terrible they were never mainlined...) For the same reasons drivers written by authors under NDA are equally bad, they are not maintainable since without access to the docs other developers can't fix bugs or have to guess at the solution etc. Worse if the original authors under NDA move on and the compnay looses interest, which is in their interest (Forced obselesonce), you are left with perfectly good hardware that dosent work with modern software, or using antiquated software to continue to use the hardware.
Small steps to what ???? Off a cliff like a lemming ?
You say you prefer open source drivers but you act as if you want blobs, two of the companies you name as getting cozy with the opensource community have done it entirely on their own terms (nvidia and intel) they have given you nothing but blobs or poorly written drivers which they patch with mysterious voodo diffs no one else is privy to the reasoning behind... (nvidia)
Comedy Gold.
I love it when *BSD folks rant and rave about the perils of having more GPL-licensed drivers out there when their own drivers can be used for whatever purposes by anyone without any code ever having to be contributed back. And yes, Theo is still immature--film at 11!
Can't understand the fuzz
Can't understand the fuzz some very idealistic people are making.
This is simply an attempt to get more reliable drivers into linux and will work out or not.
If it works out, Linux get more drivers, it's not an consequence that BSD-licensed driver development is being hurt.
If it doesn't work out, nothing is lost but time.
It is highy hyphothetical to state that this offer will cause damage simply because it allows companies not to release their specs to the public.
I do agree - it's a farce.
Making things short - I am wondering, did anybody in the Linux kernel world ask the question "what are GNU licences for" and "what is freedom"?
Greg, Linus and other guys simply, selfishly, sold the whole community.
Yes, _they_ will have *their*, trusted code in *their* kernel. What a pity that nobody else will be able to actually reuse it, because nobody will really know what actually this code makes with the hardware and how to modify it.
Thus, this "GPL'd" software will be nothing different than a binary blob.
Making free drivers, and promoting NDA's in linux kernel, Greg, are two completely different things. I do understand that linux kernel badly needs the help of vendors. But do you need it that badly to actually sell the reason of making FLOSS? Not only freedom, but actual openness as well?
Yeay for the free software and myopia of some hackers.
I think that is 10 times
I think that is 10 times faster to write a bsd driver from a gpled one that works than to write a bsd driver directly from specs... What's the problem....
You think that eh? Have you
You think that eh? Have you done it?
It seems highly unlikely, given that the process of writing a bsd driver from a gpl consists of reading the code to figure out what the docs said, then forgetting all the code and starting from scratch. There's also danger in that, if anything other than the hardware info is taken, the bsd driver can be argued to be a derivative of the gpl one. There's no way this can be done faster than reading documentation and can generally only be done safely by experienced hackers whereas a driver newb could work from docs. (See the kerneltrap interview with, I think, Damien Bergamini and Jonathan Gray).
Interview:
Interview: http://kerneltrap.org/node/6497
Here is an actual example...
...though certainly not the worst one. This is what this sort of code looks like:
http://lkml.org/lkml/2006/11/3/149
What exact inputs trigger the issue? Why only CD burning? 0x1fff must explain it, don't look behind the curtain!
While this is vendor-supplied code, if a developer under NDA succumbs to pressure from the vendor to obfuscate or not document, there is no recourse. Hint: The developer is often a contractor who would like to get paid.
OSS needs hardware documentation without NDA
Your votes please!
OSS_needs_hardware_documentation_without_NDA
Using european legislation?
There is a legal couterpart for anyone selling products in france (and I think europe): Providing all needed technical information about a product bought there if a customer requires it!
The real problem is the lack of class-action => You will probably win, but after years of individual battle that will cost a lot, just to get specs that become obsolete ine the meantime. I think this is the reason why no-one uses this possibility.
But maybe the FSF could handle this and kick nvidia/ati/connexant and others asses so hard some day... that they would publish their specs...
I'd guess that Linus isn't
I'd guess that Linus isn't overly concerned. I doubt he has the capacity to check that every patch he receives is backed by documentation. I don't think he likes nda's but I also don't think he has the power to combat them like tdr does.