Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clearer licensing agreement #778

Open
3 tasks
niccokunzmann opened this issue Feb 6, 2025 · 1 comment
Open
3 tasks

Clearer licensing agreement #778

niccokunzmann opened this issue Feb 6, 2025 · 1 comment

Comments

@niccokunzmann
Copy link
Member

niccokunzmann commented Feb 6, 2025

As part of NLNet, I wanted to clarify the licensing of this project. It is a BSD license. So, I asked:

How can we make sure contributions are compliant with the license?

The answer was that they recommend a Developer Certificate or Origin. The full answer is below.

Possible Implementation

Questions

How are you with adding this to icalendar?
Would you like to try it out? How is it with adding extra requirements given that some people find it harder to contribute then?

Full Answer

You can use a CLA for contributions, however many contributors prefer it when projects use Developer Certificates of Origin (DCOs) instead (https://developercertificate.org/). This is because CLAs are frequently more complicated legal documents that require a review of terms from the developers, who may not have the legal expertise to accurately determine or protect their interests. Additionally, CLAs also require projects communicate a list of authorized contributors, which can generate some additional work for you as a project runner. Generally, CLAs are used by projects who have a vested interest in tracking in detail each individual contribution and contributor, and in carving out special terms and conditions for contributions.

Conversely, a DCO is more simplistic: it is a statement that each contributor has to agree to in order to make a contribution, stating that they are allowed to do so and that the project has the right to distribute their contribution under the project's chosen license. This would simplify a lot of work for you; you can simply include the DCO text in your project repo(s) and indicate explicitly in your README or contributor guidelines that contributions indicate agreement to the DCO.

I would suggest you take a look at the DCO text in the link I've provided above and consider your options, although as a general rule of thumb we at the FSFE recommend DCOs by default over CLAs. If you do feel that a CLA is preferable, you can also use the following online CLA tool (https://contributoragreements.org/ca-cla-chooser/) to generate a CLA that is in line with your needs.

The main difference for readers that I see:

  • DCO says that the code is compatible in license
  • CLA assigns the copyright to someone else so they then hold the license
@niccokunzmann niccokunzmann changed the title Clearer licensing Clearer licensing agreement Feb 6, 2025
@stevepiercy
Copy link
Member

In Plone, the Foundation chose the CLA route because it wants the contributor to assert that the author has the right to assign ownership of the work to the Plone Foundation for copyright protection. You can try out the process:

https://plone.org/foundation/contributors-agreement and click sign the Contributor Agreement Form for Plone.

IANAA, but in general I agree with the advice from FSFE.

Finally, you can create a pull request template, similar to an issue template.

https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants