Adds a separate page on licensing on Codeberg #173

Merged
rwa merged 6 commits from michielappelman/Documentation:licensing into main 2 months ago

Looking of course for feedback on this, as I am not an expert on this at
all. This does capture some of the questions I had when starting to look
into licensing.

Looking of course for feedback on this, as I am not an expert on this at all. This does capture some of the questions I had when starting to look into licensing.
michielappelman added 1 commit 2 months ago
e9544af6df Adds a separate page on licensing on Codeberg
michielappelman added 1 commit 2 months ago
fnetX approved these changes 2 months ago
fnetX left a comment

Thank you very much. You can't imagine how glad I am about this contribution, this article was so high on my roadmap that I would have started it soon - it was kinda blocking the next steps in informing users about their badly licensed repos and banners (Codeberg/Community#414 or via email), as I always found it a little flaky to just block them from continuing their work without helping them to get started with proper licensing. There are many resources out there, but it's very hard to find a good starting point in licenses. And I know so many people who seem to understand what free software means in terms of freedom, without understanding that they should add a f*cking license to their work.

So thank you very, very much, I'll surely refer many users to this article once published and I hope we make more and more people aware of how proper licensing works.

Regarding the unlicense, I'll look this up. I was told about problems in context of Codeberg and continued to recommend against it, I'll need to check that once more. Or does anyone else know about this?

* The freedom to run the program as you wish, for any purpose (freedom 0).
* The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help others (freedom 2).
* The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
fnetX commented 2 months ago
Poster
Collaborator

is this a copy? If so, do we have to state the source, either as quote or including the original licence?

