Does the AGPL license allows not disclosing the source of third party scripts (in)directly interacting with the main software?
from Electricd@lemmybefree.net to programming@programming.dev on 19 Aug 17:08
https://lemmybefree.net/post/1201196

cross-posted from: lemmybefree.net/post/1201042

Let’s say I use some AGPL software like Mastodon or Gitea. If I write a script to interact with some elements, like a nodejs script that interacts with the messages posted to act as an antispam, is it considered derivative work?

If I use a custom theme, does it have to be AGPL? If I add an overlay over the interface or interact with Mastodon through JS, does it have to be AGPL?

For Gitea, if I make a script to scrap some visual elements and send it by email to some people, does it have to be AGPL?

For an email software like Mailcow, if I write an antispam script that communicates with Mailcow’s API, does it have to be AGPL?

#programming

threaded - newest

Electricd@lemmybefree.net on 19 Aug 17:08 next collapse

I hope this fits here

footfaults@lemmygrad.ml on 19 Aug 17:26 next collapse

No. You are using the APIs or scraping content.

The AGPL is meant to deal with making modifications to a GPL piece of software on a server and not releasing the source code (and changes).

For code to be GPL it needs to actually “link” in the sense of a compiler and linker, in order for it to be considered a derivative work.

Calling the REST API of AGPL software, I do not believe that meets the definition of linking.

I am not a lawyer but this is how I understand it

TehPers@beehaw.org on 19 Aug 18:19 next collapse

Relevant is the question of if APIs can be copyrighted.

Not a lawyer, so I won’t answer otherwise.

0xDREADBEEF@programming.dev on 19 Aug 22:41 next collapse

Using an API isn’t distributing

Electricd@lemmybefree.net on 19 Aug 23:00 collapse

If I create a script that interacts with the API it’s not considered a part of the software then?

TehPers@beehaw.org on 19 Aug 23:25 next collapse

Using an interface via something like HTTP is unlikely to be considered a derivative work or be bound by that server code’s licenses (though there may still be other license agreements for end users of that service, ToS, etc - very, very unlikely if you’re self hosting open source code), but if you’re linking to an AGPL client library that connects to that API, you may be bound by the terms of the AGPL license.

In all cases, copyright generally only applies to distribution. If you do not distribute any code or software, you are most likely fine.

(Overusing “likely” because 1. not a lawyer and 2. copyright law is really complicated and mostly up to both jurisdiction and the judge)

Electricd@lemmybefree.net on 20 Aug 07:54 collapse

In all cases, copyright generally only applies to distribution. If you do not distribute any code or software, you are most likely fine.

With AGPL, if people use the derivative work over the web, you have to provide the source and document the modifications that were made

TehPers@beehaw.org on 20 Aug 08:57 collapse

That’s for deployed services that others are using.

Either way, “generally” was the important word there. Every license is different, some licenses and parts of licenses are invalid in some jurisdictions, and the interpretation of the license by the judge, licensor, and licensee can affect a judgement on whether something is infringing or fair use.

If you have questions about licensing for your specific situation and AGPL’s plain text doesn’t answer it for you (it’s not just legalese, it’s pretty readable), then talk to a lawyer who specializes in copyright for your jurisdiction.

Electricd@lemmybefree.net on 20 Aug 09:03 collapse

That’s for deployed services that others are using.

What I meant to say is that it’s a public mastodon, gitea, mailcow instance

then talk to a lawyer who specializes in copyright for your jurisdiction

It would be a nice answer, but I’m not going to if I’m not going to make money with the projects. I can’t justify this spending

footfaults@lemmygrad.ml on 19 Aug 23:35 next collapse

No, not for something that is over the network

squaresinger@lemmy.world on 20 Aug 05:08 next collapse

AGPL no, GPL maybe.

Unpopular opinion: According to the courts, GPL is nothing but a nice wish.

Electricd@lemmybefree.net on 20 Aug 06:04 collapse

Why would it with GPL? AGPL is GPL with an added clause

squaresinger@lemmy.world on 20 Aug 08:52 collapse

Sorry, you are right, read to quickly and confused AGPL with LGPL.

0xDREADBEEF@programming.dev on 20 Aug 14:42 collapse

Writing javascript (or any programming language, but sticking with ‘script’ here) to consume an http api from an agpl service (such as lemmy or mastodon) does not force you to open source whatever client you have.

Consuming an agpl client library (maybe mastodon or lemmy provide an sdk I dunno, or some third party one) and you embed it in your app and interact with that agpl code, then yes you must open your code up.

For example, there are closed source Mastodon clients that make a lot of money. Look at the mastodon client from tapbots. The owners of mastodon have a winning case if they sued them, if your logic held up. Tapbots can safely create an entire application and consume the mastodon api without worry, why can’t you and your script?

[deleted] on 19 Aug 23:25 next collapse

.

mfenniak@beehaw.org on 20 Aug 13:13 next collapse

I know it’s not really the question, but just so you know, Gitea is not AGPL licensed. It is MIT licensed, a much more permissive license.

Electricd@lemmybefree.net on 20 Aug 14:45 collapse

woops, you’re completely right. Got fucked by an LLM. I thought I had checked but it seems like I only did for mastodon and trusted it for the rest

Mailcow seems to be on GPL, not AGPL as well

My bad. I was searching for examples but that’s still bad

refalo@programming.dev on 20 Aug 15:57 collapse

I think the only real answer is going to be “it depends on too many factors people here can only LARP about really understanding, so ask a lawyer”, and even then it still depends on what every individual judge in someone’s case thinks.