this post was submitted on 19 Aug 2025
18 points (95.0% liked)

No Stupid Questions

44447 readers
1332 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here. This includes using AI responses and summaries.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 2 years ago
MODERATORS
 

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?

top 2 comments
sorted by: hot top controversial new old
[โ€“] stinerman@midwest.social 5 points 3 months ago

This is a question about what constitutes a derivative work. IANAL and that's a difficult question most of the time. I'm not going to try to answer it. I'm reasonably sure that the last 3 are not derivative works, but again, IANAL.

If something is a derivative work of an AGPL-licensed product, that work must also be AGPL. This basically means you must provide source to anyone who has a copy of the binary or any user of the software. If only you are using the script, it's a pretty trivial case. You're the only author/user of the software and you have the source so you're in compliance.

[โ€“] litchralee@sh.itjust.works 5 points 3 months ago* (last edited 3 months ago)

My understanding -- IANAL -- of the central thrust of the AGPL is that if there is software that runs somewhere else and serves the result to a user, then that is considered a "distribution" of the software and thus requires the source to be made available to said users, if they want a copy. If you run an unmodified copy of that software, you satisfy your obligation simply by linking to where the unmodified source can be found.

So for your title question, I don't think the dividing line is whether your software is directly/indirectly interacting with existing AGPL software, but rather the question is whether your software affects the service provided to the user.

Starting with your first scenario, I presume that you mean a server-side NodeJS script, and that would modify the results returned to the user. Thus, I would think this is indeed a distribution and the AGPL's provisions would require your NodeJS script being made available to the user.

For your second scenario, I'm not entirely sure if you mean a server-side or client-side theme or overlay. If you modify a CSS file that is served to the user, I would think that's a distribution. But if you're writing a browser extension that overrides the default CSS file from the server, then no distribution of the server software has been made, I think. If you edit a JavaScript file that is part of the Mastodon package, I suspect that is a distribution, because that file is loaded to the user in order to use the service. But I'm not entirely certain on this.

In the third scenario, a scraper would be consuming the result returned by an unmodified AGPL software package, so there is no obligation to offer the source code for your scraper.

The fourth scenario is also a "use" of unmodified AGPL software, and so you have no obligation to offer your custom script to your users.