is this a copy? If so, do we have to state the source, either as quote or including the original licence?
michielappelman marked this conversation as resolved
An example of one of the strongest copyleft licenses is the [GNU Affero General Public License](https://www.gnu.org/licenses/why-affero-gpl.html). It adds a requirement that even when a modified program is run on a server and lets other users communicate with it, your server must also allow them to download the source code corresponding to the modified version.
The other end of the spectrum is dedicating the software to the public domain. *Not* specifying a license does not automatically mean that you've put it in the public domain. If that's what you want, specify for example [The Unlicense](https://unlicense.org/).
fnetX commented 2 months ago
Poster
Collaborator

There has been some trouble with the Unlicense in the past, I've read that it can create legal trouble and some companies refuse to use code under the Unlicense (which is fine for some, but not for everyone).

This is also the reason for SQLite to still sell licenses on demand IIRC.

I think, something like 0-BSD is a better proposal, CC-0 for content is well proven in many jurisdictions, but probably problematic with software.

I don't have any resources at hand on the matter, I can look them up if you want.

There has been some trouble with the Unlicense in the past, I've read that it can create legal trouble and some companies refuse to use code under the Unlicense (which is fine for some, but not for everyone). This is also the reason for SQLite to still sell licenses on demand IIRC. I think, something like 0-BSD is a better proposal, CC-0 for content is well proven in many jurisdictions, but probably problematic with software. I don't have any resources at hand on the matter, I can look them up if you want.
Poster

Thanks, Otto. Honestly the code-in-Public Domain part is the most challenging (for me) to make sense of indeed. GNU is a bit confused about it as well, on the one hand they say (on CC0):

For works of software it is not recommended, as CC0 has a term expressly stating it does not grant you any patent licenses.

But then regarding The Unlicense they say:

If you want to release your work to the public domain, we recommend you use CC0. CC0 also provides a public domain dedication with a fallback license, and is more thorough and mature than the Unlicense.

So not sure what we should include here? Or should we just leave both of these off the list of recommendations and add an additional section on Public Domain at the end of this article?

Regarding 0-clause BSD, is that really PD? Or should we not refer to it as PD but as 'the least restrictive license'?

Thanks, Otto. Honestly the code-in-Public Domain part is the most challenging (for me) to make sense of indeed. GNU is a bit confused about it as well, on the one hand they say (on CC0): > For works of software it is not recommended, as CC0 has a term expressly stating it does not grant you any patent licenses. But then regarding The Unlicense they say: > If you want to release your work to the public domain, we recommend you use CC0. CC0 also provides a public domain dedication with a fallback license, and is more thorough and mature than the Unlicense. So not sure what we should include here? Or should we just leave both of these off the list of recommendations and add an additional section on Public Domain at the end of this article? Regarding 0-clause BSD, is that really PD? Or should we not refer to it as PD but as 'the least restrictive license'?
fnetX commented 2 months ago
Poster
Collaborator

Yeah, exactly this. On the one hand, CC is very mature in terms of licensing, they are carefully crafted and revised (compared to many other licenses that just removed or added stuff they (didn't) like), I'm also confused about the patent thing, because I think that you only get patent rights if they are explicitly granted - and I think I never read this anywhere.

0-BSD is not explicitly PD, but from my naive understanding it's for the same usecase (I want that people can do whatever they want with my work). But maybe I'm looking at this from another perspective. From my experience, people are using the Unlicense (and sometimes even WTFPL) as kind of "Don't care" licenses, just hacking on something and making licenses get out of their way. For those, I'd recommend to use a proper license like 0-BSD which basically achieves the same. When it comes to really public domain ... hmm, I don't really know, I'll have to read about this some day.

Two options I propose:

  • remove the Public Domain part and recommend 0-BSD
  • leave as is but add a warning about this controversial debate

We can always change this later as we learn more or find resources.

Yeah, exactly this. On the one hand, CC is very mature in terms of licensing, they are carefully crafted and revised (compared to many other licenses that just removed or added stuff they (didn't) like), I'm also confused about the patent thing, because I think that you only get patent rights if they are explicitly granted - and I think I never read this anywhere. 0-BSD is not explicitly PD, but from my naive understanding it's for the same usecase (I want that people can do whatever they want with my work). But maybe I'm looking at this from another perspective. From my experience, people are using the Unlicense (and sometimes even WTFPL) as kind of "Don't care" licenses, just hacking on something and making licenses get out of their way. For those, I'd recommend to use a proper license like 0-BSD which basically achieves the same. When it comes to really public domain ... hmm, I don't really know, I'll have to read about this some day. Two options I propose: - remove the Public Domain part and recommend 0-BSD - leave as is but add a warning about this controversial debate We can always change this later as we learn more or find resources.
n commented 2 months ago
Poster
Collaborator

Public domain licensing is really tricky. From what I've read, the general consensus is that CC0 should be used for content and 0BSD for software.

Regarding 0-clause BSD, is that really PD? Or should we not refer to it as PD but as 'the least restrictive license'?

Ultimately all public domain licenses aren't public domain but grant rights that are similar to public domain rights. 0BSD gives full permission with no conditions of use which can be considered a public domain license.

Public domain licensing is really tricky. From what I've read, the general consensus is that CC0 should be used for content and 0BSD for software. > Regarding 0-clause BSD, is that really PD? Or should we not refer to it as PD but as 'the least restrictive license'? Ultimately all public domain licenses aren't public domain but grant rights that are similar to public domain rights. 0BSD gives full permission with no conditions of use which can be considered a public domain license.
Poster

Please have a look at the updated wording to see whether this makes it less ambiguous.

Please have a look at the updated wording to see whether this makes it less ambiguous.
michielappelman marked this conversation as resolved
* [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html)
* [GNU General Public License (GPL)](https://www.gnu.org/licenses/gpl-3.0.html)
* [MIT license](https://opensource.org/licenses/MIT)
* [The Unlicense](https://unlicense.org/)
fnetX commented 2 months ago
Poster
Collaborator

same, I think we should not recommend the Unlicense, as I "officially" recommended people not to use it in the past in Codeberg context. :-)

same, I think we should not recommend the Unlicense, as I "officially" recommended people not to use it in the past in Codeberg context. :-)
michielappelman marked this conversation as resolved
[Read more at Codeberg's intial announcement](https://blog.codeberg.org/codebergorg-launched.html).
Read more at [Codeberg's intial announcement](https://blog.codeberg.org/codebergorg-launched.html) and the [Licensing article](/getting-started/licensing).
fnetX commented 2 months ago
Poster
Collaborator

Why link to the licensing article from here? Do I miss something?

Why link to the licensing article from here? Do I miss something?
Poster

Personally I would have appreciated learning more about licensing on Codeberg as I started to get familiar with the platform so to me it makes sense to link to it from here as well.

Just burying it in the FAQ does not help discoverability. But happy to remove it here.

Personally I would have appreciated learning more about licensing on Codeberg as I started to get familiar with the platform so to me it makes sense to link to it from here as well. Just burying it in the FAQ does not help discoverability. But happy to remove it here.
fnetX commented 2 months ago
Poster
Collaborator

No, fresh experiences are good, thank you. I don't object, I just didn't understand.

No, fresh experiences are good, thank you. I don't object, I just didn't understand.
michielappelman marked this conversation as resolved
n reviewed 2 months ago
For more licenses, more details and some considerations when using any of them, see the [GNU list of licenses](https://www.gnu.org/licenses/license-list.html).
Please do not use custom licenses, [they are usually a bad idea](https://en.wikipedia.org/wiki/License_proliferation) and might result in legal uncertainty (can I really really use this project or might a terribly-written-license put me as a user in danger?). However, we sometimes tolerate repositories that aren't perfectly licensed correctly and focus on spreading awareness on the topic of improper FLOSS licensing and it's issues.
n commented 2 months ago
Poster
Collaborator

terribly-written-license

I know you copied this but I think we should be less judgy and change this to something like 'legally untested license'.

> terribly-written-license I know you copied this but I think we should be less judgy and change this to something like 'legally untested license'.
michielappelman marked this conversation as resolved
* [CC-BY](https://creativecommons.org/licenses/by/4.0/)
* [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/)
Do not use [CC licenses on code](https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software).
n commented 2 months ago
Poster
Collaborator

'Do not use' makes it seem like this is not allowed. Let's use the wording from CC and say it's 'recommended against' instead.

'Do not use' makes it seem like this is not allowed. Let's use the wording from CC and say it's 'recommended against' instead.
michielappelman marked this conversation as resolved
michielappelman added 1 commit 2 months ago
michielappelman requested review from fnetX 2 months ago
michielappelman added 1 commit 2 months ago
michielappelman added 1 commit 2 months ago
fnetX approved these changes 2 months ago
fnetX left a comment

Thank you for applying the suggestions, and for sorting the CC licenses. Considered proposing this while reviewing but forgot.

My current suggestion should in no way block this, I'm fine with merging as-is, too.

For more licenses, more details and some considerations when using any of them, see the [GNU list of licenses](https://www.gnu.org/licenses/license-list.html).
Please do not use custom licenses, [they are usually a bad idea](https://en.wikipedia.org/wiki/License_proliferation) and might result in legal uncertainty. However, we sometimes tolerate repositories that aren't perfectly licensed and focus on spreading awareness on the topic of improper FLOSS licensing and it's issues.
fnetX commented 2 months ago
Poster
Collaborator

Hmm, this was moved from somewhere else, right? I'm just thinking that the second part (about our handling) better fits someplace else, either in a dedicated "What Codeberg does" section (that needs to be written).

The easiest solution would be to move it back to the FAQ and add the

However, we sometimes tolerate repositories that aren't perfectly licensed and focus on spreading awareness on the topic of improper FLOSS licensing and it's issues.

there again? What do you think?

Hmm, this was moved from somewhere else, right? I'm just thinking that the second part (about our handling) better fits someplace else, either in a dedicated "What Codeberg does" section (that needs to be written). The easiest solution would be to move it back to the FAQ and add the > However, we sometimes tolerate repositories that aren't perfectly licensed and focus on spreading awareness on the topic of improper FLOSS licensing and it's issues. there again? What do you think?
michielappelman marked this conversation as resolved
michielappelman added 1 commit 2 months ago

Thanks again for the feedback, have integrated the last comment as well. IIUC, this can now be merged.

Thanks again for the feedback, have integrated the last comment as well. IIUC, this can now be merged.
rwa approved these changes 2 months ago
rwa merged commit 74e4a182b3 into main 2 months ago
michielappelman deleted branch licensing 2 months ago

Reviewers

fnetX approved these changes 2 months ago
rwa approved these changes 2 months ago
The pull request has been merged as 74e4a182b3.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This pull request currently doesn't have any dependencies.

Loading…
There is no content yet.