I hope that programmers who sneer at the impracticality of the GPL and RMS's zealousness can take another pass at appreciating it, when you think about what its implications might be for a project thirty years in the future.
I think that in the distant future we will see very old, very well tested software that changes only slowly. I would like to see that software using GPL or AGPL.
If it's your own code, you can change licenses back (say, for the next version) if you want to.
Some people seem to take the upswing of web oriented frameworks as a sign of permissive licensing being favored across the entire OSS ecosystem, but it's simply in an area where permissive licensing was already entrenched (again frameworks, libraries) that has seen a lot of recent developer activity.
People don't feel a strong need to "weaponize" their licenses against a dormant enemy. Hell, there's a whole generation of hackers for whom the threat is merely theoretical, a bit of historical hacker folklore. For them, copyleft clauses are merely a nuisance that serves no immediate practical purpose.
However, should one or more major players be stupid enough start abusing this and stop playing nice with the open source community, my guess is you'll suddenly see an upsurge of GPL licensed projects.
MIT and BSD licensed projects are cool as long as everyone plays nice, and most companies, even Microsoft, have learned to play nice. That may not always remain the case.
I think that threat is alive and well, especially in mobile and sooner or later everything will be mobile except for server side.
Some battles were won but that war may still very well be lost.
I would love to hear a succinct response to this concern, which I've encountered numerous times when I've sought to use a GPL library or solution and the boss/manager goes pale at the thought of GPL. What is so terrible about it?
- Are there libraries/solutions you cannot use simply b/c you have a GPL piece in your toolbox?
- "derivative works" as I understand this is only if you modify the source code itself. Does stuff built on-top-of or next-to the GPL'd code have to be GPL too?
"derivative works" is often the simple question on what a non-technical judge would deem as a single product. If you have to explain and label "parts", counting it as a derivative works is the safer bet.
It's still wonderful to be on a linux system where I can just "apt-get source <pckage>" and look at how it works, try to work around bugs, etc. The attitude that you should be able to break apart anything you're running and hack on it is the fundamental principal of the GPL.
I have a suspicion that people who dismiss the GPL nowadays are young enough to have never lived through the times where the standard unix server was running SunOS and good luck to you if you ever found a bug in the system. You know, the days where you had to pay for a (sucky) compiler.
They probably never lived in the days before Linux, GCC and free software as something that can happen in reality. Yet looking back here we are. People sharing code on github, companies sharing their code (either licensed as GPL or other open source licenses). High grade languages, compilers, OSes, kernels, crypto libraries all free and/or open.
I think that would not have happened had it not beed for Stallman and GPL.
A lot of developers I find are also bored or ignorant to study or understand licensing. Concepts like "copyright", "license", "open", "free" are all confused and relegated to mumbo-jumbo legalese. Today most have internalized the simple heuristic "GPL" = stay the fuck back or our legal department will slap me on the head, "BSD" = good, use anyway you like.
I think GPL is more important today than it ever has been. Core infra software should all be GPLv3.
GPL is one of the most clearly logical apolitical instruments of change that has ever existed.