Slashdot Mirror


FSF, Affero Announce A GPL For Web Services

bkuhn writes: "The Free Software Foundation and Affero announced today the Affero General Public License (AGPL), a modified version of the GNU GPL. The AGPL includes a provision that protects a feature giving download access to the source code of a web service application. Public comment on the license should be sent to <agpl@fsf.org>."

22 comments

  1. The price of free software just went up. by QuantumG · · Score: 2

    is section 2(d):
    If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.

    Which is a lot harsher than any requirement that has ever been made of someone who makes a derivative program of something that is GPL'd. That bandwidth costs money ya know.

    --
    How we know is more important than what we know.
    1. Re:The price of free software just went up. by Rick+the+Red · · Score: 2
      Teach your kids: "Copyright made baby Jesus cry."
      All of the code in Linux is copyrighted. All of the code in *BSD is copyrighted. All of the code in Gnome, KDE, Tuxracer, GIMP, etc. is copyrighted. Are you saying all those programmers made baby Jesus cry? Are you saying Richard Stallman made baby Jesus cry? Maybe he did, but if so I doubt it was for copyrighting his work.

      --
      If all this should have a reason, we would be the last to know.
    2. Re:The price of free software just went up. by QuantumG · · Score: 2

      People who write *BSD code barely use their copy rights. So BJ doesn't cry too much about them but he does cry a little. People who write GPL code use their copy rights a lot more and they make BJ cry a lot more too. BJ doesn't like to cry but he does when something just aint right. If BJ could talk he would have said "hey, GPL dudes, rather than using the force of copyright to make people take on your philosophy (like you did with MCC and NeXt) why dont you spread the gospel. Convince them that it is better to release the source code to a C++/Objective-C front end so everyone can benefit." because BJ can see that RMS is just taking the easy way out by using the devils tools to do God's work.

      QuantumG puts down the crack pipe now.

      --
      How we know is more important than what we know.
    3. Re:The price of free software just went up. by Anonymous Coward · · Score: 0
      There is no requirement that they provide the bandwidth. They could redirect to the original author's version if they wanted to. But transmitting the source code would probably require a trivial amount of bandwidth compared to the amount needed for running a web service.

      There might also be a loophole here: the license says the user must have the ability to request transmission, but it doesn't say that the server actually has to transmit it. Or the server could transmit at 1 byte/second.

      Another problem: this license allows you to switch the code to version 3 of the GPL. But that doesn't exist yet, so you're allowing people to relicense the code using a license you've never seen before. The normal GPL doesn't allow you to relicense under future versions unless you specifically write "or any later version" in your code.

      Also, I think the clause allowing a copyright holder to permanently terminate GPL rights for a company that violates the license should be removed. If they fix the problem, they should be allowed to use the code again. Imagine that some company violates the GPL for Linux based on some minor technicality, and a guy that wrote a 10-line patch terminates their rights to use that code. That could scare companies away from using GPL code.

    4. Re:The price of free software just went up. by sydb · · Score: 2

      Also, I think the clause allowing a copyright holder to permanently terminate GPL rights for a company that violates the license should be removed.

      Actually, this is what the entire KDE debacle was about - by breaching the GPL, some coders (apparently - I don't know the details) lost the rights given by the license, and normal copyright resumed. This is what the whole 'asking forgiveness' of the original developers gig was about.

      --
      Yours Sincerely, Michael.
    5. Re:The price of free software just went up. by Rick+the+Red · · Score: 2
      You don't understand. RMS doesn't want everyone to benefit from his code, only those right-thinking people who right-think like him. Wrong-thinking people like you are not welcome in RMS's world. BSD is bad because it sets the code truely free (even to be enslaved if it wishes enslavement). GPL is good because it only allows code to be as free as RMS chooses, not free to do as it chooses. True freedom is dangerous, as all right-thinking people know.

      So, when do you think RMS will put down the crack pipe?

      --
      If all this should have a reason, we would be the last to know.
    6. Re:The price of free software just went up. by j7953 · · Score: 2
      Another problem: this license allows you to switch the code to version 3 of the GPL. But that doesn't exist yet, so you're allowing people to relicense the code using a license you've never seen before.

      The GPL also allow the user to switch to a newer version of the GPL, so this "problem" is not specific to the AGPL. Also note that many people who like the GPL don't see this as a problem. The whole idea of the GPL is to empower users, so why not give them the power to switch to a newer, presumably better, version of the license?

      E.g. I might be a user of some GPL application and develop a web application based on it. I install the software on my server and provide source code to my users (even though the current version of the GPL doesn't require this, as I'm not distributing any software), and I'd like to force others to do the same if they run my software on their server. The GPL 3 will probably cover this, but if the software my web application was derived from doesn't allow using it, I'll not be able to use it.

      BTW, if you really don't like the clause, you can always license your code under the (A)GPL with an exception clause that disallows using a different license.

      --
      Sig (appended to the end of comments I post, 54 chars)
    7. Re:The price of free software just went up. by Anonymous Coward · · Score: 0
      The GPL also allow the user to switch to a newer version of the GPL, so this "problem" is not specific to the AGPL. Also note that many people who like the GPL don't see this as a problem.

      From the GPL:

      Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

      While it's common practice to write "or any later version", it's not written in the GPL, you have to explicitly say it. I don't see this as a real problem with the AGPL, it just a bit odd, and I think developers should always be given a choice to use one specific license (maybe they don't trust the FSF - by writing "any later version", the FSF effectively controls the licensing of your software).

  2. A new strain by Anonymous Coward · · Score: 0

    ... and the virus has mutated! Experts think that this new strain may infect areas that were previously unaffected by any of the *GPL versions of the virus. Exercise extreme caution when in contact with infected objects.

  3. A Longer Licence Anyone? by chris_mahan · · Score: 1

    The text of the license and the time required to fully comprehend the license will invariably be greater than the API for said service.

    --

    "Piter, too, is dead."

  4. business-agnostic name perhaps? by renehollan · · Score: 2
    While I understand the motivtion behind such a license, I am troubled that it bears the name of a business. Even the FSF does not call the GPL the "FSF GPL", just the GPL.

    Perhaps, GNSPL, or "General Networked Service Public License" would be better.

    --
    You could've hired me.
    1. Re:business-agnostic name perhaps? by jas79 · · Score: 1

      I think that the agpl is a test version of the next verion of the GPL. affero is testing it and therefore it is called agpl.
      but when it is finished and all errors are removed it will become GPLv3.

  5. HTTP? by guerby · · Score: 5, Interesting
    I just submitted the following comment to agpl@fsf.org:

    Hi, I think that the reference to HTTP could be replaced:

    * d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.

    HTTP is not defined in the license, and the rest of the paragraph stays general with "interaction through a computer network". Why not word the requirement to send the source using the same way as the original software did?

    Since the goal is to allow the user to get the source code file on its computer, may be it's better to state only the goal as "the user interacting with the software through a computer network must be able to download the complete source code through a computer network as well" (sorry non native and non lawyer).

    As it is worded, if the original software sends the source by FTP (because for exemple it is an FTP server), it looks like if I change a line of code, I must implement a whole HTTP server as well just to send the modified sources, looks bizarre to me :). Also in the future if HTTP makes no longer sense for this purpose (because the whole word is a network of HURD machines talking through a new GNU protocol :), it makes the license obsolete.

    Also by "any user" do you mean any user originally granted access to the feature permitting the download in the original software?

    1. Re:HTTP? by Dr.+Tom · · Score: 2
      Yeah. This section (2d) is one difference between this and the GPL. They just tacked this on, and seem not to have given it much thought. Forcing the use of HTTP is just dumb.

      But it's not the only difference. You are also allowed to relicense under the GPLv3, if that license doesn't conflict with this one. If GPLv3 doesn't conflict, why mention it? So just use the GPLv3.

      More than that, though, if a program is GPL, the user can always get the source code. It seems the intent of this clause is that if the program is self-downloading you have to retain that functionality in any future derived works. This could probably almost always be done by simply giving the user a link to click on. It doesn't say that the downloaded source has to be functional, either, which probably conflicts with the intended use (e.g., Javascripts).

    2. Re:HTTP? by Spy+Hunter · · Score: 2
      You don't have to implement a HTTP server in the program itself, you just have to provide a place where the source code can be downloaded through HTTP. The program might just give the address. If HTTP becomes obsolete, though, this license will look fairly silly :-)

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    3. Re:HTTP? by Anonymous Coward · · Score: 0

      It's not accurate that if a program is GPL, the user can always get the source code, and it's actually the reason for this change.
      GPL only requires you to provide source code if you *distribute* the program. If you took GPL code, modified it, and are running it as a server, but aren't giving the executable to anyone -- the current GPL won't require you to give away the source either.

  6. I thought the usual GPL was called the "GNU GPL" by phr2 · · Score: 2

    which is sort of equivalent to "FSF GPL" since the FSF is the organizational arm of the GNU project.

  7. You make some good and bad points by phr2 · · Score: 2
    Your points about sending at 1 bit/sec and about the server not honoring download requests are interesting and I hope Affero reads this discussion and takes note of them.

    However, the clause about terminating distribution rights of violators is one of the most important in the GPL and must not be removed. While the KDE thing was stupid, that clause is at the center of the MySQL vs Progress Software lawsuit and without it MySQL would be in a much worse position.

    The termination clause is important because without it, anyone could violate the GPL all the want, up to the point where they think they're about to lose an actual lawsuit. They'd have no incentive at all to stop violating until then, because they'd know they could always stop violating if it looked like they were in real trouble, so they might as well keep violating and see what happens. Continuing to violate doesn't create any risk beyond possibly having to stop sometime, so they'd do it with impunity, dragging "discussions" and "questions" about the violation into infinity while continuing to violate merrily.

    Having the violator's rights removed as soon as they violate lets the GPL holder tell them "look, you're in violation, and you have to stop distributing right now and not distribute any more til this problem is sorted out, or you'll be liable for actual and statutory damages under the copyright act when we sue you". The termination clause is the teeth in the GPL, and without it the GPL is, well, toothless. Sleazy companies violate the GPL regularly and are brought into good behavior by termination of their rights combined with threats of precisely such lawsuits taking them to the cleaners. Any forgiveness given for past violation is at the discretion of the copyright holder and is not guaranteed to a sufficiently obnoxious violator (as the company that tried to screw MySQL has learned).

    I don't understand your eample of someone writing a 10 line patch. Normally someone writing a 10-line patch doesn't get to hold the copyright of a big GPL'd program and enforce the license. And if the only thing GPL'd is a 10-line patch, the infringer can just write his own patch.

    1. Re:You make some good and bad points by Anonymous Coward · · Score: 0
      I don't understand your eample of someone writing a 10 line patch. Normally someone writing a 10-line patch doesn't get to hold the copyright of a big GPL'd program and enforce the license. And if the only thing GPL'd is a 10-line patch, the infringer can just write his own patch.

      My point was that any contributor can stop you from using their code if you break the license (since they'll still hold a copyright on that code). For example, Alan Cox could forbid you from using his Linux code if you violated the GPL (even on a minor technicality, like if you made the source available but forgot to provide the URL), basically meaning you can't use Linux (it would be pretty hard to remove and rewrite all his code). But I guess that's what copyright assignment is for - if the original author doesn't want anything like this to happen, they can require that all copyrights are assigned to them. So you're right, this clause shouldn't be removed.

  8. Re:I thought the usual GPL was called the "GNU GPL by sydb · · Score: 2

    Stange hierarchy of objects. That's a bit like saying "My physical being is the organisational arm of my existence"... whereas I'd tend to see my existence as something my physical being does. FSF does GNU.

    Actually that's quite catchy, I'll think I'll make that my .sig!

    --
    Yours Sincerely, Michael.
  9. Really it's the other way around by phr2 · · Score: 2

    Historically it's more accurate to say "GNU does FSF" than "FSF does GNU". First the GNU project (i.e. people hacking code informally) started, then it became clear that some kind of organization was needed to take care of mailing tapes out, collect money, and hire programmers (RMS had previously been mailing the tapes out himself) so the FSF was started.