Yes, you can, but if you add something - like issue tracking, user/access management etc.. around that then you need to publish that under AGPL as well..
It means it will never be part of something like github, bitbucket or AWS CodeCommit.
And then there are plugins to CIs (checkout from repository ...) - would those be affected?
> Yes, you can, but if you add something - like issue tracking, user/access management etc.. around that then you need to publish that under AGPL as well..
I literally wrote that you need to publish that under AGPL any extensions, so you didn't really blew my mind there...
It definitely be part of something like Gitlab (or github, bitbucket or AWS CodeCommit), you just have to model your business around the fact that the software is available to everybody. You know, like wordpress (sure, they are GPL so they can have some proprietary components but the practical implication is that you CAN create your own, for pay, wordpress.com service).
Plugins can be a different story. Does the software have a rest interface? then use that, no license virality. If it doesn't, you release them AGPL
Correct me if I'm wrong, but this only means that if you modify the code or directly incorporate the code library into your own, you must distribute your work.
If you are just calling the service through it's API (either CLI or through the programming language interface), then you don't need to distribute anything.
This just protects against people taking open source code GPL, modifying it for themselves, using it in backend services, and then never distributing their modifications.
> If you are just calling the service through it's API
That's contestable afaik.
> through the programming language interface
i.e. dynamically linking which is usually understood to be prohibited unless linking code has a compatible license.
> either CLI
Here's the problem - you can take any GPL library, make small CLI or REST adapter for it and license it GPL as well, then use that adapter from your proprietary application - is that still allowed? Because if it is then GPL can't ever be enforced and if it isn't you can't call CLI APIs even if original libraries themselves provide it.
I was reading this[0], but didn't scroll down through the comments. It appears you are correct.
However, I think if you just installed Pijul on a server and then called it through your operating system interface, then you _might_ be fine. You might need to make it so the interface to Pijul is generic and could swap out with other VC systems.
I still might also be wrong about this. I'm not a lawyer and the comments in [0] are on both sides of the argument.
> then called it through your operating system interface, then you _might_ be fine
Might, exactly. Depending on various courts accepting there is a loophole in GPL, and my layman understanding is that there isn't. Skimming GPLv2 I don't see them differentiating in derivative works between those that use compile time linking and those that use mechanisms like CLI. I'm weary of bringing after the fact constructs to justify something that GPL doesn't talk about. And after all how is CLI that much more different than dynamic linking - CLI is merely an interface that is subjectively a bit more friendly in certain situations but this imo shouldn't a have a bearing in legal discussions.
This is the big conceit of copyleft licenses: that "derivative works" are exclusively "modified and extended versions of the program" to use the FSF's terminology, and not a small piece of a much larger system.
It's easy to imagine wanting to add Pijul support to Tower, SourceTree, Gerrit, Phabricator, etc. - projects that all dwarf Pijul. But these projects will be unable or unwilling to risk doing so, because of the AGPL.
Yes, you can, but if you add something - like issue tracking, user/access management etc.. around that then you need to publish that under AGPL as well..
It means it will never be part of something like github, bitbucket or AWS CodeCommit.
And then there are plugins to CIs (checkout from repository ...) - would those be affected?