I take offense to this. There is a definition of 'free' in the dictionary. To use the word 'free' and then have to define what you mean is to have chosen the wrong word. The use of the word 'free' by the FSF is thus, a marketing ploy. Like the origins of the oxymoron "friendly fire", the use of the term "free software" is to try and make it seem better than it is.
I looked up "free" in Merriam Webster's online dictionary, and there are 15 different uses. Many of them can apply to software, and a lot of them have specific relevance to this discussion, including having no trade restrictions, having no obligations or restrictions, not obstructed, restricted, or impeded, not costing or charging anything, and open to all comers. To be honest, I find the term "free software" quite apt in this regard.
It's also obvious that freedom is different things to different people. John Stuart Mill (warning, boring tangent incoming) argued that an individual's freedom should only be impinged upon to prevent harm to others, but "harm" is a nebulous concept. Speed limits are a great example; cops like to trot out stats that say things like, "for every X mph we increase the speed limit, Y people die". Of course, if we fully bought into that argument, we would all ride bicycles. The fact that we don't proves that, while the loss of life isn't ideal, we think the greater "harm" is having to leave for work way earlier in the morning.
In our case, you are arguing that the main harm is feature loss, and I am arguing that the main harm is freedom loss itself. I'm happy to debate that, and I'll start with a GPL vs. BSD argument that I made in a previous post:
Let's use some short hypotheticals. If BUILD were GPL, FMOD were GPL, and Heretic/Hexen were GPL, none of these problems would exist. Now you can say, "OK, but that just shows the GPL's fragility. FMOD isn't GPL compatible, so the whole situation falls apart." You'd be absolutely right about that. But let's assume each project is BSD. Now if one of the game projects is closed source, you can't use it (because you don't have the code). Suddenly ZDoom loses a ton of features.
Furthermore, it's also not possible for the GPL hypothetical to ever go wrong. Once a codebase is GPL that's that (pretty much anyway). BSD provides no such guarantees, and specifically so; BSD advocates view the fact that their licenses allows closed source as a feature. In the BSD hypothetical, there is nothing at all that prevents those game projects from closing their source and screwing downstream devs, forcing them to rely on older codebases and implement new features in tandem with the new, closed version or risk obsolescence.
BSD solves none of the issues. Closed source and GPL incompatible projects are the problems.
Unless the license (like GPL 2.1 and later) includes a relicense clause. Y'know, in case the FSF ever decides that GPL v32 gives them permission to use your project in whatever way they want. Closing it off, selling it to high bidders, etc, etc. I'm not saying that the FSF would, but you just gave them the ability to do it.
I have three points:
First, there is no GPL 2.1. There's an LGPL 2.1.
Second, it's not relicensing. Devs can use that clause to license their software under specific versions of the GPL. There is no way to legally relicense someone else's code. It simply makes no sense.
Third, as Quasar points out, this is an intentional and optional feature:
If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
If, as a dev licensing your software, you didn't want your software to be available under the terms of future GPL licenses, you can simply not use the "any later version" part of the license. No problem.
1. Argument on relevance:
Originally the GPL was there to solve an issue - RMS wanted a way to write software to fuck over the printer manufacturers, because they were telling him he couldn't do something. It turned out to be useful in the original days of getting open-source projects to remain open-source, ala Linux kernel, versus the various commercial spin-offs from the BSD/OS (which was also getting sued by Novell).
The GPL and the FSF are a little more than a big middle-finger to printer manufacturers. The FSF filed GPL compliance lawsuits against Linksys/Cisco and OpenTV, for example. Other groups have also filed lawsuits to assert compliance with the GPL. Indeed, the GPL is very relevant to parties whom are sued for lack of GPL compliance, besides the numerous other reasons (which I could go into if you like).
Fast forward to today - We have very stable solutions that have evolved as open-source projects. Projects that aren't GPL aren't disappearing into a commercial derivative, they're flourishing with commercial support. PostgreSQL, MySQL (in a fashion), Postfix, Webkit, Apache, Nginx, various high-level programming languages.
The lack of GPL in these projects shows that open-source projects are successful without the restrictions the GPL places upon code. Thus, the GPL is no longer relevant.
The existence of successful FOSS, non-GPL projects doesn't mean the GPL isn't relevant. What's the viable non-GPL alternative to Linux?
3. Yes, that's how the GPL is supposed to work. It prevents projects from ever being utilized by non-GPL work. Hurray for limitations! The point I was making is that your resultant project becomes owned by the GPL, not by the individuals who built it.
I know this is a side topic, but the GPL's use of the word "freedom" is incorrect, and their definition of "Free Software" is strained, at best. It's a terrible marketing ploy. How bad is it when you have to define your terms for what a 2-word phase means to you in several paragraphs?
First, your project is never "owned" by the GPL, it is owned by you. I think you maybe mean "controlled", but that's not true either. You can always license your own code however you want.
And as I said above, the "I can't use GPL code" problem is solved by being GPL yourself, and I honestly don't see what the problem with that is.
4. Never said people were "stupid failures." I fail to see how browser are a good counterpoint to my argument. I believe I'm arguing (on this point) that license doesn't matter to the users nearly as much as utility. Or in the browsers case - what is available by default, imposed by the workplace, or recommended by friends. If I take the users at my workplace, they often use IE, because it ships with windows. The power users will vary based on what browser they like, and none of their decisions are based on what license the developer used for their code.
The argument is kind of the whole "free software is good" argument rolled up into a single example. I'll try and walk through it.
I agree that users don't much care about licenses (although as a user, licensing is very important to me, so it's not universally true), but I think they very much care about what licenses guarantee. There would likely be no Android dev community without the GPL, as no one would have an obligation to release their source. Furthermore, no one views closed source as a feature (no one reasonably well informed anyway). As I said earlier, no one goes around saying, "man, too much of the software I use is open source, I should really do something about that".
You were arguing that software succeeds due to "More features, better performance, better interface, better support", and more specifically that "open source doesn't inherently make a product better". I brought up Firefox specifically because it's a great example of a wildly successful application with two extra characteristics:
- Its source can't be closed
- It implements open standards (some would say to a fault, see the video tag controversy)
The "can't close the source" characteristic is important because it meant that even if Mozilla folded, their software projects wouldn't go down with them, thus establishing a permanent gold-standard browser. The Mozilla Public License was indispensable to that, and it ensured the openness of the web.
No doubt it was crucial that Firefox be a good browser that people liked, and that was a features issue. But the effect the MPL had on the web created an entirely new application space (web applications), and that's a much bigger deal than simply having a successful application by itself.
The point is that Firefox would likely have been successful on its own, but because of the MPL it basically created the open web. That's a big deal.
6. I think we almost agreed on something. Thank you for acknowledging that there would be obvious technical reasons for XCode dumping gcc in favor of clang/llvm. I do think it's wrong to want to impose Apple on using GPL just because gcc is GPL.
We sort of agree. The technical problem was caused by Apple's refusal to open XCode's source. They had three choices:
1. Open the source to XCode and start integrating GCC
2. Keep XCode closed and pipe in and out of GCC
3. Keep XCode closed and build a compiler you can legally incorporate into XCode
They chose option 3, which was great for Apple. I don't give a shit about Apple though, I care about users and communities, and a closed source XCode is worse than an open source XCode for them.
9. Restrict freedom. Let me start with a basis here, and go on. Let's see if we can agree on anything else.
Public domain - the most free of all 'licenses'.
3-clause BSD - pretty unrestrictive, attribution, copyright.
GPL - attribution, copyright, must release derivatives under GPL, can be 'upgraded' to future license version, cannot be combined with licenses which have arbitrary restrictions like "may not release derivative with same name."
Proprietary - often commercial cost, no permissions except what you explicitly are given.
So, the limited number of further 'freedom' restrictions you could impose on software (if you were not choosing the GPL) basically line you up with the "icky bad" licenses from commercial companies. It's not that you want addition restrictions on your 'freedom'. It's just that you don't want additional liberties to be taken with the code you contributed.
Haha, nah I don't agree with that. I think licensing your code under the BSD license and placing it into the public domain is much worse for freedom than licensing your code under the GPL. The GPL enforces freedom. BSD/PD allow closing the source. I think classifying the ability to close the source as a "liberty" is shortsighted, because I can't see any real benefit.
You're for code reuse because it leads to better feature development. How do you reuse code that's closed source?
10. Citation needed.
Addressing iphone doom sales: They're selling you a package, including content. They're not selling you an engine.
My opinion on why you should use the GPL in 1 sentence: "If I'm not benefiting from it, nobody is!"
It's Action Doom.
And they are absolutely selling you an engine. If you bought iPhone Doom and it didn't come with the engine, you would be pissed. It's, as you said, a package, and neither the engine nor the content are expendable. Furthermore, it shows that the GPL doesn't equal profit death.
I would - naturally ;) - rephrase your statement as: "If you want to benefit from my code, you have to extend the same rights to others that I extended to you".