Hacker Newsnew | comments | show | ask | jobs | submit login
AGPL no more (opalang.org)
38 points by hbbio 1090 days ago | 39 comments



I found the headline a bit misleading. Maybe it's just me, but when I see "AGPL no more", it sounds like the FSF is deprecating the Affero GPL. And the article isn't even about a project dumping the AGPL, but licensing different components in different ways while retaining the AGPL for a major part of the core.

I'd hope for better headline writing in the future.

-----


I thought the domain name next to it was giving a hint. Better headline might have been: "Dual licensing business model does not work anymore" but that's long.

-----


The future is BSD style licenses, not the GPL3 variants. RMS got a little too clever for his own good.

Why on earth would you agree to give up your source code/competitive advantage to save writing a few hundred lines of javascript? It's one thing to try and write a kernel from scratch, but to sell your soul for a Javascript library (looking @ you, Sencha Touch, which is mostly re-themed jQuery mobile) is silly.

At least these licenses have a good purpose: they provide a shibboleth for identifying the ideologically pure.

-----


You seem to be implicitly assuming that "the future" is "a few hundred lines of javascript".

-----


Also implicitly assuming that all code is written for competitive advantage, and that licenses are aimed at developers.

-----


from the post: "The Opa compiler will remain an AGPL project."

The title on the blog post is "Opa License Change: Not just AGPL anymore"

-----


From the post: "The standard library and the native backend will be licensed under the GPL license with the so-called ClassPath exception, like Java. The exception means you can link the GPL code with any code, opening the door to license your application under any license."

-----


Yep, multiple parts having multiple licenses. My point was the AGPL is still in the mix.

for completeness here is the list from the post:

1. The Opa compiler will remain an AGPL project.

2. The standard library and the native backend will be licensed under the GPL license with the so-called ClassPath exception, like Java. The exception means you can link the GPL code with any code, opening the door to license your application under any license.

3. The forthcoming Node.js backend will be licensed under the MIT license.

-----


most developers won’t release the source anyway while they develop for many possible reasons: It’s not working yet, they are not proud of their code yet, they don’t know what to do with it yet, etc.

Well under the AGPL they are required to release the code… Sorry, but that's copyright law and that's the copyleft licence.

-----


What I meant is: while they develop. The AGPL does not require you to publish your code before you either distribute it or run it online.

-----


No, they are only required to release the code when the distribute the result. The license does not compel a developer to release the code before they've started distributing it.

-----


In the context of the AGPL, serving an application is like distributing a binary, so they should distribute its sources too.

-----


Which probably doesn't apply while the stuff is still in development.

-----


The license does not compel a developer to release the code before they've started distributing it.

No that's the GPL you're thinking of. AGPL requires the source code be shared out to everyone once (roughly) people access it.

-----


The AGPL is still a copyright license, and therefore still only matters if the work is being distributed in some way. If the work isn't being distributed, then copyright permission is not required, and the license is irrelevant.

-----


Not true. Copyright includes the right to control how a work may be performed publicly. I presume this allows the AGPL to enter a "You may only make this work available publically if you do X, Y and Z."

Software that is no actually distributed externally, but is interacted by the public is the express target of the AGPL licence. They would have thought of how to cover the "non-distribution" case.

-----


  > Not true. Copyright includes the right to control how a work
  > may be performed publicly. I presume this allows the AGPL to
  > enter a "You may only make this work available publically if
  > you do X, Y and Z."
The thing is that if the work isn't being made available, then copyright just doesn't apply. Public performance applies to things like art and music, for which the work must be duplicated to be performed. But software does not have to be duplicated (excepting from disk->ram, etc, which is considered fair use).

For example, if there was an AGPL'd binary which would render a PDF to a PNG, I could host it on my server and let people interact with it but not release the source. The reason I do not have to release the source is that I am not distributing the binary.

The AGPL is designed for cases where interaction requires that part of the work itself be sent to the user -- examples are web pages, Java applets, and so on.

-----


if there was an AGPL'd binary which would render a PDF to a PNG, I could host it on my server and let people interact with it but not release the source. The reason I do not have to release the source is that I am not distributing the binary.

These seems exactly like the use case of the AGPL, which I why I think they would have covered that.

(Web Pages (of a web application) are the rendered output of programmes on the server side, so would be the same as "a binary that made a PDF into a PNG")

-----


Web pages aren't just rendered output, they also (usually) include portions of the web app in them (javascript, template sections, images, etc). This means that the output is itself a derived work of the original code, and thus needs copyright permission to distribute.

-----


Developers take note: License with AGPL at your peril, or rather at the peril of your product, which most people will not touch if it is AGPL licensed.

-----


