Re: Alternatives to the Affero General Public License
Before going too far down this road, see
for some fundamental questions about where to draw the line on this
requirement. Unless you're willing to say "all changes must be published,
even if never released", it's gonna be tough to find a free way to require
that any publication in the absence of distribution can be required.
On Tue, 21 Jun 2005, Gregor Richards wrote:
Because the AGPL has some implementation issues that make it possibly
incompatible with the DFSG
Just to be clear: I don't think that the AGPL's incompatibility with the
freedom level guaranteed by the DFSG is an implementation issue. It
intenionally restricts my rights as a recipient/user/modifier more than
something which claims to be free should do. It's not an accident or
problem with the wording, it's the pure reason the author didn't use the
GPL in the first place.
I've been trying to find an alternative that
would still protect source-code redistribution on line.
I'm pretty sure you mean something other than "protect source-code
redistribution". "force redistribution of modified source" is closer.
trying to write a special exception to the GNU GPL that would add this
without some of the practical problems,
I'm afraid your task is impossible, as the problems are not "practical".
They're due to the direct contradiction of what free software means.
If your work based on the Program is designed to interact with users
through a computer network
"designed to" is an interesting question. What if it's not designed that
way, but I make it do so via hackery or whatnot?
Also, "users" may give you trouble. I write a lot of software that
doesn't interact with users, but does interact with client programs that
interact with hardware that interacts with users.
Am I a user of software in my ISP's routers? Am I a user of their
accounting system? How about if it emails me statements?
your work based on the Program must
prominently provide to all users who interact with it through a computer
network the opportunity to receive the complete source code for your
work based on the Program via that same network and the same protocol.
Unworkable, but you give an out in the next section, so this clause will
never be used.
At your preference, or if that protocol lacks the means to send the
complete source code to the user, your work based on the Program may
instead use the HTTP protocol for this purpose.
Still unworkable. I want to use the code for some embedded use (say a
bluetooth server in a mobile phone). There's no room to implement an HTTP
server in addition. There's also no reason.
Even if there were, fine: I use HTTP to make the source available, but my
firewall doesn't let that through. The very fundamental problem you're
facing is that you want to put a behavior restriction on the licensee (you
must make source available in a reasonable way), but it cannot be done
except as serious restrictions on the use of the software.
(Exception: if the
Program itself is designed to interact with users through a computer
network but does not normally provide this functionality, your work
based on the Program is not required to provide this functionality.)
Can I modify the program so that my version is "not designed" to interact
with users through a computer network? Can someone else then use the
above exception to modify my version under the pure GPL?
Mark Rafn firstname.lastname@example.org <http://www.dagon.net/>