I feel that we're in a post-revolutionary phase of open source[1] -- and we no longer need the radical instruments of the GPL (and certainly not the AGPL). Yes, there are actors that consume open source, modify it in important ways and never give back (AWS: looking at you!), but in the new world of software services, no open source license (including the AGPL!) is going to coerce contributions from actors who have no intention of contributing -- licenses that attempt this simply will impede adoption of the software they cover. And indeed, I think coercion is the wrong way to think about it; rather, we must focus on encouraging contribution by lowering the barriers to adoption as much as possible. As you point out, I still do prefer the weak file-based copyleft of the MPLv2 as a compromise (which we selected for Triton and Manta[2]) -- but like any good compromise, it tends to be universally derided by the poles of the debate.
>I feel that we're in a post-revolutionary phase of open source[1] -- and we no longer need the radical instruments of the GPL
We need the GPL now more than ever. Free software is in everything, yet users are less free than ever. Almost everything users interact with on their phone is proprietary software built on permissively licensed free software. If you think the GPL is no longer needed, then user freedom was never your goal.
I used to be a big fan of prtmissive licenses until I bought a $700+ android phone a couple of years back and discovered that it did not "support" my native language (it could render the glyphs but system-wide support was not enabled).
Having extensive experience with unicode and how text is usually rendered, I knew exactly how to fix the issue; the fix was likely as simple as injecting an SO that hijacks a specific system library function. However, because the phone was locked down, I was unable to fix the problem myself. All important system apps including SMS and the browser displayed gibberish.
It was the most expensive brick I ever bought.
This experience taught me the true value of the GPL and why user freedom far outweighs the freedom of developers.
Thanks for sharing your story. I think English speaking people, particularly in first-world countries, don't realize how inaccessible a lot of software is for so many people because those people don't align with the business interests of a company.
I must stress that I do not blame developers for not catering for a language they do not speak, and I can't blame I company for not supporting a group of people if it doesn't make business sense.
I do, however, hold a grudge against a company that prevents me from fixing an issue in a product I payed for and own. More so when the fix is for a issue that renders the device useless and is incredibly easy to fix.
I disagree strongly. The only systems that are truly free are thanks to the GPL. Linux would not be as successful without the GPL. We wouldn't have free router firmware from Linksys without the GPL. The GPL works and works well.
As you say, users are less free than ever. The GPL works for what it does, but if you care about user freedom in the real world, and not only the ideas Stallman formed thirty years ago, look around. The GPL hasn't made any meaningful difference outside of developer circles.
> I feel that we're in a post-revolutionary phase of open source
It seems increasingly clear to me that this is true, albeit in the sense that the revolutionary aims of the FOSS movement (if we can genuinely lump things together) have been for the most part utterly defeated, and the handful of people who are sincerely concerned about them are now engaged in a tattered and obviously doomed rear-guard action.
Open source as an engineering approach is doing fine, of course: Its practical benefits turn out to provide a great deal of leverage for centralizing and consolidating power.
Can you elaborate please? This seems like an opinion without supporting evidence, but evidence probably exists? I just don't want to reject your argument out of hand because the health of the open source ecosystem is important.
a) open source as a technique and a body of work has become indispensable (or at least, for the moment, quite important) to a lot of industry and to the structure of the existing network that enables it. I don't think anyone very credible on the issue would seriously dispute this.
b) open source as a technique and a body of work has been instrumental in giving players like Google, Amazon, Facebook, Apple, Twitter (etc. ad infinitum) the leverage to build a service-oriented / centralized / siloed model of networked computing which is antithetical to the aims of user control and freedom expressed by the Free Software movement and a broad set of more-or-less related ideological impulses.
By some measures, the health of the open source ecosystem seems quite robust. By others, we're plainly fucked and I'm not sure what to do about it.
The idea of Open Source was, first and foremost, to allow the users of software to inspect and modify the source code. "free" in this regard has something of a political as well as an economic component. To summarise the political very broadly, I'd say that software (and the data it manages) are power, and giving broad access to both distributes that power among the users of software.
The economic aspects are not just cheap access to software, but also the benefits of increased competition result from access to the code, which allows the creation of data-compatible competitors.
These missions have failed for anyone but software developers, because so much of today's software runs on servers where the GPL does not enforce sharing of code, and because the community has become dominated by commercial players and permissive licenses like MIT. As a metaphor: the bakers are all happy because the flour and yeast are free. But bread is as expensive as ever, and most people eat in restaurants, anyway.
Since it was unclear from my comment: I consider myself an active (if entirely unimportant) participant in the movement, and the state of affairs I describe is one I'm deeply concerned by. I still see it as broadly true that we're in bad shape and losing ground fast.
Hmm, sorry for misinterpreting, but I disagree that we're in bad shape. Free software has never been more popular. I've never been able to do more with 100% free software than right now. I owe my career to free software. The threats are great, I agree, but we will keep fighting.
I'm not giving up - and I agree that both as an end user and a developer, there's plenty to appreciate right now. Still, I think there are a lot of hard, complicated thoughts to be had about the distribution of power and the direction things are headed.
> I feel that we're in a post-revolutionary phase of open source[1] -- and we no longer need the radical instruments of the GPL (and certainly not the AGPL).
I think this is the fundamental disagreement we have. I prioritise the needs of users to have software that they have the right to control and modify (which allows for "software mechanics" to fix bugs and so on).
Upstream contribution is not, and has never been, a goal of the GPL. The concept of "upstream" is a development workflow which is entirely separate to what license you use. Some people do attempt to force others to follow a workflow by using the GPL, but I think such attempts are doomed to fail in most cases. Others (such as Linux) do it by making their software move at a very fast pace to make out-of-tree maintenance hard, which actually works much better.
The GPL has always been a license for the benefit of users, not developers (though of course, developers are users too). So the focus on contribution and wide-spread use is IMO missing the point of the GPL. Yes, you get contributions (in general) from it, but that's because it just so happens that upstream contribution is one of the few viable workflows with free software. It's got nothing to do with the GPL.
I completely understand why you're prioritising contribution and creating a healthy community, but in my opinion building a community around the base of "I want this software to have a community around it so that the software works well for the community." isn't really as fulfilling as saying "I want this software to set users free from proprietary alternatives, and the community that has formed shares in these ideals." Of course, each to their own and all that.
I think this is really the core of the issue. For someone to "adopt" my software but not contribute in any way (whether that be patches, documentation, support, financial, repetitional, etc.) it's not an especially desirable outcome. I suppose there is something to be said for merely living generously (and I do license quite a bit of code that way) but as a society we have unfortunately not yet solved how to sustainably develop software projects without the sticks and carrots in the general case.
It is fair to look at whether e.g. AGPL limits adoption, but I think it is equally fair to ask if it makes sense that a software developer in a broom cupboard is donating his time to AWS, or whether AGPL allows software to be written that might otherwise not exist, or might not exist in the open.
But here's the deal: for someone like AWS who isn't giving back, the choice is not "do they give back or don't they?" -- it's "do they run your software or someone else's?" So: do you want to grow the ecosystem around your software or not? Do you want AWS to at least create a market for people who understand your software? Do you want at least the intrinsic satisfaction that your software is being used in an important capacity, even if it doesn't mean immediate remuneration? Finally, if AWS runs your software and it becomes core to their business, there is a non-zero probability that they will contribute something tangible in the limit -- if they do not run it, there is, in fact, zero probability of such contributions. It's not dissimilar to the arguments around open sourcing otherwise proprietary software[1]: you need to get out of "what will this buy me?" and into "what does this cost me?"
> there is a non-zero probability that they will contribute something tangible in the limit
I wouldn't hold my breath for that, frankly. My experience in working for a few large companies has shown that they actively discourage contributions, since it opens the doors for lawsuits (frivolous or not), further contribution and maintenance expectations. To them, the cost is not worth the benefits.
There are, of course, the exceptions to this rule - but that's all they are, exceptions.
For one great example, look at the plight of OpenSSL. Before it broke way open, how many companies really contributed to it? And how many just used it, not giving a second thought to using it unless there was a CVE?
>For one great example, look at the plight of OpenSSL. Before it broke way open, how many companies really contributed to it? And how many just used it, not giving a second thought to using it unless there was a CVE?
So you think there were a large number of companies privately fixing bugs in OpenSSL? Or how would a less permissive license forced companies to contribute to a project they weren't actively improving?
And on your earlier points, keeping changes private likely requires more future contribution and maintenance expectations
> But here's the deal: for someone like AWS who isn't giving back, the choice is not "do they give back or don't they?" -- it's "do they run your software or someone else's?"
That assumes 1) the other software exists (GPL/AGPL has much more effect for software without viable competitors), 2) the license causes more of a problem than switching does, 3) you don't sell an alternative license that costs less than switching does.
> So: do you want to grow the ecosystem around your software or not?
In short: of course not. Or at least "not at any cost".
Open source projects do loads of things that reduce the potential ecosystem. People choose to work on projects that aren't web browsers, for example. Or they choose languages that aren't the #1 most popular. They target a platform that has less than 50% marketshare. All of those things turn away potential users in exchange for authorial convenience of some form or another.
It is a foreign concept to me to write e.g. a developer tool for a minority environment and then all of a sudden worry about the license being some major barrier.
But more broadly your position is very strange to me in its wider implications. Let us say that some voice actor could donate some spare reel to Disney. Or that some author could donate a manuscript to Penguin. Or that some musician could donate their track to Sony. Do you believe they should do so, under the theory that this in some way "grows the ecosystem" for their work?
How much is that "market for people who understand your software" worth? Sometimes those people are your competitors, using your own code plus local improvements (or "improvements") to sell against you. It's not as simple as saying you'll always win or you'll always lose. There are both opportunities and risks, which have to be weighed on a case by case basis. I've seen my own code sold against me too many times to believe permissive licensing is always the right answer.
[1] http://dtrace.org/blogs/bmc/2012/08/01/post-revolutionary-op...
[2] https://www.joyent.com/blog/sdc-and-manta-are-now-open-sourc...