Is Open Source Un-American?by Tim O'Reilly
|Where do you come down on this issue? Is Microsoft justified in its extensions to Kerberos, given its license terms? Or is Microsoft defeating the spirit of the license? Try our new talkback feature and join the debate.|
I got a lot of email in response to my weblog, Shuttle Diplomacy Between Jim Allchin and Richard Stallman, in which I chronicled my efforts to mediate between Microsoft and the Free Software Foundation. I answered a lot of the email, but I have also asked some of the most vocal of the early respondents for their permission to reprint their email to me.
My responses follow each message. In most cases, this is the response as I sent it out in email. In a few cases, I've added a few extra points or made small edits.
I've organized the discussion into four categories:
- The best license for government-sponsored software
- Kerberos and the dangers of embrace and extend
- Breaking through the marketing firewall
- A wolf in sheep's clothing
The Best License for Government-Sponsored Software
A number of people wrote in with specific suggestions for licensing for government-sponsored software.
Jim Penny (firstname.lastname@example.org) wrote:
I am not comfortable with GPL myself, mostly because I think there is no way in the world to decide what is permitted under it. (What is a derivative work under copyright law, how can I integrate, how can I link?)
But, I think there is more than a bit of disingenuity in Allchin's preference for BSD.
Number 1 case in point is Microsoft Kerberos. It is possible only because MIT mis-chose the license.
I would like to see something of an intermediate between BSD and GPL which said something like, you are free to use our code for any purpose, including commercial, you are free to extend it in any way -- BUT, you must accurately and completely document any changes made to any file or wire format. This documentation must be placed free of charge in a public repository. You may not assert patent or copyright protection on independent implementations of the extensions as documented. If your documentation and implementation fail to conform, then you must make source code public.
Thanks. I think that this is the intent of the Sun Industry Standards Source License (SISSL), one of the two licenses the OpenOffice code is dual-licensed under. (The other is the GPL/LGPL.) The license is a little hard to read, but it basically says that your implementation will conform to an approved industry standard, or if it doesn't, that you will post specific documentation of the deviance from the standard as well as a reference implementation. See http://www.openoffice.org/license.html for details.
I would very much like to see a license like this (perhaps drafted with a little less legalese) become much more common.
Mathias Brossard (email@example.com) wrote:
I have a middle-ground for the RMS vs Allchin debate. It's simply the LGPL. It allows commercial developments without allowing IP hijacking (by preventing Embrace and Extend and other nasty techniques).
Thanks for your attention,
PS: Neither RMS nor Allchin will like (fully) this solution.
This is an interesting suggestion, and not without merit. In the end, I don't think that there's a single one-size-fits-all license. But it's really clear that we need some pressure to keep government-funded software (and other technology) available to the people who paid for it.
Jeff Root (firstname.lastname@example.org) wrote:
I just read your piece, "Shuttle Diplomacy Between Allchin and Stallman". I wanted to comment on one point, which you touch on in your piece.
You mention taxpayer funded software development (e.g., at universities), but I think this issue can and should be expanded to include discussion about all taxpayer funded research.
When my tax dollars are spent on research, shouldn't I have the benefits of that research? Should I have to pay a second time to use the results that I already paid for? But this is precisely the situation today.
RSA and Diffie-Hellman were funded (at least in part) by tax dollars. But the universities in question immediately filed a patent on both discoveries. Until those patents lapsed, I was required to pay license fees to private corporations in order to make use of the results of this research.
This situation has become the norm. Universities routinely patent discoveries and charge tax payers twice for the privilege of using them. This is immoral and unethical behavior; taxpayers fund universities to enrich the public, not the corporations.
I found something interesting while reading Steven Levy's new book, "Crypto". In the situation above, when the university patents something developed with tax dollars, the government gets a royalty-free license to use the discovery in any way they see fit. Note that this license extends to government agencies only; the taxpayer is still out in the cold.
And this is precisely the situation RMS has repeatedly warned us about. In the RSA and Diffie-Hellman case, the two universities worked out a cross-licensing deal so they could each use the algorithms without cost. And the NSA could use them any way they chose, since they are a government agency. The only people prohibited from using this discovery were the ones who had paid the bills in the first place.
Now, what about the GPL? I think the GPL (or LGPL) is required in this case, in order to preserve the people's right to these discoveries. Consider what we know about Microsoft's use of the Kerberos code. Kerberos was released under a license derived from the BSD and X11 licenses. Microsoft 'embraced and extended' Kerberos in an intentionally incompatible way. While they are legally entitled to do this, the result is to prevent heterogeneous networks from using Kerberos. This defeats the intent of the originators of the code. Given Microsoft's market share and aggressive promotion, it is more likely that Kerberos will evolve away from the putatively free code and move toward a proprietary implementation.
If Kerberos had used, say, the LGPL, then Microsoft would have been able to use the code just as well. But the resulting KERB.DLL would have been free software. This has implications for security as well as freedom. The only 'innovation' denied to Microsoft would have been an incompatible extention made only to frustrate competition.
While I have made this argument in the framework of software development, it applies with equal force to the full range of taxpayer funded research. With the recent advances in genetics, we stand on the brink of a new age. In the future, there will be entire classes of disease that will disappear from the human race. We will be able to extend a high quality of life well past 100 years. But these advances must be in widespread use. Should we allow the corporatization of our universities to provide these benefits only to those who have the price?
Allchin's view of the future is one where corporations can use taxpayer dollars to fund their research and development, while denying those same taxpayers the fruits of that work. Just as the Bill of Rights protected our civil liberties, the GPL is needed to protect our electronic freedoms. And *that* is the American Way.
I agree completely about patents, and the general problem of universities trying to profit from government-funded research. There's a general erosion of the concept that universities play a key role in maintaining and extending the public domain. When Bill Joy released the BSD Unix code, it was because he assumed that was what a research institution was all about. Ditto for MIT and the X Window System. Now, universities think that they are in the intellectual property business, with a mandate to maximize the return on their staff's work. This is a terrible, slippery slope. And frankly, I don't think that RMS and others who talk about the dangers of BSD/MIT-type licenses help the situation. It's the heart of the reason I spoke up on this issue. The battle between Linux and Microsoft is only one small front in a much larger war. The FSF could win that war, and find that the world was a far worse place, because of university patents in areas like biotechnology, or next generation computer hardware, or some area of research that isn't on any of our radar.
This is why I think it might be a net win for open source if we could get Jim Allchin to come out strongly supporting the idea that government-funded work should be in the public domain, or close to it. This seems like more of a win than just trying to make Microsoft look bad. ("Patriotism is the last refuge of a scoundrel" and all that.)
Regarding Kerberos, Jim insists that Microsoft's Kerberos implementation is interoperable. He admits that you can't use the additional Microsoft-specific features in other systems, but says that if it isn't interoperable, he will make it so. I'll be publishing those comments later this week or early next week, and have some private mail in to Jim pushing him to publish the specs for their changes.
Jeff then wrote:
Thank you for your reply. I think we agree on the basic problem with taxpayer funded research, we just have to find the solution. This dialog is a good start.
As for Kerberos, I don't believe that compliance with standards was an issue for MS until they started getting beaten up in the press. But this is really a side issue; I used that example to illustrate how the license used did not protect the code from being hijacked.
I noticed in the news this week that the team who gave us Dolly the sheep (now a *corporation*) have managed to transform a skin cell into a heart cell. We're on the seashore of genetics.
Jan Nieuwenhuizen (email@example.com) wrote:
While your piece has a number of interesting and softening points, I'd like just to make perfectly sure that there's not a little something about the GNU GPL that you may have forgotten.
You quote Jim Allchin saying:
I'm an American. Microsoft is an American company. We pay taxes. I don't see why government-funded software should be put out under a license that prevents us from using that software."
However, I'd like to argue that this wouldn't matter. For a lot of projects, especially USA-government-funded projects, the GNU GPL would still be the best choice. Why?
People like me, will quite certainly *not*, in our spare time, contribute to projects that, in the end, can be taken away from us-the-people-of-the-world, by a USA company like Microsoft (or whatever other proprietary software verdor). And neither would probably any other government in the world, if they have a clue.
That's why, for projects that should live outside, and get considerable input, from non-US-government sources, GNU GPL will work best. Otherwise, we (who know about the world outside the USA) will have to fork/start our own GPL'd version. In the meantime, Jim Allchin can ask himself all he wants and wonder about why his company is paying taxes to the US government.
But you knew that, and just want us to discuss and keep an open mind, Right?
David Skoll (firstname.lastname@example.org) wrote:
You wrote, paraphrasing Jim Allchin:
"I'm an American. Microsoft is an American company. We pay taxes. I don't see why government-funded software should be put out under a license that prevents us from using that software."
How does the GPL prevent Microsoft from using software? Microsoft has as much right to use GPL'd software as any other citizen or corporation.
What Microsoft _cannot_ do is take the code and make it proprietary without the consent of the author. I believe that this is perfectly just: If software is developed with taxpayer's money, then _everyone_ should have free access to that software and products derived from that software. I don't see why anyone should have the right to take publically-funded software private.
Actually, David, I don't think that what you've said is accurate. I agree that no one can "make the code proprietary." However, the "viral" characteristics of the GPL make it impossible to combine that work with other code without "infecting" that code with the GPL license provisions. If you have a proprietary business model, this does "prevent" you from using that software.
"How does the GPL prevent Microsoft from using software? Microsoft has as much right to use GPL'd software as any other citizen or corporation."
Obviously, "prevents" is a relative word. Nothing "prevents" RMS from using proprietary software either. But he finds the license provisions unacceptable for his purposes. Jim is just making the same point in reverse.
Obviously, as I noted in my original posting, from Jim's point of view, this is not a discussion about whether any individual software author should choose GPL or BSD or a proprietary license, but whether government-funded projects should choose those licenses. And my point is that if the government is funding software development, an argument can be made that the software should be published under a completely free license, so that it's equally accessible to people with proprietary and free software business models.
David then replied in turn:
On Fri, 2 Mar 2001, Tim O'Reilly wrote:
Absolutely. But I am unaware of any inherent "right" of software manufacturers to make money from proprietary software, so my answer to them is -- too bad. You can as easily change your business model as free software advocates can change their license.
OK. But Jim Allchin represents an organization which has huge financial and political clout, which is why his comments have riled up so many people. RMS is comparatively powerless; he can urge, but he cannot apply the same kinds of pressure as Microsoft.
Why is that? Why should people be able to make money from government-funded software? The argument that they've "paid" for it is specious. By "paying" for the software, you get to use it. You don't get to hoard it.
Clearly, if government-funded software is published under a BSD-style license, companies like Microsoft stand to benefit much more than smaller companies with fewer resources. GPL'd software levels the playing field.
Bryan Dumm wrote:
I hear you loud and clear. We went through the same exact problem with our ALFS [Automated Linux From Scratch - http://alfs.linuxfromscratch.org/] project and chose a BSD license in the end.
I think the conversation should really be on and what would happen if GPL software was sponsored and really thought out. We all see how the old licenses or BSDish licenses would work, but w/o really exploring a GPL scenario, we will never know if Jim's comments hold any truth or just bias....
I'm not sure I understand your second paragraph. What do you mean "GPL software was sponsored and really thought out" and "really exploring a GPL scenario"?
To which Bryan responded:
Sorry, me and my ramblings. :)
What I am saying is that Jim thinks GPL software is bad for the government. No one really knows if it is or not. We know that BSD and other types of licenses work, as people have been using them before with the government. Plus MS, etc. has no problems with those types of licenses.
We need, though, to explore a GPL/Government scenario to see if Jim's comments really hold water or not. I think [it's worth] looking at Linux and how it and other GPL projects have evolved, the way the community accepted them, and how do business's use this GPL technology transfer. Would the viral nature of the GPL hurt innovation under such a model? If the government put the product under GPL that would mean those other software projects building off of that GPL product, must be GPL and so on. What does this do?
Could dual licensing work for Jim? If Jim is really willing to talk and not just shut down the Linux community, then I think there is plenty of room for a good discussion. MS and Linux together on Tim's page... :) Who woulda thunk it.
Glad to know that you are still leading out there. You are one of the more rational leaders in our community and I appreciate that. BTW, I just finished with a DoD proposal for ALFS. :) Took about three weeks of my life, but wow what a document. The solicitation is @ http://www.darpa.mil/ito/Solicitations/CBD_01-24.html if you are curious.
kevin lyda (email@example.com) wrote:
the largest point that i can make is that both yourself and jim allchin's have said that gpl software is not usable by microsoft. that is incorrect. it is usable, they just choose not to use it.
i'm not saying that the gpl should be used for publically funded s/w, i'm just saying that nothing in the gpl prevents them from using it.
the other point that i disagree with is his comment that the gpl prevents innovation. i find that more unpalatable then his american comments (which i just see as standard fare for political lobbying).
while not sexy, there are a host of technical innovations present in the linux kernel alone. any decent unix admin from the late 80's onward has installed the gnu tools for a wide number of innovations on the standard unix tools. and gnu hurd, while i haven't used it, is apparently chock full of new ideas.
more importantly, how many companies effectively manage developers world-wide? a linux distribution is built up from pieces developed by people all over the world with low grade communication links among them.