LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.2k stars 875 forks source link

Allow users to license their posts and comments #4298

Open h3ndrik opened 9 months ago

h3ndrik commented 9 months ago

Requirements

Is your proposal related to a problem?

Allow users to license their content, similar to choosing the language for each post.

Currently user posts and comments don't have licensing information attached to them. For federation and other instances it would be beneficial to know how content is licensed. We discussed that in the context of Meta's Threads "stealing" our content (or using it consentually, that isn't clear without licensing). And I regularly see people ask who "owns" their posts. Or if it can be used to train AI. It would also be necessary if wikis or other forms of content get implemented.

Free- / Libre- culture will also benefit from that. Sharing and collaborating should be encouraged and we need licensing to do that with the content here. As Lemmy is free software and part of that ecosystem, I'd like it to participate.

Describe the solution you'd like.

I'd like to offer users the ability to license their content. Next to the drop-down where you can choose the language of the text. Additionally a user should be able to select a default license for their content in their user settings. Some sane choices should be offered, maybe also a text input. That would be the user facing AI. The license needs to be stored and made available in ActivityPub alongside the actual content. (Don't make it an overwhelming amount of options to choose from, the creative commons licenses, public domain and maybe the gnu free documentation license suffice, plus an option that content isn't freely licensed.)

Describe alternatives you've considered.

All user-content remains copyrighted.

Additional context

There has been an old and closed feature request here: https://github.com/LemmyNet/lemmy/issues/172 I'd like to re-request it since circumstances have changed.

Nutomic commented 7 months ago

Having a different license for each user would cause too much complexity and fragmentation. It makes more sense to have a license per instance. This can already be configured and gets displayed under /legal. Then based on the legal info users can decide where to signup, and admins can decide which instances to federate with.

h3ndrik commented 7 months ago

Feel free to close this proposal if deemed too complex. I don't think the /legal page can be taken as binding, as users don't explicitly accept it or read it in the first place. Additionally users may post different content with different licensing or copy content. So I wouldn't rely on anything that is set per instance in the fine-print. Additionally there is the federation aspect. We also display content that isn't from the same instance and those people don't abide by the same rules.

I think since we're using a federated protocol to exchange information, something like this should be attached as meta-data to the individual message. We already store time, language etc. Probably make it optional.

Nutomic commented 7 months ago

The legal text could be shown on the signup page. And I dont really see why youd want to use a different license for each post. Maybe when posting on separate communities, but then you could also create separate accounts on different instances for each license.

Also its not clear to me that the license would really have much effect. Sure you can mark your comment as copyrighted, but Lemmy and other platforms will still happily federate it around. Anyway the content is treated as public and free to share, regardless of any explicit license.

h3ndrik commented 7 months ago

My use-case is a bit the other way around. I like free information, copyleft, share, remix and use creative works. With that I need explicit permission to do so. And it's not enough to have some vague idea. Also like with the semantic web it's nice to have meta-information in a machine-readable format attached to that information and not somewhere in the fine-print that needs to be processed by a human and separately for each individual case.

And I myself sometimes post my own creative work, pictures, short stories, Linux how-tos and guides to obscure hardware and I like to share them for others to use freely. All while I also sometimes re-post memes I found somewhere, summarize news articles, scientific papers or copy-paste paragraphs. I don't have permission to re-license that, it might just be subject to fair use. Similarly, I see people writing things themselves, but sometimes they copy whole news articles because the source is pay-walled. This goes against copyright and communities have started telling people not to do it.

With all of that diversity, I can just treat every post as copyrighted or possibly "stolen", and never reuse anything from Lemmy. It'd be really useful for Wiki pages or "Megathreads". But also most other messages if they're a bit longer and useful to somebody. But nobody cares about proper licensing and allowing me to re-use it.

I don't see a solution on an instance or user-level being of any benefit here, since single users do varying things. It needs to be either optional and attached to a specific post/message, maybe community. But I don't have a use-case for a solution that is loosely tied to an instance or user. Since it needs quite some extra work to figure it out and then I also can't rely on that. I'd be happy if the user made a deliberate choice upon posting. That way I'd have some reassurance that it was really meant to be shared freely. And it would foster good behaviour, promote to make a deliberate choice for openness and caring about copyright if the user was made to care, or at least be reminded by a hint within the UI.

Nutomic commented 7 months ago

I see where youre coming from, but to be honest I doubt that most users would bother to set an explicit license for each post (with language tags its also not working that well). Sure there could be a default license defined in some way, but most likely people will regularly forget to set it when they copy-paste a news article and then youre back at square one.

h3ndrik commented 7 months ago

Agree. I mean this is just a proposal. And I think it's a good thing if it works that way. The user shouldn't be forced to bother. If they don't... it's alike the current situation. We need a safe fallback for the person sitting at the other end, so the default setting should be '\<unspecified>' license. If they forget, that's makes it alright and nothing gets attributed incorrectly. We can only have a benefit in the situation when someone clicks on it anyways.

I included this proposal a bit early since some discussion about Meta happened and it'd be nice to have it already in place when other content types or Wikis get discussed. And it'd be nice for the current content, too. Currently I can live with typing it out underneath my posts. The user-base of Lemmy seems quite diverse. So while Lemmy is free software, it doesn't deliberately make an effort to teach it's users those values. I'd like it to be that way. And I can see it become a necessity in the future due to federation, companies like Meta entering the stage or new content types being introduced. However I can't give any advise on where to put it on the backlog of requested features.

ludrol commented 7 months ago

By adding machine readable license artists could have use search engines like: https://search.creativecommons.org/ to find work to derive from.

My use case: I am a terrible writer and I would love to have short stories to derive into comics, short films or games.

Other than SCP wiki there isn't a database of creative commons text (that I know of).

This wouldn't be used by majority of users but certain creative writing and art share communities would benefit from it immensely.

This could be implemented by tag system (as in https://github.com/LemmyNet/rfcs/pull/4 ) but that wouldn't make it searchable by external search engines and the same CC-BY would have different tag on every instance.