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

README: Add License section with a historical note #4426

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ermo
Copy link
Contributor

@ermo ermo commented Nov 21, 2024

Summary

This should put to rest the question of under which license the Solus package recipes were originally shared.

Test Plan

Search the internet, fortuitously find reference to original commit where licensing was added to the old, original Solus package recipe repository from 2015.

Checklist

  • [n/a] Package was built and tested against unstable

This should put to rest the question of under which licenses the Solus
package recipes were originally shared.

Signed-off-by: Rune Morling <[email protected]>
@ermo ermo force-pushed the ermo-add-historical-package-recipes-license-terms branch from 62f779e to 18e8cac Compare November 21, 2024 21:49
Copy link
Member

@silkeh silkeh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for digging up that commit and clearing up the licensing situation!

@Staudey
Copy link
Member

Staudey commented Nov 22, 2024

Well, I'm not sure the licensing situation has been entirely cleared up this way (I know I contributed recipes during a time when no licensing details were obvious), but it's certainly in a better state than before 😁

@EbonJaeger
Copy link
Member

I think there are a few important questions that we need answers for before this can be merged. To give the background of the current packaging repository, from my understanding, it was originally a monorepo back in the EvolveOS days, before becoming the Solus packaging repository. That repository was licensed under GPL v2. In 2015, the repository was split into many separate repositories, and these repositories no longer contained explicit licenses. New packages, and thus new repositories, were added under the collective "package repository", all without explicit licenses. In 2023, all the existing package repositories were merged into a new single monorepo, still without a license stated.

This history brings up several questions to me:

  1. Would the license of packages that existed before the split retain the same license? I would think yes.
  2. What about packages that were added after the split? My opinion so far is that they cannot be considered GPLv2 as they never explicitly had a license, which I would think would make them All Rights Reserved to the contributor.
  3. Can all the individual package repositories be legally considered a single repository, in that they are collectively the Solus repository? I highly doubt that the answer would be "yes", and I don't even know what to search for to find any precedent.
  4. Now that all of those repositories have been merged into another monorepo, where does that leave us?

If the answer to No. 2 is "they cannot be considered GPL", then we cannot now slap GPL on the entire repository without contacting any contributor who made contributions during that time. Likewise, if the answer to No. 3 is that each repository can only be considered individually, then we cannot move forward with this PR.

Thus, I think we need to do more due diligence and research before this can be merged.

@androidnisse
Copy link
Contributor

I added packages this year and then it were no license, so technically I would say I have the copyright and you can’t make them open source. But then comes the question, can’t other people update them? Just a thought here, just to complicate stuff. I’m all in for a clarification and if GPL is decided I’m okay with it.

@silkeh
Copy link
Member

silkeh commented Nov 22, 2024

Would the license of packages that existed before the split retain the same license? I would think yes.

Yes. Definitely.

What about packages that were added after the split? My opinion so far is that they cannot be considered GPLv2 as they never explicitly had a license, which I would think would make them All Rights Reserved to the contributor.

Generally, yes: when there's no license it's all rights reserved. In this case I think there's a couple of things might affect that:

  1. This depends on what the reasonable expectation of the contributor would be. Contributors familiar with the old license would definitely expect that license, and contributors to open source projects generally expect some kind of open source license (or public domain).
  2. Is the package eligible for copyright at all? Those generated by yauto and barely modified definitely aren't, as it doesn't contain creative expression from a human.
  3. The package recipes are clearly meant for Solus to use to build packages. This means that not all rights are reserved, but some have been implicitly granted by contributing.

Can all the individual package repositories be legally considered a single repository, in that they are collectively the Solus repository? I highly doubt that the answer would be "yes", and I don't even know what to search for to find any precedent.

Agreed, unless the license was stated somewhere on Phab or the contributing documentation these packages don't have an explicit license.

Now that all of those repositories have been merged into another monorepo, where does that leave us?

With unclear licenses for packages that have been created/updated since the split.


I added packages this year and then it were no license, so technically I would say I have the copyright and you can’t make them open source. But then comes the question, can’t other people update them? Just a thought here, just to complicate stuff.

Very strictly taken you can't do anything with a copyrighted package except for throwing it away and creating a new one.


My suggestion would be to reword the copyright statement a bit:

Unless stated otherwise (see historical note below), the package recipes in this repository are available under the terms of the GNU General Public License, Version 2. Please see LICENSE for details.

And for the historical note:

The licensing situation of packages in the repository has changed various times during the lifetime of Solus. Take this into account when determining the copyright status of a package recipe:

  • All recipes are originally licensed as GPLv2.
  • Contributions between <phab start date> and <this MR merge date> had no explicit licensing information. Original contributors retain the copyright on these package recipes.
  • Contributions after <this MR merge date> are licensed under GPLv2 again.

Additionally, we could add the following checkbox to the MR template, which would clean up most of this mess:

  • I agree to license this and all my previous contributions under the GPLv2.

As an aside: we could take this opportunity to re-license if we feel like it 😅

@silkeh silkeh marked this pull request as draft November 22, 2024 19:42
@EbonJaeger
Copy link
Member

As an aside: we could take this opportunity to re-license if we feel like it

The more I think about it, the more I think that this is the best avenue forward. Even if we decided to keep GPLv2 for some reason, I would feel much better about formally going through that process and being pretty sure that everything is good, than the murky situation we find ourselves in now.

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

Successfully merging this pull request may close these issues.

5 participants