It's always a question of what the license authors believe is the overall freedom for users. Let's imagine I concoct a brand new license called "NoDRM." My license allows you to distribute copies of the software, modify it, charge for it, do whatever you like provided that you do not add any kind of DRM to it.
I distribute Wood and Stones with the NoDRM license:
Now somebody creates a new platform, let's say it's a watch that runs games. It has DRM built into everything it runs. It has a DRM-Store that allows free-as-in-beer apps. It is wildly successful, millions of people have these watches and everyone wants to play Go on them.
So: These millions of users want the "freedom" to run my app with DRM. I believe on principle that the world is more free if authors like me take a stance against DRM, which by definition limits freedom to every user downloading my game.
You can debate which position enhances freedom, but I think it's reasonable to agree that the author of a NoDRM license and the person choosing a NoDRM license believe they are enhancing freedom even as they deny users the right to use their app with DRM on it.
Personally, what I believe is that free software licenses--like the fictitious NoDRM--ensure that users are free to choose free alternatives. Most users won't make that choice, but then again most people aren't self-employed either. Nevertheless, our respective societies are considered free because self-employment is an option, and software is free if free software is an option.
You twist the word "freedom" just like Stallman. The influence of the open source software movement has always been negligible. The net effect is that we lose all of the protesters' work (substantial), and the protesters don't change anything. The Apple App Store isn't going to change policy because you withheld "Wood & Stones," but some Go enthusiast is the worse.
It's like an autoworker who wants everybody to unionize, and so he organizes sit-ins, but instead of ever forming the union that one guy just sits around all the time not working, ticking everybody else off.
What do you mean by we lose all of the protestors? If I don't want my software encumbered by DRM, I don't want my software encumbered by DRM. Do I belong to you? Does my software belong to you? How is it you "lose" me or my software? If you want it, here are my conditions.
I don't owe "some Go enthusiast" anything. They are not the worse off for anything, I didn't give them something and take it away. In fact, what I did was say, "If you choose to use a platform without DRM, you can get this thing I wrote for free." But hey, if that doesn't float the Go enthusiast's boat, he sticks with DRM. It's his choice, I am not stopping him from doing anything.
Arguing that I have some moral obligation to write software for proprietary distribution is like arguing that I ought to write Windows software because more people can use it. Which leads to arguing that I ought to stop writing programming tools and start writing games.
You and the Go enthusiast are free to choose free software or proprietary software, or nearly free software, do what you like. Better still, you're free to write your own software from scratch and stop whining about what other developers choose to do with the fruit of their labours.
How much more freedom do you want? And where do you think the freedom to write software without kowtowing to a corporation came from? Free software, that's where.
And no, I'm not like an auto worker sitting all the time not working, and neither is anybody else who writes free software. Does this look like not working to you?
I'm working, it's just that I choose what I work on, and under what conditions it may be distributed.
A better comparison would be that someone writing free software is like a hippie who grows his own coffee beans and sells them at the side of the road by his farm. You can't buy them at Tim Horton's or Dunkin Doughnuts because the hippie doesn't like what the big chains do with the coffee.
So you go to the hippie or you don't drink the coffee he grows. The problem is that you bought yourself a shiny espresso machine that only takes pods distributed by the manufacturer. So even if you buy the hippie's beans, you can't make yourself any coffee with them because the machine won't take them unless they've been shipped to the manufacturer and packaged into little special pellets.
How is this the hippie's fault for not liking big coffee chains or espresso machines? You can drink plenty of coffee, and you can buy a plot of land and grow your own coffee to be distributed by the espresso machine maker. You can buy a different kind of espresso maker that takes ground beans directly.
The hippie is free and you are free. The hippie hasn't shut down the big chains, but that isn't his goal. His goal is to sleep at night, comfortable that he has made choices compatible with his personal beliefs and that he has given other people the freedom to make choice compatible with their personal beliefs.
I suspect the argument is that by showing they're serious about enforcing the GNU license, they're making the current closed ecosystem less attractive, so either a truly Free system will be able to compete more equally, or the current system will decide to become more open. I'm not sure whether I agree with that argument factually, but I respect the principles behind it.
According to the FSF, it is about freedom for users.
"Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it means that the program's users have the four essential freedoms:
* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this."
Freedom 2 is not absolute, since I can't help my neighbor by making an improved version of the software that compiles against closed source libraries and distributing it to them.
Same with freedom 3 - if I make changes in that manner, I may not distribute them.
As a user, I am less free with the GPL than other licenses.
Not that this is a bad thing, but if the goal of the FSF is freedom of the user, they've got a ways to go.
What do you mean "run the program in public?" I don't think you mean putting a projector up and showing it off to an audience. (Which would be OK.)
I'm guessing you mean a web-app where your "audience" is running the software provided as a service. In that situation, the AGPL requires that you provide them the source code so they aren't beholden to you.
Otherwise, a web service is even more closed source than a binary executable.
You can't run the program on your own computer if other people can connect to it over the network without assenting to the license. It's a goddamn clickwrap EULA, something Stallman used to stand strongly against until he felt the need to rail against "the cloud" as that came into fashion.
The "audience" absolutely does not run the software, you do, on your computer — you just allow them to interact with it.
Also you're absolutely mistaken in thinking that the AGPL makes your users any less beholden to you when you still control their data — the program by itself is absolutely worthless, even with the means to develop and deploy it.
I think I see where we're misunderstanding each other. The freedoms the GPL ensures aren't for the developer of the software; but, for the users of that software.
The point is that, from the perspective of your users-- your "audience"-- they're running software somewhere out in the Internet. Where the GPL ensured (amongst other things) that they'd have access to the source of their local programs, the AGPL ensures they have access to the source of their remote programs.
From your perspective, this decreases your freedom as a developer because you're required to distribute your source code to your "audience." But, you have a simple recourse: don't use the AGPL!
wrt. the clickwrap EULA, I think the GPL and its variants have always been a set of terms and conditions. I don't know Stallman's arguments or what you're railing against; but, I will guess that his problem with clickwrap EULAs were that they limited how a user could personally use the software... or, worse, made other at-best tangentially related demands of them. The GPL and its variants do not limit your personal use, but rather constrain your ability to re-distribute the software.
wrt. the AGPL making users any less beholden due to the data silo effect, my position is that a program isn't intrinsically useless without a user's data... or even the developer's own custom data.
Consider a site like Facebook, where the primary value is in its network effects: anyone could open a competitor site that had feature parity. If the original site (Facebook) changed its policies in a way the userbase disliked, they could move to a competitor knowing the functionality would be the same.
Or, consider the GPL release of id software's old games. None of the assets are free. However, that didn't stop a huge ecosystem from springing up. Derivatives, alternate games, and the many thousands of people gaining an understanding of how to make a Real Game.
You're still mistaken — the freedoms the GPL ensures are for the software itself, not the developers or the users. In the case of VLC the developers have lost the freedom to publish it and end-users can't get it anymore, but those lines of code are sure free from the shackles of the App Store!
Facebook users do not see themselves as running software beyond their browser — it's just a website they use to communicate. It would be just as ridiculous to want the source to a SMTP/IMAP or XMPP server just because you have an account on it. The user-facing software is just CRUD plumbing — the account is what has value, and future control over that identity on that ___domain is usually more valuable than even the past data.
The GPL's conditions cleverly fit within the enforcement mechanisms of copyright law, it's a license to redistribute not a contract for use. The AGPL is totally different, it attempts to restrict your ability to run the software on a network-connected computer, much like the standard EULA text forbids you from using it in a nuclear facility. Unlike the GPL, you have to agree to its terms to execute it. One of these things is not like the other.
The id software games are a poor example, those ecosystems of mods were established when the games were commercially released, with tens of thousands of users making their own assets for the game engine they purchased. The GPL releases all came years into their decline, and several of the games had FOSS implementations of their engines before the original source was released.
Maybe we simply disagree. I don't think software, personified, has the capability to appreciate freedom. And, I think both the FSF and Stallman think the same[1][2].
Apple lost (or, more accurately, never had) the freedom to distribute VLC under the terms and conditions of the App Store. And the end users cannot get VLC from the App Store; though, it's readily available from other sources.
Whether or not Facebook users see themselves as running software isn't relevant to the argument. A person who licenses their software under the AGPL does view it that way. Therefore, if you choose to host that software, you're required to redistribute the source code. The AGPL doesn't restrict your ability to use the software on a network-connected computer. It does, however, require you to distribute the source code to any other users who use the software. If you don't want to distribute the code, then don't let other people use the software over the network!
I don't think it would be ridiculous to want the source to a server-- whether or not I had an account on it. But, I'm a curious guy.
I also agree that there is a lot of value in the account and identity. But, that's a different issue than the software and its license.
The id software games all had previously existing ecosystems. However, I was specifically referring to the ecosystems around the engines. Those improvements, derivatives, and the insight into a professional game engine were only possible after those releases. And I think that Quake's position as the often first-ported game to new game systems is a good testament.
Quite frankly, your argument confuses me because you claim the software itself is of limited value while simultaneously taking umbrage at being required to redistribute it.
[2] "Authors often claim a special connection with programs they have written, and go on to assert that, as a result, their desires and interests concerning the program simply outweigh those of anyone else—or even those of the whole rest of the world. ... To those who propose this as an ethical axiom—the author is more important than you—I can only say that I, a notable software author myself, call it bunk." http://www.gnu.org/philosophy/why-free.html
Windows has the OS exception in place, as would iOS. RMS has expressed the opinion that GPLed PhotoShop plug-ins aren't legal, nor is it legal to use a closed-source plug-in in the Gimp. The whole question of GPLed code in a non-free JVM has never been answered, as the JVM isn't quite an OS to qualify for the OS exception.
Thus, freedoms 2 & 3 are somewhat…flexible in practice.
There is no official "OS exception." But, the GPL does discriminate against "System Libraries"
Can you link to where RMS expressed that opinion? It goes directly against GNU's FAQ on the GPL[1].
It is a copyright violation to distribute closed source plugins for the GIMP. But, that is the reverse of the photoshop situation. The GIMP is GPL and so anything linking with it must also guarantee the same redistribution rights.
But, neither of these examples conflicts against your earlier examples. The GPL places no restrictions on your-- or your neighbor's-- personal use. And, you may distribute a GPL extension to a closed source product.
Of course, GNU would rather you'd implement a free software equivalent. :rolls eyes: