When I first got into open source, I published everything as GPL. It seemed only fair: I make my code freely available, but in exchange people who use it need to do the same. There is a major long-standing hole in the GPL, however, which is that it only applies to software that runs on your device.

For example, if my friends and I write some spiffy software to let people sing together over the internet, licensing under the GPL wouldn't prevent someone from making a copy with private server-side enhancements.

The FSF offers the AGPL (license text) to close this gap: it requires you to provide the source code even if you're only making the software available over a network. This restores the key freedom of copyleft, the right to the source for the software you're using.

With web and mobile apps, many things that previously ran on your local computer now run in the cloud. With virtual desktop services like Windows 365, this can extend even to programs that weren't originally conceived as running over a network. So I'm struggling to see a good case for the regular GPL: if you care about copyleft, the AGPL just seems better, closing an important loophole.

On the other hand, as I've thought more about this I've realized that copyleft isn't a priority for me. Yes, people releasing their changes back would be nice, but I care much more about people being able to use the software for anything they want. With Bucket Brigade Singing, Whistle Synth, and my other projects, if someone used my code to make a slick commercial project I'd see that as a good thing: now more people can try out these ideas. The open source versions will still exist, just as I released them, and can still be extended by people who want to work together in the open.

Comment via: facebook

New Comment
2 comments, sorted by Click to highlight new comments since:

The GPL and the idea of tit-for-tat enforcement of freedom to modify was absolutely transformative in the 80s and 90s.  It's almost impossible to overstate the impact it had on actual user freedoms.  With the rise of services and network-delivered functionality, it was both less important AND more problematic to define.  The AGPL (and a few tries before it) made a good attempt, but the switch from "distribution" to "use" as the triggering element makes it quite different in application.   

Many companies embrace GPL (and other, even more open licenses) while prohibiting AGPL software, which means they don't contribute back anything for AGPL stuff, and software under other licenses improves faster.

Wow - found a post on debian-legal discussing this ... 16 years ago!   My opinions have refined since then, but not fundamentally changed.  Forcing distribution of source when merely using software (not distributing) is a limitation I do not support.   https://groups.google.com/g/linux.debian.legal/c/WKSJ3iFamns/m/yreL7JPedk8J

edited to add: the underlying world and expectations of contribution have changed as well.  Most competent companies and users see the value in contributing to the open-source projects they depend on and modify, so enforcement and tight licence requirements are far less necessary nowadays.  What's more important now is governance and ease of useful contributions.

The current mobile ecosystem is a vindication of everything RMS warned would happen in a world where free software was a minority, and proof that copyleft is absolutely not "less important" than in the 90s.

I don't think it's reasonable to say that it became harder to define, either. The natural definition just got more inconvenient. And so people stopped using it, free software shrank to nothing, and the vast majority of computer users now have devices that they cannot program, cannot program on, and are only dimly aware that they could, in theory, program.

RMS was right. We didn't protect the right of users - particularly children and students - to modify the software they use, and this had the result of steadily reducing the ability of users to control their devices and their ability to become programmers. Students in programming classes now write code on their phones, in word processors. Not universally, but regularly. That was the nightmare scenario, and it's arrived.