views:

71

answers:

3

Here's the scenario.

I have a website and I want to start open-sourcing some of the modules that I've developed. I originally looked into the GPL, but I notice there's a loophole where people don't have to share their modifications if they're used on a public website.

I then found AGPL which seems better suited to my scenario, but have a question.

This bit scares me:

Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

...

c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.

What do they mean by the entire work? I first thought I might have to release the whole website under the AGPL (which I don't want), but then it's under the Conveying Modified Source Versions so I'm not sure anymore.

Can someone shed some light?

A: 

I believe that this simply says that anyone who modifies your source to create their own 'work' must license their 'modified work' under the AGPL as well.

In looking further into the AGPL v3 and the GPL v3, that section appears to be identical in both, and also, Section 5 of (A)GPL v3 appears to be Section 2 in v2. As per GNU's FAQ:

Section 2 says that modified versions you distribute must be licensed to all third parties under the GPL. “All third parties” means absolutely everyone—but this does not require you to do anything physically for them. It only means they have a license from you, under the GPL, for your version.

Also, A. González discusses this in part 3 of his legal analysis of GPL v3, which may shed further light for you.

Coldnorth
+1  A: 

It's your code, so you can do what you like - your own use is your own business.

Copyright law in most jurisdictions grants you certain rights. Applying a licence like AGPL is simply a shorthand for granting some of those rights under certain terms to anyone who wishes to exercise them. However - you still retain all your rights under copyright. You can do what you like with your own code, including licence it to others under different terms.

So, anyone who used your module would be bound by the AGPL terms, and it does indeed sound like they would have to apply the licence to their whole work. This is the sort of thing the LGPL helps with, but lacks that extra element that the Affero GPL brings.

You could go with LGPL, but add some additional clauses to sprinkle on that Affero magic - see this blog post for an example, but it's really the sort of thing that requires legal advice, and IANAL!

Paul Dixon
Emphasis on "they" - OP seems worried that he will have to release the whole code under AGPL, but appears that only derivative works have to release all modifications under AGPL
a_m0d
Well, it "is" my code, but surely the license applies equally to everyone? So if my module is AGPL, but I end up using it on my websites (or clients) would I need to release the website source? My main is worry is my competitors demanding the full source for the website.
The Pixel Developer
No - you are not bound by the terms. You are also free to licence the code to others under different terms. I will clarify this point...
Paul Dixon
A: 

It means that if you have a particular script which you release under the AGPL (not specifically the entire 'site' or 'application') then if I come along, take that script and modify it, then I must also release my modified version of it under the AGPL.

The entire license is based around the notion that you've been good enough to open source the code, so anybody who modifies or enhances it should also release those modifications / enhancements to the community too (and so on, repeat).

AGPL is a good license :) [although I go cc-zero where i can]

specifically, it refers to 'the entire work of the modifications'

nathan
I understand that, the confusion comes from "entire work". Are they referring to the entire work of the modifications or the whole website source code?
The Pixel Developer
the entire work of the modifications :)
nathan