Correction: most developers (won't/might not) touch it. End users don't care - they don't even need to know what the AGPL is.

On the other hand - many developers won't touch non-free software or cloud services due to security and privacy concerns. The AGPL is the ideal license for this crowd - which probably includes the original authors anyway.

There's a fair few successful AGPL projects, but I'm not sure there's any real evidence that the AGPL actually harms a project. It's mostly just people complaining that they aren't getting a free lunch.

-----


> It's mostly just people complaining that they aren't getting a free lunch.

This sentiment both frustrates and amuses me.

On the one hand, complaining that a GPL-licensed project isn't BSD/MIT-licensed smacks of entitlement - nobody forced the original developer to use a free license, after all, so don't complain.

On the other hand, this sense of entitlement is exactly what the free software movement is all about - according to the FSF, users deserve freedom and nothing less[1].

(The important difference is that users should be entitled to free software as opposed to proprietary software, not one free license over another free license).

Still, anytime I hear people complaining that a project uses one of the GPL licenses instead of a BSD/MIT license, I'm always tempted to remind them that the real alternative was for the original developer to keep the code proprietary... and everyone loses in that situation.

http://www.gnu.org/philosophy/free-software-for-freedom.html

-----


Deserving freedom and deserving free aren't really the same thing though. The FSF is not about entitlement to something, but rather about human rights, or applying the basic principles of trade to software too.

If you buy a house, it's your property, and you can modify it how you want. Similarly, if you buy a car, you can resell it when you want a new one.

Imagine if these purchases came with the same shrinkwraps as proprietary software - that you weren't allowed to sell your home, your car, perhaps not even modify it. Some estate agents might go as far as telling you who can enter your property, and what times you can use the bathroom.

The "free" entitlement that GPL complainers want, is the ability to get a house (or part of) for free, modify and sell it (or put it for rent), and then force the buyer/tennant to sign a contract stating that he may not modify, resell or lease it out.

I wouldn't be too pleased if all construction companies only rented out homes, and it was impossible to buy my own property. The GPL applies that same economic freedom to software - when you buy or otherwise obtain GPL code, you own it - where you only ever "rent" proprietary code.

-----


> Deserving freedom and deserving free aren't really the same thing though. The FSF is not about entitlement to something, but rather about human rights, or applying the basic principles of trade to software too.

Agreed - I was being mostly tongue-in-cheek, and playing on the fact that anything that is expressed as a 'right' implies some sense of entitlement... of course we're 'entitled to our rights'!

Though you're correct that the 'right' to freedom is also justified by the principles of trade as well.

-----


On the HN frontpage not far from this thread, there is a story about 10gen raising $42M with their AGPL licensed MongoDB.

-----


from the MongoDB licensing page: http://www.mongodb.org/display/DOCS/Licensing

"The goal of the server license is to require that enhancements to MongoDB be released to the community. Traditional GPL often does not achieve this anymore as a huge amount of software runs in the cloud. For example, Google has no obligation to release their improvements to the MySQL kernel – if they do they are being nice.

To make the above practical, we promise that your client application which uses the database is a separate work. To facilitate this, the mongodb.org supported drivers (the part you link with your application) are released under Apache license, which is copyleft free. Note: if you would like a signed letter asserting the above promise please request via email."

On the the other hand Opa's statement was "And because of the latter, every program written in Opa, that links to the runtime, must itself be released under the AGPL or the GPL."

Very different scenarios for developers.

-----


I was just indicating that "License with AGPL at your peril" is an overreaction.

-----


Careful, there is often this misunderstanding with Mongo. Using MongoDB from your program does not require you to open source it. The Drivers which you link against are Apache or MIT licensed and Mongo's AGPL license has a "different work" exception for exactly that use.

-----


A less fear-mongering note: If you're designing a language or a compiler, there's a good chance that you'll have adoption problems if your standard runtime environment constrains people's license choices.

That isn't exactly news, either. There's a reason why glibc isn't released under the AGPL.

-----


Another correction: most corporate developers, startup or big corp, won't touch it (because of fearmongering by lawyers and Microsoft and the like). Hobby developers have no incentive to develop for free for your corporate ecosystem.

-----


What is the difference between LGPL and GPL with the classpath exception?

-----


Why not LGPL?

-----


Most likely for reasons described in http://www.gnu.org/philosophy/why-not-lgpl.html .

-----


Will the formerly AGPL components continue to be dual-licensed under the AGPL as well?

If not, that's a problem, because the AGPL and GPL are incompatible, so that means that nobody can use the AGPL for new forks/patches on the product anymore.

(That's not quite true in that they can receive a copy of the product from someone who received it under the original AGPL license and therefore can and must redistribute it under the AGPL, but the point is that, when making licensing changes, you should always add a licensing option instead of changing it, because the latter isn't really possible, and the former is more explicit as to the outcome).

-----


AGPLv1 and GPLv2 are not compatible. GPLv3 and AGPLv3 are compatible because of clause 13 in both licenses. See http://en.wikipedia.org/wiki/Affero_General_Public_License#C... for more details.

-----


Ah, I didn't realize that the project was released under the GPLv3 instead of GPLv2.

-----


GPLv3 and AGPLv3 are mutually compatible, that is, you could link GPL code to AGPL code and vice versa.

-----


It's not so much that they're compatible - but rather the GPL explicitly allows relicensing of GPL code under the AGPL. The combined work must be AGPL licensed.

-----


Not true. From the AGPL:

> Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.

-----




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: