2 ms·
The FSF's answer to that is to use AGPLv3, which trips copyleft on network access. The technicalities of actually using AGPLv3 is... well, if your only goal is
by kmeisthax 3y ago
The FSF's answer to that is to use AGPLv3, which trips copyleft on network access.
The technicalities of actually using AGPLv3 is... well, if your only goal is to keep large businesses from touching your code, sure. But you can also do that with the weird funky postmodern licenses that technically confer no rights and could easily be used to set up copyleft trolling. If you just want rules that are fair and easy to comply with, this license has... problems. To make a long story short, AGPLv3 only makes sense for web development in interpreted languages that make it easy to list out the code of the site. In literally any other context[0] you're creating traps to sue people with.
MongoDB wanted to extend AGPLv3 even further with a requirement to release all supporting software - e.g. management UIs and things like that. OSI wouldn't put their blessing on it. Amazon just reimplemented the MongoDB API rather than complying with SSPL.
No, I don't think we should be entertaining the notion of API copyright. Hell, FOSS Patents thought Oracle was in the right purely because "oh it'd let Oracle assert GPL", even though it would completely pull the foundation out of the commons.
If you want to be even stricter, there's also the OpenWatcom license, which trips the copyleft whenever you use the software. So no private forking. This is actually less of a compliance headache than AGPLv3 - you don't need to allow source code download over the network, you just have to publish your modifications somewhere. The FSF refuses to touch it because they consider private forking to be a human right.
The problem with stopping "the bourgeoise" from hoovering up all the innovation from the commons is that doing so takes the software out of the commons. Its worse than AGPLv3, SSPL, or OpenWatcom. Anyone who is trying to do this is not trying to protect the commons, they're trying to join the bourgeoise. Because saying that you're not allowed to host the software for others, period, is the language of the proprietary world. Proprietary software licensing is so lucrative specifically because of usage restrictions - it lets you look into each user's wallet and extract the maximum amount of money from it.
[0] Hector Martin found AGPLV3 on the source code for an Ethernet PHY - how the hell do you put a "view source" link on an Ethernet packet?
He's also pointed out that if you just link to a Git repo as your compliance, that's not good enough, because you need to have the specific source code currently executing be accessible. You can't point to a commit inside of itself[1] The original idea was that AGPLv3 source would have quines in them that listed all the source code, and then AGPLv3 would prohibit removing the quines, but you really can only do that in interpreted languages (e.g. PHP, Python, or Ruby).
[1] Cryptographic hash algorithms would be no good if you could do this