Comments on: Apache and the future of open-source licensing
The GPL makes sense as a way to protect open-source software from proprietary interests, but doesn't this simply make it a less efficient form of proprietary software?
The GPL makes sense as a way to protect open-source software from proprietary interests, but doesn't this simply make it a less efficient form of proprietary software?
Web sites launch all the time, but they also shut their doors. We highlight 15 that bit the dust this year.
Let the debate begin: Was the iPhone more important than iTunes? Was anything bigger than Google finding a great business model? CNET offers its list of the 10 most important stories of the '00s.
Matt Asay brings a decade of in-the-trenches open-source business and legal experience to the Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is general manager of the Americas division and vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.
Add this feed to your online news reader
I'd argue that vanity is worse than desire to feed and clothe the family from a job that pays you for your highly skilled labor from a company who feels it is perfectly natural for them to own what they paid you to produce.
RedHat manages to make growth profits in spite of a recession. Yet the vast majority of their catalog is GPL, and the vast majority of their income is made from service subscriptions.
services != code. ;)
And the fact is Matt, all licenses ". . .protect their software from use they deem objectionable." It's what the conditions of a license are. I guarantee Apache does the same thing. The only way to not take part in this practice which for some reason you seem to be opposed to is to put something in the public domain. That's a whole separate argument in it's own right.
Actually, you're wrong. *Licenses* select how code can be used. But even if they allow code to be placed into 'proprietary' software, your copyright is still yours. And code can be 'multi licensed', as well.
If "getting a dime" is important to you, then a more 'proprietary' type license *should* be your preference, over the GPL.
The GPL is often said to be "free as in liberty, not free as in beer"; but the fact of the matter is that it pretty much forces *both* situations. No one really makes much money off of GPL'd *code*; they make money off of either proprietary applications or bundled services that go along with it.
Take RedHat, for example. You can *only* get RHEL from them in directly usable form *if you buy service contracts*. Sure, you can get the source, and compile or assemble it all, and then put a system together... ...but is that really *practical* for most folks who want to use it? I'm a computer professional myself, who has worked with all code levels (machine/assembler and higher level languages) over the years, but I'll tell you right now I wouldn't want to create a distribution just for my home machine... ...or even for my work one. I like to tinker as much as anyone with code, but I don't want to have to spend *hours* doing so just to get my system back into some semblance of working order after trying something new.
The problem I have with the GPL is that it's too inclusive. Any 'monolithic work' that includes a portion of GPL code has to be GPL as well. No mixing of the 'best code for the job'. In actuality, a desire to use a snippet of GPL'd code, no matter how small, actually *removes* my freedom of license choice for *my* code contribution, no matter how large. That's a problem to me, since I like the ability to 'pick and choose' without restriction from what I see from an available codebase for any particular thing I'm trying to do. In that situation, the GPL is just as restrictive as any proprietary license ever could be. Yes, I'm one of those 'practical' folks, not some idealistic dreamer, but to be perfectly honest, while *both* mindsets are truly needed, it the 'practical folks' who actually end up supporting the dreams of the dreamers in the real world; no matter that those idealists tend to look on us with distaste.
What this ends up doing, in essence, is a waste of productivity 'reinventing the wheel' under a licensing scheme more compatible with the *rest* of the complete work.
To me, that should not be desirable, nor a requirement.
The GPL leads to more open source. Without it, those that optimize at not contributing but at creating businesses win out. This leads to those that do contribute finding they have no or little market for their work. Even services become undoable if their software does not have the lock-ins and closed features of those optimizing for that without contributing.
The result is less open source and more reinventing of the wheel. The result is monopolization since the lock-in of integrated multi-monopolists are greater than those of any small outfit.
Google might be unstoppable in some ways because they are closing their code perhaps. If they had to reveal more, we might continue to have more competition in that field.
I favor more open source and greater competition. That is why I support the GPL, AGPL, etc.
Companies need to spend more time looking at **customer specific customizations** and mastering codebases than they do trying to build something they can close off in order to mint without competition.
Lock-in, enabled with Apache licenses, favors monopolization by the strongest. Those that had achieved a temporary minting capability eventually lose that to the bigger fish because their wares won't interoperate at reasonable competitive costs. [Costs to reverse engineer on an ongoing basis, to strike pricey and limited interop deals, to lose control over related revenue streams and opportunities, to preserve quality, etc.]
With this kind of monopolization black hole power in fewer and fewer hands, more suffer and quality goes down as winning becomes about building lock-in and not about quality. Some level of quality will follow, true, but not what we see in free markets. For example, Microsoft software quality went up in recent years to a significant part because of the GPL-led FOSS threat.
Do we want to return to the days where few wanted to open their code because it meant the lock-in powerhouses would leverage their work to outdo them in the market place by leaps and bounds? Do we want to see fewer checks on monopolists?
End users frequently like the GPL once they figure out what it enables and it loses its strangeness. At that point, it's the proprietary licenses the ones that seem ridiculously constrictive and scary.
You expect any one to take you seriously?
Proprietary is all about control and lock-in. Such a thing does not and can not happen under the GPL.
I've never understood the animosity towards the GPL. In my view, the GPL is about getting paid. I get paid to contribute my code by getting other people's code back in exchange. Let's say I'm a company and I have a great idea for software, and I write 50% of it, and I can't afford the time or money to fund the other half. I can release it as GPL, and guarantee that if someone writes the other half, I get "paid". If I release it under the Apache license, another company can finish the other 50%, profit from my original 50%, and not give any of it back. This makes the GPL a good concept for companies when they release.
The other benefit of the GPL for companies is that they get the chance to profit from offering a dual licensed non-GPL version for those that desire to embed the software in other systems. This is also pro-business.
The GPL is usually only a problem for freeloaders. Not that I'm criticizing - I freeload frequently. But you can't expect every original contributor to offer his software without the GPL simply so we can freeload. They have a right to get paid back with others' contributions if they so choose. And they have a right to release under Apache/BSD if they so choose.
Actually, there is no restriction on use or modification. You can do whatever you want with it in your house/company/whatever.
The one and only restriction is on distribution outside of your person/realm/company/whatever. The one restriction is quite simple: you have to freely provide the source code, plus any modifications you made to that source code since you yourself got it.
This means that the only ones seeing any restriction at all are those who want to redistribute it, and they can even sell the thing if they really want to, no sweat. Just don't lock it down and/or hide it.
The GPL allows (and encourages) *collaboration*; but not *industry*; except in the case of an 'end user' just *using* the code for some internal purpose. There's no real "profit margin" to GPL'd software; only potential 'cost savings'. Any financial gain has to reasonably come from something else bundled in; but yet a discrete part.
In your company's scenario, again, it's not a question of you getting 'paid'; since you really don't. It's a question of potential *cost savings*; not direct income. The 'other company' that writes the other 50% of the code you deemed needed *could* merely write it to support an internal operation, and *never* contribute it back, even if your part was licensed under the GPL, since it *only* requires backwards contribution *if a derivative is distributed*. No distribution, no 'payback', so to speak.
However, had you licensed your code under a more *proprietary* license, *anyone* wishing to use it *would have had* to pay you back, whether they licensed it for internal use or further distribution. If you picked a merely "open source" license rather than 'free software' one, the 'vendor lock in' issue is rather moot. With the source, you can do your own support, or hire professionals, under a NDA, if necessary. You could even 'cross license' any enhancements or additions they made to your code. True, there might be a bit more negotiation required, and it might not be 'free as in beer' in that case... ...but if you're looking at being 'paid back', why should that matter?
But your late-night insomnia notwithstanding, the motivation Stallman captured so neatly and creatively in the GPL is not a desire that "my particular bits of work be used by as many people as possible," but rather that "as much work as possible be available for use by as many people as possible." It is not exclusively self-centered, but is rather evangelistic. Fans of free software believe that it's better for everybody to be able to use everything, not merely the bits that they personally provided.
As always, you reason from the perspective of 'commercial open source," the attempt to harness the energy of the open-source movement to the wagon of commercial development. That's a considerably more specialized, narrower field than the whole world of open source.
It's no bulletin that the BSD / Apache / Eclipse branch of open-source licenses are, in some way, friendlier to commercialization than the GPL branch (and, to disclaim, that's exactly why the CollabNet Subversion license, the one my company is most connected with, is of this branch). And it's always been clearly acknowledged that "the esteem of my peers" is one factor in open-source contribution. But both of these are thin slices of a much larger pie; equating them, or intersecting them, doesn't explain the whole, it only circumscribes an even smaller comfort zone.
I believe that you, Matt Assay, is on the board of one such company that uses GPL as a barrier. Sure, it was great PR when they said that they were converting from Mozilla to GPL, but the real business reason to do so was likely to discourage other companies from building a business around a derived work.
I can write a program, put it out with the GPL, and then license the exact same code to someone else as proprietary. Why can I do that? I am the owner, and can do what I please, the GPL doesn't stop that.
What I can't do is make others code proprietary. Why?
Because I do not own it.
The GPL does not take any rights from the copyright holder. It just gives others rights(including the right to sell it) to use it however they like, and a few responsibilities if and only if they distribute it.
Trolltech for example dual licenses the exact same libraries. They can do this because they own QT.
Another example, Tenable made Nessus 3 proprietary, even though it is based on a lot of GPLed code. They were allowed to do this because they own the source code. However, the GPL on Nessus 2 allowed others to fork it, therefore we have openVAS.
For example, it is possible for a dual-licensing company to use the collaborative development dynamic to build something up to near functionality, and then stop using the "open" license, offering only the proprietary one. The work as of the licensing change would remain open, of course, but with the sudden evaporation of the community management from the company, there's not much chance the public version would be completed, or not as well. That kind of gaming of the system seems entirely too possible, and I don't see that we've developed either the legal or the cultural reflexes to protect ourselves from it.
(By the way, by no means am I suggesting that Matt personally, or the Alfresco commercial open-source product, is or will or has even considered this subterfuge; just pointing out the general risk.)
An equitable and effective intellectual property system must take into account both first creators and those who come later to build upon their work.
?Committee for Economic Development
The GPL protects the software, as it evolves, from becoming proprietary.
It guarantees that the freedom handed down from the initial programmer to the first user, is passed on to future users and programmers.
There aren't problems with people giving back to Apache, as far as we know, but it could happen. It happened with X.Org. If you want to know why we should use the GPL, look for cases where the lax licenses caused problems.
You can use GPL software with a proprietary product. You can run Oracle on top of Linux.
GPL ensures that improvements are fed back to the community. Apache leaves open the possibility that any commercial entity that has financial/marketing muscle can ensure that the original product cannot be commercialized by others. Apache is stacked in favor of established commercial players.
If Alfresco was under Apache, Microsoft can take Alfresco, make it compatible with MS-Office and sell it as a cheaper (but officially supported) alternative to Sharepoint. It can pretty much put you out of business. Embrace, extend.....
Apache License has its benefits but if you really want Free Software, you need GPL. Apache and GPL are targeted at different objectives. AGPL is well suited for some stuff. I suspect that there will be an even more extreme version of GPL in the future which will be proposed by commercial entities themselves. This will be to ensure that competition is not unfairly benefitted.
Why use GPL over proprietary? Simple: With proprietary systems you are at their mercy, on their terms. Want a feature that a weak plug in system can handle? You are screwed with proprietary, with GPL you can just get it done. The GPL has absolutely no terms that force you to redistribute what you added, that is optional, and if it is, then you have to GPL the changes.
That is fair, you built on someone else's work, let someone else build on yours. That is how we have advanced over the course of human history. Building on others work.
Proprietary stops this natural innovation.
That you need someone to explain it to you shows that you do not understand OSS in general and the GPL specifically.
As a mexican I can tell you that depending on the "promised word" of others, or depending on the inevitability of things, never have worked out to keep a system.
Let me explain why the mexican refrence. The U.S. was always believe a country of inmigrants (ask Arnold Schwarzenegger, Elon Musk, Michael "Monty" Widenius, Sergey Brin or even Marina Orlova [hotforwords.com]), but tell that to the thousands of mexicans that cross the every day. In real terms, the first group are a selected elite, while the others are just "illegal aliens".
In the 70's, a different tune ruled, with the "Brasero" program. The U.S. sanctioned this healthy interchanged. But no law was established to keep this "openness" and restrict future governments from "closing the border".
What happened? Times changed and "illegal" immigration became the target of politicians and business men alike. After a while it was the "holy grail" of all the troubles. So the border wall was created attempting to split integrated communities like Laredo/Nuevo Laredo. Much legal battles have been fought and lost on the way.
So those goodwill works? Nah. Presidents have come and gone suggesting a Europe-like free people transit agreement to extend NAFTA. (British accept Polish workers with no problems whatsoever). Today Canada is enacting a Visa.
The moral: Keep the GPL or else, since we don't know in the future if this is gonna a thing that politicians will take and mutate as they wish.
This is one reason why I dislike the hardcore economic rationalists (and Ayn Rand and those who gush at the phrase "free market"). These concepts attempt to boil down complex human behaviors into discrete, rational, predictable outcomes. That is not always possible. Human motivations and desires always exist within a gray area. Reality is much more complex than simply pitting production against efficiency and costs against profits.
Allow the ability to protect ones intellectual property, and you'll find they will be willing to use your code, and will be willing to give back what isn't really proprietary. This is the true beauty of the apache license and the reason that Apache has manage to do what no other open source software has managed to do: Dominate its market. Businesses aren't afraid of Apache causing them to lose their valuable IP.
There are no proprietary forks of Apache -- we got lucky. And even if Apache was GPL / LGPL, it would have been possible for people to build proprietary software on top. Sorry, but I don't think you know what you are talking about.
Apache is not the ideal license. It only encourages proprietary forks.
The GPL doesn't guarantee a better product, it just controls what you can and can't legally do, just like any other license. That's what a license is for. Uptake in the market will be driven by how good something is more than the license. A license can get in the way or get out of the way, but what the product does for the market will drive its success.
But if you think of software as a science, the idea of creating proprietary science is a contradiction in terms. That is why GPL doesn't cause heartburn for anyone that gets it.
And the Apache license can lead to proprietary forks. If it doesn't, then the GPL license would have been just fine as well!
GPL is about the freedom of developers to always have the full body of work available to build on. Apache is about the freedom of users to do what they want with the code.
This license comparison always comes down to people using these "freedom" words interchangeably, when they're really about providing "freedom" to different audiences.
In the end, much of the discussion falls back to the biggest problem in open source software: confusion about terminology. A lot of folks get copyright (ownership) confused with licensing (distribution). BOTH of these licenses only cover redistribution, but they don't keep you from using them personally however you wish.
1. Are you seriously suggesting that this was some sort of epiphany for you? You're just re-framing every license flamewar ever waged in different terminology.
2. And that terminology is a real stretch. I suppose that, per dictionary.com's definitions of the word, you could claim that GPL'ed software is proprietary by #4, "belonging or controlled as property", but that's such an incredibly vague definition as to be meaningless (and incidentally doesn't eliminate the Apache license, or ANY license). The standard use of the word in the context of software is CLEARLY #5, "manufactured and sold only by the owner of the patent, formula, brand name, or trademark associated with the product."
I, for one, think its vitally important to control the distribution of one's software even if you want people to USE it widely. Using and distributing are very different ideas.
Personally, I don't care who uses my software. However, I have had my software co-opted by greedy corporations in the past. They took it, modified parts of my code poorly and in proprietary ways to make it work with their value-added proprietary code, and then sold it to people for very large sums of money. So their users could not take newer versions of my code and upgrade their proprietary applications. Those people paid someone thousands of dollars to cripple the ability for them to get security updates, add new features, etc when I gave all those rights to the person that sold it to them. All I got was the blame when things went bad for them. And they went bad often.
Answer: Because that is how developers want to license their open source contributions. The reason why is simple - if they spend time and effort to create code and make it available to others, they want those others who use their code free of charge to reciprocate make their modifications available to them under the same terms. GPL also gives you the option of negotiating proprietary licenses for the same code with those who are not willing to reciprocate.
Question: Why do some people release open source software under a BSD type license.
Answer: Because in some cases the BSD license is better. For example, if you are creating a sample implementation which you would like both proprietary and open source to adopt, then a BSD license is appropriate. The caveat is that although you you gave your code away free, your code may be improved and your own code may be used to compete against you without giving you access to the improvements. This makes licensing code under BSD type licenses inappropriate for developers intending to improve commercial competitiveness by sharing development and testing cost with others.
.
Please read/learn about GPL here:
http://www.gnu.org/copyleft/gpl.html
Please answer your question so other people can understand too.
- by buskanaka July 29, 2009 9:33 AM PDT
- Eric Raymond is out of touch because he hasn't been in this part of the industry lately. Corporations will generally do the least they can in order to accomplish their business goals. When it comes to open source this means two things:
- Like this Reply to this comment
-
Showing 1 of 2 pages (43 Comments)1. They will almost always use open source software in their products and infrastructure if there one exists the fulfills part of their requirement. The cost of designing, creating and testing software inhouse is out of the question if there already exists a "free" alternative. The open source license almost never comes into play at this point in the decision making process. Even if there are two equivalent open source software libraries that each have different licenses, it is usually developer familiarity that will drive the decision, NOT the license.
2. They will only release modifications back to the community if there is either a strong benefit or a large risk of not doing so. I have been at several companies where there were intentions of releasing all code modifications (because they considered themselves an open source company), but only those modifications to GPL software actually got any priority and the rest languished. In other words, releasing to the community in general was important for the company's positioning in the market (and with VCs) but GPL modifications were higher priority (and for legal reasons needed to be done as soon as the product was released). Modifications to other software was MUCH lower priority if it gets done at all.
To summarize, companies (and individuals) will usually take the path of least resistance which means using open source software when you can, and releasing the changes only when you have to.