It is debatable if this is true in practice. If less software gets built as a result of the license restriction, the GPL takes away freedom. Even closed source software adds some freedom - the freedom of choice.
From a developer perspective, there is no question which one is more free. We often do not have the choice to release our software as open source, and when we do, an invasive license like the GPL is still a headache. If I can pick up a library or framework and just use it, that's the one I will pick.
I think Vasco is also brings up another valid argument. Not all choices are equal and some are not even actually choices. Either way you want to look at it, one can honestly make a sensible and consistent argument that more software does not automatically mean more freedom.
Where freedoms of developers and users conflict, GPL sides with users.
In other words, GPL only takes away your freedom to take freedom away from others. If you don't intend to restrict others' freedoms, GPL shouldn't get in your way.
As such, the GPL is always, in the "now", a license which grants less freedom than, say, the BSD or MIT licenses. Most objections to the GPL, including my own, come from a position of cost/benefit on the trade it wants to make, and of disagreeing that that trade is worth making.
How so? As far as I know, if I have GPL code, I can do whatever I want with it. Could you tell me any action I might want to take that the GPL prevents?
The only "freedom" the GPL removes is the freedom to restrict the actions of others. To me, that seems like a rather odd sort of freedom.
All it does is prevents you from redistributing the resulting binary under a license that could result in the user's freedom being restricted. I.e., the only thing that is prevented is (BSD, GPL) -> BSD, since the next step might be BSD -> Proprietary.
The way I see it GPL values freedom over short-term gains.
You can put BSD software in the AppStore, which is nice short term, but long-term that's helping platform that is a golden cage.
Wouldn't it be nice if Android was GPL v3? Instead of giving operators freedom to lock down handsets and add uninstallable crapware, give users freedom to customize and upgrade their phones. Of course, GPL-Android could have hard time gaining traction in the market because of GPL being unappealing to crapware-installing operators, but if it did succeed, that would be significant long-term win for users' freedom.
Not necessarily. WebOS is/was closer to a Linux/GPL distribution than any other smartphone and look what happened to them.
>You can put BSD software in the AppStore, which is nice short term,
It's also nice long-term as the code maintainers don't have to make decisions based on the risk of getting sued, as they would with GPL-based code.
>but long-term that's helping platform that is a golden cage.
Golden cage? How do you figure?
Edit: I'm personally glad they went with the MIT license. Also, even if a fork takes place, the original code is still available.
jQuery changed the face of client side development, and its MIT license has encouraged significant and substantial corporate participation, but I have never even heard of a jquery fork. They actually have MS offering paid support for their library.
Rails changed the face of server side programming, and its MIT license has only increased corporate participation. Where is the rails fork?
Node.js changed the face of the app server landscape and is probably the latest big thing in web development. MIT license, where are the forks?
It is definitely a theoretical possibility, but it just doesn't seem to ever happen in this world. What does happen is you gain the ability to have companies throw money/manpower behind your project that they would otherwise have spent building a competing product that they could actually use.
I think this is a point many fail to consider. BSD and GPL are, in many ways, synergistic. Having libraries available in both is the best ecosystem for both devs and end-users, IMO.
I wouldn't be happy if I spent a lot of time writing some open source software and then a company came along, improved on it, and distributed it in their closed, proprietary software. That's why I prefer the GPL over the MIT license.
Exactly. This conversation exists because guelo was complaining about people choosing to not use the GPL code. They don't like the arrangement. geon articulates why.
There are those who think I shouldn't be able to make something of value (known because others are willing to pay for it) and not give it away at all. Or rather, I can, but not software. But let me give you an analogy.
Suppose somebody sold a camera- a very nice camera- that came with the terms of use that said, "Any picture you take with this camera must be made available to anybody who wants it at full resolution and downloadable from your website (etc etc)." Furthermore, some versions of the license state that any work which includes any picture from this camera has to be made available for free. So if you make a poster, or a collage, or anything else with the picture you have to make to poster, collage, etc. downloadable at full resolution for no charge.
My guess would be the not many professional photographers would use the camera for their professional work. It might be great for students, or for artists trying to make a name for themselves, for personal use, and/or perhaps a slew of folks I'm not thinking of right now. But not for pros. In fact, if all cameras started doing this it may seriously harm the field of professional photography. I wouldn't pay a professional photographer to take pictures for a branding series of advertisements that my competitor could simply steal and reuse to devalue my branding. Parents of small kids would give serious consideration as to whether they want the pics of the kids on the web (I have to sign a release for if, for instance, a school or camp wants to use my kids' picture in its promotional material, for example- so it's a concern for some at least).
So the idea that all software should be gpl is not correct, in my view, although I am not in any way anti-gpl.
I agree. But if your code is a minor library like a json parser, a dijkstras algorithm solver, or a custom button? Should all of my company's product's code neccesarily be GPL as well? What if we already use non-free code from somewhere else? Even if we are happy to fix and contribute back all buggs we find, and any feature we add, we can't. Because you won't let us use the code without GPL.
Now you will tell me that is what the LGPL is for.
...until I want to release my product on the Appstore. The user can't replace the dynamically loaded library, so the LGPL doesn't apply. Then I need to make sure there is an exception for this specific use case.
Headache.
You might argue that without the GPl, i have no incentive to contribute back the bugfix I did. Let's for the sake of this argument pretend that I'm a heartless sociopath, driven only by greed.
By contributing back buggfixes, I make sure future versions of your code (with other peoples buggfixes) include my fix, and is compatible and field tested with it. There is no downside to me, since my competitors either haven't run into the bug or can fix it themselves.
I chose not to go to an Irish pub to watch the game between Barcelona and Madrid tonight just as I chose to investigate Derby instead of Meteor because of its previous licensing policy. We can agree that the existence of the Irish pub increased my number of possible choices, but it didn't extend my freedom of action.
I had the _option_ of going to an Irish pub, but I had the _freedom_ of smoking a cigarette at the terrace I chose to go to.
Also, GPL has served its purpose: these days 1) almost everyone realizes that it is in everyone's interest to share code and contribute back (maintaining private forks is expensive in the long term), and 2) most software is offered as a service and the value is not just in the software, but also in the infrastructure, maintenance, support, etc, meaning you rarely encounter the problem of restricted liberties because of a software license.
Note that you do not need a copyleft license to support sharing.
I value my work, it is not free. Either pay for it or agree to contribute your improvements.
No matter how idealistic any large group of young hackers will want to be, fiduciary duty will always trump everything when you play with business. You can love the GPL as much as Stallman himself, but when you're grasping for any edge you can find over your competition, you'll think twice before shipping her a tarball of your source.
Reusing GPL'd code forces developers to in turn release their code; more free licenses don't have this effect.
Anyway, not to play thread police, it just seemed to me that it was veering off into another direction. I'm cranky in the mornings!
Contrast this with proprietary software.
There are restrictions for developers, namely that you can't link GPLed code to non-GPLed or GPLable code, and that you can't close the source.
Liberal licenses are easier on developers, but they don't guarantee that the source will remain open. Software is ubiquitous nowadays, and most appliances use closed source software of unknown quality and probity. There's spyware in every cell phone, for example.
More GPL makes a better world, overall.
By all means fire up a new thread and I'm sure you guys will wrap this up in no time. But for the sake of the rest of us here to discuss the topic we're discussing, please don't drop a little religious war into the middle of it.
You're the one who conflates licenses and religion, and who refuse to even discuss the topic.
The choice of software licenses is far more nuanced than religion. There's a lot of misinformation around the GPL, and it doesn't hurt to talk about it.
GPL works when the people using it must contribute whatever small patches or modifications they have made, not when they have to turn over multi-million-dollar codebases worth much more (commercially) than the GPL tool in question.