Is that a function of the software, or of the license? (And more importantly, can that difference be quantified?)
BSD/MIT is pretty well thriving, too. You probably use OpenSSH every day :)
The more permissive licenses always seemed the way to go, to me. I'd rather people contribute out of personal desire to, rather than legal obligation. That, and the GPL always seemed a bit too communist (in the sense of implying that other people have a moral right to your work) for my taste.
If a software author wants for people to use/distribute his software under a specific license, that's his prerogative.
And the GPL is a truly free and open source license, it does allow you to use it commercially and for whatever reason, it does allow you to create derivates, all it asks is that in case you redistribute a derivate, you must also give the source-code on request. It's not even an EULA, it's just a copyright license.
And btw, compared to BSD/MIT, the GPL also contains a patents grant (implicit but powerful enough for version 2, explicit for version 3). And unfortunately in this universe, the big companies contributing to open-source also have really big patents portfolios, therefore I always look suspiciously at code licensed with BSD/MIT. And unfortunately patent trolls are a reality.
If you prefer more permissive licenses, then go for the Apache 2.0 ;-)
If a software author wants for people to use/distribute his software under a specific license, that's his prerogative.
We're discussing the merits of particular licenses, particularly their impact on the software world, so this is kind of tautological, don't you think?
In any case, I was not aware of that difference between Apache and BSD, so you have my sincere thanks for pointing that out. I've got a few things on Github to modify methinks...
Well, I wanted to point out that as far as open-source goes, it has a pretty good definition and in the larger scheme of things, the actual open-source license used does not matter, all that matters is to get people to contribute.
But people contribute when they've got reasons to do so and many people believe in copyleft. And the GPL is an interesting case, because it happened because its author hated copyright, so he decided to turn it on its head and use it to his advantage. And in a world in which copyright (and other IP laws) keep getting worse, copyleft gets even more relevant.
To the issue of whether copyleft did any good versus MIT/BSD, well, would have Apple open-sourced WebKit if it wasn't for KHTML's LGPL license? I'm inclined towards no, but truth is, we'll never know.
On GCC on the other hand, its authors not only used GPL, but actually made it hard in the actual code for proprietary extensions to happen. This might have been good 15-20 years ago, when the landscape was dominated by proprietary compilers, but now I consider that we're better off with LLVM taking off.
Yes, it does. You set up a pretty big straw man there, allow me to illustrate:
"Smoking is bad"
"I don't know, I have very good friends who smoke."
There is undoubtedly great software that was shipped under the GPL but they became successful because they are great software, not because of the license they use.
The only straw man I see in this thread is the one you just set up.
If encouraging your project's success is secondary to preserving the freedom to scrutinise, modify, or redistribute its code, then GPL should be considered. Windows is successful by many metrics, but a failure where those freedoms are concerned. Obviously this is a good trade-off for Microsoft. It's not a good trade-off for Linux.
Where derivation is concerned, MIT & BSD guarantee diametrically opposed freedoms to the GPL. Which freedoms are more important depends on the intentions of the author, and the nature of the project.
That depends on what you're trying to succeed at. If the primary goal is to be free then freeness is the primary measure of success and popularity comes second.
The question here is about the choice of licence affecting the success of free software.
My argument is that, if success is more likely under an MIT style licence, this still may not be enough to sway me if I want a guarantee that users of my software are able to scrutinize the source code, or that derivatives of my software will remain free.
Surely "hello world" is useful only if you release it under a copyleft licence since its purpose is to teach you how to get started with the language it demonstrates.
In any case, freeness is a goal for me as a user of software. I choose Gimp over Photoshop, for example, because I care more about still being able to access my photos in 20 years time than I do about having access to certain feature sets.
The purely political stance I rail against is, in effect, "X fits my use case and is objectively better in every way, but Y is free, so I'll use Y."
For what it's worth, I can still open PSD's created way back in the 90's, and the format is well documented.[1] Adobe could disappear in a puff of logic tomorrow and their format wouldn't become unreadable.
> Surely "hello world" is useful only if you release it under a copyleft licence since its purpose is to teach you how to get started with the language it demonstrates.
I would argue that "hello world" is useful only if you release it under a very permissive non-copyleft free software license or, better, as public domain, for exactly that reason. Copyleft is excessively restrictive for this purpose.
> BSD/MIT is pretty well thriving, too. You probably use OpenSSH every day :)
I believe that BSD/MIT is thriving because GPL was there. Google, Facebook, Microsoft open sourcing their products. Free compilers, free operating systems all of this stems and started from GPL being there.
> I'd rather people contribute out of personal desire to, rather than legal obligation.
Sure, that why you as an author (or your company as the owner of your work) can choose how to distribute your work. You can pick any license you want. You can still use GPL and dual license it. I've bought dual license GPL-ed code and was glad to do it.
> That, and the GPL always seemed a bit too communist (in the sense of implying that other people have a moral right to your work) for my taste.
Communism really? Well thanks to communism then we have Linux, Android devices, free compilers, and probably the reason we have free and open source software today.
I take a pragmatic approach. I'm cool with BSD license for most of user-level application code, because if someone wants to make a binary-only application, I usually have options I can choose from. But in kernel space, a binary-only driver or kernel means that open source of any kind is locked out of the hardware, because it's hard to write drivers without specs. In that space, the GPL is one of our few tools for getting device makers to give us what we need.
Has that really worked, though? It seems like, in the case of things like video cards, the GPL means that we have the full-performance, 3d accelerated, proprietary and closed driver, which is the one you're going to use unless you have a moral stance against it, and the objectively inferior (slower, at least) Libre version of the same thing to talk to the same hardware.
What if a working computer is your primary concern, not the political status of the code?
If you care about more than the short term, such "political status of the code" should matter to you. The purpose of the GPL is not (or should not be) being able to say "my code is holier than yours", nor necessarily about having the best working implementation.
No, its main purpose is guaranteeing that all users can understand how the device works, even if they don't belong to the company that builds it. Other FLOSS licenses don't guarantee that in the same way than the GPL does, as they allow modifications to be kept secret. We could say that the GPL is "knowledge-friendly".
In the case of video cards, the alternative would be having only the proprietary closed driver and no open source version. It's incredibly hard to know of such closed systems work by reverse-engineering them; an open source driver, even if limited and less perfect, provides a full specification of the device.
Then you are able to use the proprietary driver so long as you agree to its licensing terms.
I suppose that you are arguing that an OSS driver licensed under more permissive terms would encourage GPU manufacturers to contribute more back to the original driver. Maybe it would and maybe it wouldn't. It certainly wouldn't discourage them from not contributing back.
Somehow I think that if they wanted parts of their drivers to be OSS they would have licensed them that way in the first place.
BSD/MIT is pretty well thriving, too. You probably use OpenSSH every day :)
The more permissive licenses always seemed the way to go, to me. I'd rather people contribute out of personal desire to, rather than legal obligation. That, and the GPL always seemed a bit too communist (in the sense of implying that other people have a moral right to your work) for my taste.