FSF Releases AGPL License For Web Services
mako writes "The Free Software Foundation has released the Affero General Public license version 3. The license is essentially the GPLv3 with an added clause that requires that source code be distributed to users that interact with the application over a network. The license effectively extends copyright to Web applications. The new AGPL will have important effects for companies that, under the GPL, have no obligation to distribute changes to users on the Web. This release adds the license to the stable of official FSF licenses and is compatible with the GPLv3."
The new AGPL will have important effects for companies that, under the GPL, have no obligation to distribute changes to users on the Web
Only if they use it. No-one's under an obligation to use a new version of a licence, and if they don't like the terms, they may steer clear of it to start with.
I've been against this clause ever since I heard GPLv3 was adding compatibility. One of the important parts of the GPL is that it allows private development if the changes weren't distributed - this is an important thing, as there's no user to protect if it's made for self consumption. The four freedoms that RMS always speak of aren't threatened by this, as the user is the same as the writer - there's no oppression that needs to be stopped here. The addition is a corruption of the GPL, changing it's purpose from one of freedom for all users to the coercive obtainment of the source code at any cost.
As much as I welcome this license, and as important as I think it is that web services aren't used to deny people the basic freedoms that every software user should enjoy (especially if that software IS free software to begin with)...
Can someone explain to me just how this license can actually be legally binding? We were always told that merely *using* a piece of software did not require accepting its license, and - furthermore - that this was not due to a special clause in the GPL, either (in fact, that would've been impossible, since you'd have to accept the license for that clause to have any effect). This made sense: after all, copyright is about copying/distributing/conveying things (like software), not about regulating use of copyrighted works. You can read a book without needing a license from the publisher; you can use software without requiring a license as well (copying it to your own computer may be another matter, though).
So how can the Affero GPL stipulate that you need to convey the source code of the software you're using to power your web services when you're not actually distributing that software? What would keep $EvilCorporation from simply saying "we do not accept the terms of this license; therefore, we have no right to distribute $UsefulSoftware written by $PhilanthropicHacker, but we still have the right to *use* it, which is all we do when we use it to power our web service"?
This guy is trolling, he purposefully misreads the license and tries to introduce the old troll that GPL software means that what is produced with that software must be GPL'ed as well. This is offcourse complete and utter nonsense, but it is a regular troll that usually gets modded down pretty quickly.
He just tries a new angle with the AGPL. To make it clear for those who don't understand the license. Slashdot is run on custom code, lets say that it is released under the GPL, you can now take that code, install it on your own server (scream a bit as you release what you have just done) and run your own site with it (although it never will be quite like slashdot unless you hire a finite number of monkeys as your editors). So far so good. Now you modify this code. To hide your shame you don't actually distribute the code in question, just run it on your own server. A GPL license in this case would NOT force you to release these modifications, the GPL only triggers when you distribute the code/program to others. Google for instance uses a modified GPL code, but because they don't distribute are under no obligation to distribute the modified code (they do distribute some of it although they don't have too).
IF however the slash code was released under the AGPL you would be forced to distribute your modifications.
BUT at no point would the END result of the code/program fall under any license other then that which you choose. In this case, the HTML pages created would OFFCOURSE not fall under the AGPL or GPL or ANY license unless you choose one yourselve. (does machine created content fall under basic copyright?)
This is very clear from the license text and only a deliberate misreading by someone wishing to troll could result in any other explenation.
The GPL/AGPL are about the program/code, NOT about the results of the program/code. Anyone who tries to claim something else is an idiot.
It says a lot about slashdot moderation that this tired old troll was modded up. He tries to disguise himself by saying that he is happy to be corrected but before without trying to link Stallman to communism (the gpl is far closer to the true idea of a free market) and without having spouted a lot of outright crap first.
Now if you excuse me, I have to use windows for an hour as punishement for feeding the troll.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
There, fixed it for you.
If however I am wrong and you have to redistribute mycode.php I can see this being a real nightmare for programmers who have incorporated all sorts of code into their project.
I don't consider a software as a service operator to be an "end user", they are a middleman providing users with the ability to use software that runs on thier servers. Software as a service was being used to essentially do an end run arround the GPLs requirement to provide the source code.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
If you build a web service with software that OTHER PEOPLE wrote (or more specifically, own the copyrights to), and those COPYRIGHT HOLDERS licensed it under the AGPL, then:
- YES you have to release your modifications, or you are in breach of the AGPL. (Unless you obtain some other license directly from the copyright holders. If the only license you have from them is the AGPL, you have to follow its terms or you can't modify or distribute the software, or make derivative works of it ("propagate" it in GPLv3 parlance)).
- NO you can't relicense the original software that you used -- only its copyright holders can do that.
- You can license your *derived work* however you want, with the exception that it must be compatible with the AGPL licensing terms that the original software carries (otherwise no one will be able to use your licensed code, and your own AGPL rights to the original code it is based on may be terminated due to your breach of its terms).
IANAL.
It's bad enough that a 2 million line program written from scratch would suddenly be infected by the GPL by including a 1 line file, but now we are supposed to propagate the virus with our web servers? I am perfectly happy to allow the GPL and its descendants to exist but I am reluctant see its roots dig deeper into the minds of ill-informed developers who do not realize the only goal of this license is to see how far it can spread. Before anyone tries to flame me be aware I am simply expressing my opinion, if you disagree, disagree with objectivity. I myself am an open source developer and I practice what I preach http://www.freeswitch.org/ I release my code under the MPL and BSD licenses which are actually much more liberal licenses than GPL but all the propaganda would have you believe otherwise. If you are going to write free code and give it away, then stop worrying about how other people are going to use it. When someone takes your code and makes a service out of it, don't you think they put any of their own work into it building an infrastructure etc?
Something that is disturbing here, if your company uses AGPLed software and components inside the company, how does the give out source apply? The people working there are agents of the same company but if an outside person get access to a computer does that mean they now are obligated to give him the source to your companies internal accounting app?
I can see this as a big show stopper in a lot of ways. Mostly the misunderstanding ways. I will be avoiding it like the plague and I suspect most others not drinking the cool aid would too. I guess I'm going to have to read this again. But I hope it turns into one of those things that always sit in the shadows and never comes into general population.
What could happen is that you'll have a license violation. You can choose how you want to solve this violation:
1. Relicense your application under a compatible license. Again: this is completely up to you! Nobody can force you to relicense your software.
2. Remove any dependencies on the library in question, by rewriting (parts of) your code.
3. Ask the copyright holders of the library in question whether they'll grant you a commercial license, possibly for a fee.
And this set of options is EXACTLY why many companies have a "no way, no how, no Open Source anywhere near this company" policy.
All three options are out of the question for many (most?) companies*. The easiest way for them to deal with open source is to avoid it like the plague.
Your point about GPL not being viral is technically correct, but that doesn't make open source any less dangerous.
* #3 would be acceptable IF there was a single copyright holder who was interested in cutting a deal, but this is not the case for most open source projects, so again, the easiest and smartest thing to do is to treat open source like a disease.
Is it just me, or does this seem to be an administrators nightmare?
Lets say I run a modified version of PHPwebsites under AGPL; I would then need to maintain a copy of the source code available for the rest of the world on my site(?). This would of course mean that the source code directory would indicate what version of the software I ran, as well as the patches I did to it. This in turn would not only open for easy detection of programming errors in the small local patches on my server, but as I could not apply the changes to the latest version without also announcing that I updated the software, which in turn would announce quite immediately to the world that my currently running version is out of date with vulnerabilities, as well as how much time I would usually take from a new version of the software is released, to I as admin have cleared it/activated the changes on my site.
So not only will I be more likely need to daily monitor every software used under this license to always run the latest version to avoid hostile takeovers of my server, but the attacker would be even one more step ahead of me, knowing when I would typically get things fixed - can only imagine how it would be to run a few applications on a server under a license such as this...
I can think of a number of reasons why many projects won't go with this. Imagine this scenario
I start contributing to an open source project, such as a web app. My contributions are released under...say... GPLv2.
I am also a consultant or run my own business. As a service, I modify and setup the application to meet my clients needs. I'm really good at this 'cause I know the software well. My clients get a good product that meets their needs of reasonable privacy, and they can choose what portions of the modifications they wish to release under GPLv2.
With AGPL, the same process breaks down. My client is not happy when I tell them I have to release the entirety of their customized web app, back to the public under AGPL. Their competitor copies it, and my client goes out of business and doesn't hire me anymore. Not good.
Some web apps are in favor of the GPLv2 model as they already have plenty of contributions, and get more meaningful enhancements committed, if they know that the people doing the work are going to go a modify it later, for private use. Case in point, Drupal.