Mike Loukides on Java's Community License
jbc writes "Here's an
opinion piece from O'Reilly's web site titled
The
Chameleon and the Virus: More Thoughts on Java's Community
License. Gist: The viral, coercive GPL has retarded
acceptance of open source software. Java's more flexible
license can help bring more people into the movement. "
Try to imagine what would happen if GNU/Linux were under the JCL (Java Community License). Goodbye Red Hat, SuSE, Caldera, etc. These companies could not exist because in order to sell cd's, they would have to negotiate a proprietary license agreement with Linus, the Free Software Foundation, the Apache group, any another other entity that had JCL licensed code in there. Even if each of these people wanted only 50 cents per copy per program that would add up fast. I doubt we would be where we are today with free operating systems if the JCL approach to licensing was taken.
To call the GPL coercive and viral is very inaccurate. Viruses are micro-organisms that invade your body and cause illness, usually in ways that you are not aware of and cannot stop. The GPL on the other hand never "infects" you in this manner. The only way you can find your code subject to its requirements is by either distributing GPL'd code or by including GPL'd code into your programs. Both of these are completely voluntary decisions. No one forces you to do either one.
As for being coercive, it is true that the GPL forces you do to certain things and keeps you from doing others. If you take my GPL'd code, I am preventing you from making a proprietary version of it. I won't let you start a company to sell an improved version without sources. In other words, I won't let you hurt me or other users. Keeping someone from hurting you is hardly restricting their freedom. Criminal laws against stealing, assault, etc. restrict freedom in some manner, but few people object to these. Hurting users by making proprietary versions of software may not be as bad as assault (I don't want it to be a crime), but it is still not a good thing and I don't think preventing it counts as restricting freedom in the sense that other people do.
Posted by Lulu of the Lotus-Eaters:
The more I read about various opinions in the Open Source community, the less confidence I have in the GPL terms. This recent article on the Java license terms makes, I think, a good argument for a particular different strategy that that license uses.
But more than anything else, it is RMS himself that pushes me away from liking the GPL. I was just so struck by the RMS interview recently linked by slashdot about how muddled and objuscatory the RMS arguments are. Re-reading the GPL and LGPL carefully in the last couple days also just reinforces this impression.
The main deceit, to my mind, is the catchy saying "free speech not free beer". It has a nice sound. It expresses a noble sentiment about cooperation in ideas. But in the end, it both covers over real (important) complexities, and even misrepresents the GPL itself.
In the recent interview, as in others, RMS has emphasized over and over how important it is to use software that gives you freedom. But the GPL does not do this. The GPL is one of the most restrictive software licenses I have ever seen. Every paragraph starkly limits your freedom to do various things with the code you are licensing. Really, the ONLY reason I would ever consent to such extreme limitations on FREEDOM are because of the free PRICE of GPL software. If I were paying money, I would never give up that much freedom. Not all--not even most, by far--of the commercial software I use comes with source. But that that does (which tends to be that that matters, i.e. libraries), never restricts so much what I can do with the source once I have paid for it as the GPL does.
The truth is, that money is already inherently a limitation on freedom. By putting a price on something, you restrict people from using it. This is true equally of material objects as of software. The nature of money is to provide a structure for the limitation of freedoms. Now some of the particular restrictions that money/price can enforce are a lot more just and fair than others. But everything money does is to limit freedom. Free beer is beer that you have FREEDOM in drinking. The stuff that costs money also restricts your freedom in proportion to its price. These two aspects are not nearly as seperable as RMS and others claim.
In association with this somewhat crude ideology of freedom, RMS winds up making what are just plain perverse claims. For example, in the same recent interview, RMS is critical of people considering using Oracle software (on their Linux systems, specifically). He accurately points out that this is proprietary and restricted software; and concludes that open source alternatives are automatically better.
But for me, and really for every rational person I know, software exists to DO SOMETHING for you.... it is not an end in itself. If it turns out that Oracle processes my transacations faster, or provides other features, it is a bit crazy to think that avoiding the proprietary software is worth giving up (part of) my original goal in using the software to start with. I do not want a flawed solution (even if just slower) just to gain "freedom".
The reason is not because I do not value freedom, but rather because I DO value freedom. If buying Oracle means that I do not have to spend, or commit, an extra 1000 hours of programming time, or buy extra server hardware, that gives my back a lot of freedom. In the form of money I can spend on something else. In terms of my own time. In terms of having control over my own options. I realize the Oracle choice restricts how much I can give back to the programming community in a way that those free solutions do not... but I may well be able to give much more back using those 1000 hours, or those $10,000 that I would have spent on hardware.
This just doesn't apply to code that we write, unless we're working for someplace like CNRI. It makes more sense for me to use the GPL and LGPL on my own work, so that the code I wanted to give to the public won't be taken private by someone who does not share my goals.
Email to me is down due to a broken DSL. Please call 510-526-1165 (my office phone) if you want to chat.
Thanks
Bruce
Bruce Perens.
I have read Eric Raymond's piece, and the O'Reilly piece, and slashdot over the past two days. O'Reilly isn't really working on the same Open Source as you and me. We are seeing the emergence of one Open Source for corporations, and one for individual programmers, with widely divergent goals. The corporations have embraced our existing code base, but they are balking at the freeness, no surprise.
Sure, the GPL is coercive. If I write free software, I want it to stay free, not be taken private by someone who doesn't share my goals. I'll continue to use the GPL on my own work, and the LGPL where appropriate.
Bruce Perens
Bruce Perens.
When RMS wrote the GPL he wasn't looking to accelerate acceptance so much as protect his software. A great example is Linux. If Linux were released under a more flexible license, it's extremely possible that a corporation (read: MS) could take the code and develop it under a proprietary licese. Should that version become widely accepted, it could kill the entire movement. Plus, besides practical purposes, the GPL does alot to draw attention to the ideology behind the GNO/Linux movement.
On the other hand, a company developing the code in a closed source way would be an interesting test between them and open source developers on which model is superior. Interesting, but not necessarily good for the community.
Erik
I don't care about freedom in software. I like open source software because I can do more with it, it's more useful to me.
:)
Yes, one should care about software because it is useful. The great advantages of Open Source (ie. stability, speed, features) are merely a consequence of the freedom. In the end, Open Source Software (according to the Open Source Definition) is just another name for Free Software. The problem is that the important thing, Freedom, is getting ignored by many.
The freedom. When you donate free (GPL) software, anyone can use it in anyway they want (except to restrict other people's freedom). They can even modify your product or incorpore it in their own programs. They have no restrictions on what they can do with that free software (except the one I mentioned) and there is now no incentive to reimplement things but to improve the existing (free) software. The feeling of contributing free software is great. Everyone has a new piece of software, the whole humanity advances. You may say I'm exagerating, but there are thousands of hackers writing free software nowadays and I believe this to be a real motivation.
I think there are a lot more important areas in society where we should focus on freedom and morality than software. Who cares? It's just code.
I just wanted to say I strongly agree with this feeling.
Perhaps the whole society is changing in special ways towards freedom and the individual (as opposed to the mass) is gaining power. Perhaps the changes are becoming evident in the software (and music) world because they are very related with the thing that made the change possible (the internet). Or perhaps I'm talking to much.
Alejo.
In the end, Open Source (according to the Open Source Definition) is Free Software. But the point of the Open Source movement was not to scare people off with the ideas of freedom and give them something else they will be more likely to accept. So, in definition, the Open Source Software is Free Software, but in many person's minds it is a different thing. The Open Source movement has managed people to go "open source", but the cost is that it, as I said in my other message, has hidden the Important Thing from many persons. Open Source is Free Software according to its definition, but that's not in many persons minds.
Read The Technie/Hacker's Case for Open Source:
The real reason for the re-labeling [of Free Software] is a marketing one. We're trying to pitch our concept to the corporate world now. We have a winning product, but our positioning, in the past, has been awful. The term ``free software'' has a load of fatal baggage; to a businessperson, it's too redolent of fanaticism and flakiness and strident anti-commercialism.
[...] In marketing appearance is reality. The appearance that we're willing to climb down off the barricades and work with the corporate world counts for as much as the reality of our behavior, our convictions, and our software.
The reason is marketing. Lets hide the freedom from them. That's not good.
Alejo.
With all due respect to RMS, I think it's clear that the GPL significantly retarded acceptance of Open Source software.
With all due respect to O'Reilly, I think its clear that the GPL has significantly contributed to the acceptance of Free Software, while the Open Source movement has hidden the important things (Freedom) from many persons' eyes.
We don't want Open Source software, we want free software.
I *hate* to see someone who hasn't donated a single line of code criticize the GPL.
The Good Thing of the GPL is it lets you do anything with the software except limit other people's freedom. You are saying that's a bad thing because it scares people off, but if they are just developing propietary software, no one cares.
Instead of criticizing the GPL, people should start to develope their own nonGPLish code and try to outcome us. Developers are free to do whatever they want and choose whatever license they like. Users who complain and whine should be ignored.
Typical O'Reilly anti-GNU stuff. Anyone else getting tired of them?
Alejo.
You know, RMS's crowning achievement wasn't anything coded - it was/is/will be the GPL.
... well, you said it. GPL and the free software movement. :)
Damn right. He's one of the greatest hackers on the face of earth yet his crowning achievement isn't
Alejo.
Corporations don't make decisions as a coherent whole, and their decision making is not necessarily consistent in time either.
If corporate developers go to corporate legal staff and say "we want to release our bug fixes to [package X] to the world at large", the answer is going to be a predictable "no way". I know: I have been there.
But if the same developers can say "we decided (in consultation with our legal department) to go with a GPL/LGPL package at the beginning of the project and now we are bound by the licenses to release our fixes", that's something everybody can live with. I know: I have been there, too.
It is the developers inside companies that are driving the move to open source, and GPL/LGPL give them the tools to establish corporate commitment (by having the legal department initially approving the use of GPL/LGPL programs) and enforce follow-through.
Or, to put it more concisely: the GPL and LGPL establish a simple contract: you can use this software if you help improve it. That is crucial for making free software work.
Note that GPL and LGPL are licenses for software that is both "free" (in the GNU sense) and "open source". While all free software is open source, the reverse isn't true. I want to be clear that I think there are many other useful open source models. For example, I have no problem with Sun's Java community license, and I think for Java, it is actually the right license at this point.
However, Loukides claims that GPL/LGPL has been detrimental in general, and I strongly disagree. Without GPL/LGPL, projects like Linux, Apache, and GNU would not be where they are today.
I believe that Loukides's careless and uninformed criticism of GPL/LGPL is doing a grave disservice to the free software and open source community. I think it (and other recent statements from O'Reilly employees) also suggest to me that O'Reilly's vision for open source and free software isn't compatible with mine.
Mike Loukides approaches clarity when stating that the Java license provides developers with more options. I'm without complete comprehension of every Java license detail, but that initially seems the sanest legal jargon to date.
But I think Mike has forgotten a crucial point. If you want to go 'closed-source' Sun charges you some money. If the GPL were a 'chameleon' license, who would the money go to, and what would it buy a developer? If I wanted to pay for a commercial license for the [INSERT NAME] source, would a portion of the fee I pay go to each and every developer that has ever contributed code? If not, I think that would counter-act the usual incentive to contribute to open source projects, I know I would be hesitant to knowingly increase someone's salary in my free time.
I'm in agreement with him on companies making money on support, etc.; but I think Mike has over-simplified. He argues that the GPL has hampered acceptance by the business community, however, I believe that the Java license would have hampered acceptance by the developer community.
--Voytek
``Who cares? It's just code.''
That there are other things wrong with the world should not be used as an excuse to ignore something else that's wrong. It may just be code to you, but that code is increasingly more important to the way the world functions. Proprietary development of software can make tremendous leaps in a short amount of time, but so can open-source software. If the proprietary code / algorithm isn't folded back into the community, it means a slower rate of growth in the quality of the proprietary product, and the open product. A certain amount of redundancy is definitely a good thing, but the different bases should be able to see what the other bases are doing, in order to increase the quality, useability, and functionality of all software.
If software had remained open, or at the very least had gone open after the proprietary hot-shots had had a few years to make money, we would be years ahead of where we are now, both in software and hardware. If patents and copyrights expired after a few years for the software (possibly hardware) sectors, the incentive to bring better and better products would excellerate. The license wouldn't matter in this case. Since this is not so, I believe the GPL is the best license so far. It is identical in concept to proprietary licenses, while giving people automatic NDA's, and charging them any source code changes they wish to distribute outside of their organization as a license fee.
Yet Another Open Source License. Oh boy!
... The net effect was to implse a potential penalty on developers who used GPL software: if you incorporated it into your code, you lost control of your code's use." It also forces me to reach the conclusion that he just plain misses the point.
/popularize/ free software. The point was to /create/ free software. With a less aggressive license than the GPL, the software could become shackled. Rather, the software could become a tool with which to shackle the user.
I have to take exception with parts of Mr. Loukides article. He seems somewhat inconsistent in his ethics when he declares, "...the GPL is fundamentally coercive, and was intended to be so. Morality aside, that just plain hurt the cause.
First, the implication that the GPL is immoral is absurd, given that the GPL only limits the restrictions you can put on the use of the code. What is immoral about requiring that you grant the users of your derivitave work the same rights as you yourself were granted.
To use an analogy, suppose that you have a slave called Mike, toiling away in a salt mine. Along comes Richard who coughs up his own money to buy Mike. Richard offers Mike his freedom, and some money to get started. All Mike has to do is agree never to enslave another human being or to use the money to buy another slave, unless that purchase is for the sole purpose of freeing that third person. Would we call this immoral?
Aside from that, when Mr. Loukides asserts that you lose control of your code's use, he is being ethically inconsistent in that he wants to take control of the use of other people's code. He is saying that he wants to be free to use the code, AND to impose further restrictions on the use that other people make of his derivative work. Say what you want about RMS' abrasive manner, or about his level of maturity when it comes to what we call Linux. At least his ethics are consistent.
Finally, I have to mention that Mr. Loukides misses the point when he says, "The right way to popularize free software...". I don't think that the point of GNU or the GPL was to
No... That article made a lot of sense. I've never understood the issue of freedom with software, and I think that whole morality issue of free software is what scares a lot of people, including myself. I don't care about freedom in software. I like open source software becuase I can do more with it, it's more useful to me.
Freedom? What is freedom? To me, it's being able to do anything you want without consequences. Free Software should not have a license. I can't do whatever I want with GPL software, namely change the license or encorperate it with non GPL software I have created. To me, that is not freedom. Besides, I think there are a lot more important areas in society where we should focus on freedom and morality than software. Who cares? It's just code.
I personally disagree. Those who have released their code under GPL have given a gift to the world. The GPL keeps the code free. Don't look a gift horse in the mouth.
If you want to take advantage of free software, use it in your product, but value add with your own proprietary software. If you're in a vertical market, the open software community shouldn't mind. If you keep your medical, banking, or whatever application code proprietary, but feed back enhancements to the generic portion, you are helping to build the communal base.
This makes sense from a business perspective too. The code which is not a part of your core competence goes back to be maintained by the open source community, and you get to keep the stuff that gives you a business advantage. You can release a product which has a fully functional platform under it without paying royaltees, yet your competitors don't get your business software for free.
The problem with Sun's license is that you have to pay royaltee's to use it. Sun has a right to charge for SW (legal, not moral), but we can choose whether or not to use it. Personally, I'd rather have a GPLed version from GNU. I think RMS has done the world a great service (though I wish he'd get over the Linux name thing).
Changes aren't permanent, but change is.
BSD is the most successful of the free/open licenses. The BSD is so successful, and the BSD tools so ubiquitous, that we tend to forget about them. Not all UNIX vendors bundle emacs, but they do all bundle vi.
Similarly, the X Window System, with a similarly unrestrictive license, has become the unquesitoned standard in the UNIX world. (This despite not being the technically best solution, nor even the best free solution. I remember someone at Bell Labs -- Dennis Ritchie maybe? -- saying at the time, "I've never seen anything fill a vacuum so fast, and still suck.")
If you can't abide anyone making a profit, GPL is definitely the way to go. But if your goal is widespread adoption ("world domination"?) then BSD/X has a much better track record, and still allows everyone to play with the source.
My DSL is broken since Tuesday morning, email won't work, all I have left is this really slow radio modem. Call me at my office phone 510-526-1165 if you want to talk.
O'Reilly's interested in what I guess we should call Corporate Source. Semi-proprietary applications that individuals can contribute to if they want, without a fair quid-pro-quo for secondary contributors. In this case the Chamelion license does not meet the OSD and should not be referred to as Open Source all. I guess ORA figures that Corporate Source will sell more books. For me as an individual developer, it does not offer a fair quid-pro-quo and I will continue to work on GPL and LGPL projects.
I was really glad to get the GTK+ book (Developing Linux Applications) from New Riders this week. It's nice that the world's largest publishing group is giving O'Reilly a run for their money. Laurie Petricki, their managing editor and a really nice person, is doing a good job of helping free software while O'Reilly deprecates it. Go New Riders!
Thanks
Bruce Perens
Bruce Perens.
Since it's the 2nd of April, I'm assuming that this is not yet another april fool's day slashdot news item
I've participated in a few opensource projects and helped code a few functional utlities that still helps a lot of people all around the world. When Netscape announced the release of Mozilla code, I was one of many to logon to their site and download the tar ball, but alas, it was too hard to decypher. I went through the code for 1 week (a lot longer than most people did). I couldnt figure out 75% of the things in there. So I gave up. (And I guess that is what happend to all the others out there)
Initially when netscape announced the release of mozilla, there were dozens of web sites, hundreds of mailing lists, just devoated to the discussion of what should be in mozilla. Over the past year, these web sites and lists just died away one by one. I guess what most people did not release was, that what mozilla needed was not new functionally, but... stablility, at a good speed. It did not need be a front end to your kitchen skin (should see some of the suggestions made on wishlists) it just needed to fetch a web page and display complying with most statndard as possible.
Then there are those who bitched about mozilla, from the start to the end (i guess when jwz leaves, it might as well be the end). I don't think bitching about the code would have helped making it more stable and fast. Helping the coders, coding it your self and replacing those netscape coders should have been the first thing we should have done. As jwz stated, most people thought netscape still owned mozilla and had full control over mozilla (this was inforced by the inital netscape/mozilla licence,) on that.. i belive mozilla would have been better accepted if it was released as BSD or GPL/LGPL.. most coders were weary of this and stayed away from mozilla just cause of that fact alone... and then there were those who, like me, waited for others to go ahead and do something to the code, test it, pinch it.. see if it bites.. (would a dead beast bite?)
Best jwz quote : I must say, though, that it feels good to be resigning from AOL instead of resigning from Netscape
--
As a counterpoint, the GPL was coercive for a reason. Look at the CDDB flap recently. The GPL's terms were coercive precisely to make it impossible for the equivalent to happen to GPLd software. That has a cost, but considering corporate attitudes it might not be as paranoid as all that after all. The Community license is more friendly towards commercial software, but it also allows for someone to benefit from openly-developed software without letting anyone else benefit from the results. There's a cost there just as there is with the GPL. The question is which is greater: the cost to the commercial develpers of the GPL, or the cost to the community of taking work derived from open-source code and making it proprietary.
My question is, what constitutes a "derivative"?
Is it only a derivative if I cut & paste the source from a GPL program into my own? This would seem silly since I could just compile the GPL code into a library and call the functions from my proprietary code.
Therefore, it seems to be a derivative if I am linking against a library with GPL'd code. If so, what if I just take the code that I want and compile it into a binary which listens on a socket for instructions from my proprietary code, and responds? I could re-release my modified "listener" under the GPL but still have a proprietary program reaping the benefits.
Therefore, it seems that it might even be a derivative if I use the functionality of the GPL'd code, without using the code itself.. In which case, if an OS was distributed under the GPL, wouldn't a program be considered a derivative even if it uses system calls? All of a sudden, the whole system must be distributed under the GPL.
Lets make things more complicated: assume I have two libraries which perform identically from an executable's point of view (i.e. Motif & LessTif), of which one is distributed under a proprietary license and the other under the GPL. I write a proprietary program and link it to Motif. I sell it to you. You don't have Motif, so you link it to LessTif and find it works flawlessly. Is my program now a "derivative" of LessTif? Does it now fall under the GPL? Can the user distribute the program under the GPL?
One thing to note: I don't know exactly how the GPL works - it might address these concerns. But even the fact that I don't know the answers to these questions (and probably few others do either) makes the GPL a very unattractive thing to get tangled up in.
The O'Reilly stance reminds me of Americans who think it should be illegal to burn the flag, failing to see that, because the flag itself symbolizes the freedom to burn it, enacting such a law would actually destroy what it was meant to protect.
To say the GPL is coercive, and ought to be superceded, is to say that open source is so important that we have to sacrifice a little bit of its essence in order to ensure its continued existence. It is to say, wrongly, that freedom is so important we must restrict ourselves from burning the flag.
I do agree with Loukides on one point, though. We should be using a carrot and not a stick. The hot rhetoric in the preamble to the GPL belies the fact that, by releasing GPLed software, you are doing something really nice. Why the FSF has chosen to characterize it in the opposite way -- that by NOT using the GPL you are somehow oppressing people -- is beyond me.