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

Add licenses #260

Merged
merged 2 commits into from Jul 17, 2019
Merged

Add licenses #260

merged 2 commits into from Jul 17, 2019

Conversation

davidak
Copy link
Member

@davidak davidak commented Jan 30, 2019

This repository should have an open source license!

The suggestion is to use:

  • CC-BY-SA for website content (including artwork)
  • MIT for source code (same as nixpkgs)

Next steps:

  1. First we need to find a consent for licenses to use. Please provide feedback!
  2. To license the contributions, we need every contributor to accept the license. If someone don't accept or we can't reach them, we have to rewrite the contribution!

License accepted:

  • follower
  • sanmai-NL
  • ghuntley
  • ekalosak
  • Phreedom
  • ret
  • third3ye
  • 3noch
  • 8573
  • aelsabbahy
  • andir
  • aneeshusa
  • aschmolck
  • aszlig
  • benley
  • Blaisorblade
  • c0bw3b
  • caugner
  • civodul
  • cko
  • cx405
  • davidak
  • domenkozar
  • edolstra
  • eqyiel
  • ericsagnes
  • fpletz
  • globin
  • goodwillcoding
  • grahamc
  • gurjeet
  • hoodunit
  • hyperfekt
  • jameysharp
  • justgage
  • kojiromike
  • leenaars
  • loskutov
  • magnetophon
  • manveru
  • matthewbauer
  • matthiasbeyer
  • Mic92
  • nckx
  • nh2
  • noffle
  • peti
  • phunehehe
  • psibi
  • qknight
  • raboof
  • ragnard
  • rbvermaa
  • rdpate
  • ryantm
  • samueldr
  • shlevy
  • statianzo
  • sternmull
  • svanderburg
  • tilpner
  • timbertson
  • ToxicFrog
  • tvon
  • unode
  • vcunat
  • wmertens
  • woffs
  • zimbatm
  • Zimmi48
  • zraexy

Close #121

@grahamc
Copy link
Member

grahamc commented Jan 30, 2019

CC-BY-SA isn't really appropriate for software (like the build scripts), so we may need a collection of licenses:

  • a license for the build scripts
  • a license for the content
  • a license for the logo and imagery

also, it isn't exactly clear that we want people to be running their own nixos.org website.

I've asked @armijnhemel what he thinks and he sighed and said it isn't straight-forwardly easy.

@armijnhemel
Copy link

I agree with @grahamc here. Creative commons should not be used for software (as build scripts can be regarded as software). It would be OK for artwork.

https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software

@armijnhemel
Copy link

For content, such as the homepage or documentation, CC would, of course, be OK.

@samueldr
Copy link
Member

The logo and imagery may have to be handled here:

The logo itself was figured out:

@mogorman would have to confirm for the releases artwork, it somehow escaped me in my attempt at wrangling up attribution and licenses.

@grahamc
Copy link
Member

grahamc commented Jan 30, 2019

I'd propose we apply the following licenses:

  • CC-BY-SA specifically limited to the content of the website (Armijn confirmed this makes sense)
  • MIT for the software (this matches nixpkgs)

@armijnhemel
Copy link

If you are using existing Javascript libraries you need to look at the license of the Javascript as well. I hope you like fishing, as I just opened a can of worms ;-)

@mogorman
Copy link

I am totally fine with any license changes project puts forward @samueldr The logos I've made thus far for the project have been combinations of our logo and public domain artwork, so we are able to license it however we wish.

@grahamc
Copy link
Member

grahamc commented Jan 30, 2019

OK let's get screenshots of that post and save the email from @mogorgman saying it ;)

@davidak davidak changed the title Add license (CC-BY-SA) Add licenses Jan 30, 2019
@davidak
Copy link
Member Author

davidak commented Jan 30, 2019

How can we distinguish between content and code?

I propose README section:

The content of the website is licensed under the Creative Commons Attribution Share Alike 4.0 International license.

The software is licensed under the MIT license.

See the files content and license inventory for details.


I will study https://reuse.software/ again...

We have to add a license header to every source code file.

We need a way to generate a license inventory for all files.

So can we first agree to use this licenses before we continue?

This is way more complicated than i thought, but you are right. I think we can figure it out!

@davidak davidak changed the title Add licenses [WIP] Add licenses Jan 30, 2019
@primeos
Copy link
Member

primeos commented Jan 31, 2019

Not sure if all previous contributors have to agree changing the license.

@davidak I'm not a lawyer (would be great if we had one for this), but AFAIK this is indeed required if you want to do it right (though there might be a chance that trivial contributions can be excluded). It is probably also possible to revert changes (if someone doesn't agree) or exclude certain files (but IIRC I haven't actually read anything about this).

I've also wondered about this I while ago and found the following site quite useful: https://opensource.guide/legal/#what-if-i-want-to-change-the-license-of-my-project

Also, if you neglected to license your project from the start, adding a license is effectively the same as changing licenses.

Your project’s existing copyright holders. If you’re the sole contributor to your project then either you or your company is the project’s sole copyright holder. You can add or change to whatever license you or your company wants to. Otherwise there may be other copyright holders that you need agreement from in order to change licenses. Who are they? People who have commits in your project is a good place to start. But in some cases copyright will be held by those people’s employers. In some cases people will have only made minimal contributions, but there’s no hard and fast rule that contributions under some number of lines of code are not subject to copyright. What to do? It depends. For a relatively small and young project, it may be feasible to get all existing contributors to agree to a license change in an issue or pull request. For large and long-lived projects, you may have to seek out many contributors and even their heirs. Mozilla took years (2001-2006) to relicense Firefox, Thunderbird, and related software.

Currently the following applies:
https://opensource.guide/legal/#are-public-github-projects-open-source

Making your GitHub project public is not the same as licensing your project. Public projects are covered by GitHub’s Terms of Service, which allows others to view and fork your project, but your work otherwise comes with no permissions.

If you want others to use, distribute, modify, or contribute back to your project, you need to include an open source license. For example, someone cannot legally use any part of your GitHub project in their code, even if it’s public, unless you explicitly give them the right to do so.

That's basically all I know, hope it helps.
Thanks for pushing this, would be awesome to have a license :)

@armijnhemel
Copy link

adding @silverhook who is a lawyer

@davidak
Copy link
Member Author

davidak commented Jan 31, 2019

@primeos yes, that confirms what i have heard.

We need every contributor to accept the new license or rewrite their contributions. Practical speaking, we have to tag or contact them and they have to say "I license my contributions under the MIT license." We can do that in this PR.

That can be a huge task including a lot of discussions, like you can see here: netdata/netdata#3695 (They created a for-profit company to hold the copyright and created a CLA so the company can change the license)

(So always add a LICENSE when you create a new repositories!)

@armijnhemel
Copy link

@silverhook said he'd look into this after FOSDEM.

@davidak
Copy link
Member Author

davidak commented Jan 31, 2019

Another question for a lawyer and the community: What should be the license holder?

Something like: "The nixos-homepage contributors"?

@vcunat
Copy link
Member

vcunat commented Jan 31, 2019

In nixpkgs we have

Copyright (c) 2003-2018 Eelco Dolstra and the Nixpkgs/NixOS contributors

I suppose for simplicity we might go with a similar formulation here. The homepage won't have so many contributors, so it wouldn't be so difficult to get all the attributions, but i don't expect "we" will want to bother with legal action against some copyright infringement of our web anyway, so what would be the point...
To be clear, I'm no lawyer either, so let's wait for Silverhook.

@davidak
Copy link
Member Author

davidak commented Jan 31, 2019

The homepage won't have so many contributors, so it wouldn't be so difficult to get all the attributions

There are 65 contributors, way too much to put in one line. And i don't think it's needed since the information is in git. It would get out of sync quickly.

@Ekleog
Copy link
Member

Ekleog commented Jan 31, 2019

@silverhook
Copy link
Contributor

Hey, sorry for the late show-up.

Yeah, in general you need approval for re-licensing from all of the previous authors/copyright holders. The only way you could get away with not having to, is if the previous license gave you all the rights to change the license to your new license – e.g. from MIT to GPL-3.0; or from CC-BY to CC-BY-SA (or had a CLA, or even CAA in place, where they agreed to re-licensing in advance). Even then questions might arise if the changes were big enough to warrant the new work and therefore license.

In any case, if this repo had no license (or CLA) under which the contributors contributed so far, all its content should be deemed as under “all rights reserved” by their authors/copyright holders (+ GitHub ToS). So you need their agreement to the license “change”.

MIT is fine for code, CC is fine for other content (images, website texts, etc.) …as long as the rights are all where they need be.

Regarding the copyright holder, there are many way how to do it. The “contributors to” plus their names (and e-mail addresses/websites if corporations) in CONTRIBUTORS file is my preferred method, as it keeps the headers short, yet still includes all the names, if needed. The problem is that it (explicitly) assumes that the contributors listed are also copyright holders. E.g. if someone works on NixOS in their company time, it is very likely that it is actually their employer who holds the copyright. So from the copyright PoV, the company should be listed. That is another can of worms on how to handle copyright holders vs authors.

The year-year range and its annual forced bumping is a pet peeve of mine. Personally, I strongly suggest to have in the copyright header just the year of the file creation and then leave it. If anyone is worried about this, see my comment here: https://gitlab.com/tildes/tildes/issues/161#note_89229746

Regarding REUSE – great that you want to apply it. Can warmly recommend! But a 3.0 is in the works that aims at simplifying its use and adoption quite a bit (incl. with MIT/BSD licenses). That being said, @davidak as you recently looked into it, you are very welcome to get in touch with (or join) the REUSE team and provide feedback. I think it would be very welcome and valuable.

@davidak
Copy link
Member Author

davidak commented Mar 25, 2019

@silverhook thanks for the clarification!

What do you think about the proposed license statement in this PR? Is it clear what "website content" and "code" is or do we have to state the license for every single file?

README.md Outdated Show resolved Hide resolved
@silverhook
Copy link
Contributor

@davidak, it looks clear enough, but it might make sense to explicitly cover also sample code – see my comment: https://github.com/NixOS/nixos-homepage/pull/260/files#r268771018

In general it is a good idea to have license and copyright information in every file (and it is also a specific requirement of REUSE). This is not a legal requirement (although some licenses might ask for it), but is a best practice – e.g if a just a file from the repo gets copied, how is one to know which license it was (and still is) under? That is why it makes sense to have them everywhere. Again, not a hard requirement, but a very very good idea.

Co-Authored-By: davidak <davidak@users.noreply.github.com>
@davidak
Copy link
Member Author

davidak commented Apr 15, 2019

In the next step, every former contributor has to state:

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

or comment if you see any problem with that.

@gurjeet, @tilpner, @hyperfekt, @sternmull, @ekalosak, @c0bw3b, @andir, @magnetophon, @shlevy, @eqyiel, @woffs, @vcunat, @peti, @cx405, @matthiasbeyer, @loskutov, @rdpate, @unode, @benley, @Mic92, @kojiromike, @ToxicFrog, @nh2, @leenaars, @Zimmi48, @hoodunit, @statianzo, @manveru, @3noch, @cko, @Phreedom, @aneeshusa, @matthewbauer, @ericsagnes

@davidak
Copy link
Member Author

davidak commented Apr 15, 2019

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

1 similar comment
@sternmull
Copy link
Contributor

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

@shlevy
Copy link
Member

shlevy commented May 8, 2019

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

@justgage
Copy link
Contributor

justgage commented May 9, 2019

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content MIT for the software (including sample code)

@davidak
Copy link
Member Author

davidak commented Jun 4, 2019

@8573, @cko, @ekalosak, @eqyiel, @ericsagnes, @Phreedom, @ret, @third3ye

Please accept the licenses as described in #260 (comment)!

I contacted:

  • ekalosak
  • eqyiel
  • cko
  • Phreedom
  • ericsagnes
  • 8573 aka c74d on GitLab

Can someone contact Reto on LinkedIn and inform them about this issue?

Can someone find a way to contact third3ye?

@ericsagnes
Copy link
Contributor

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

2 similar comments
@eqyiel
Copy link
Contributor

eqyiel commented Jun 4, 2019

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

@cko
Copy link
Member

cko commented Jun 6, 2019

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

@8573
Copy link
Contributor

8573 commented Jun 9, 2019

I hereby license my contributions to this repository under the following licenses:

  • Creative Commons Attribution Share Alike 4.0 International for website content
  • MIT for the software (including sample code)

@davidak
Copy link
Member Author

davidak commented Jun 17, 2019

Since i see no way to contact @third3ye, i would go the way to recreate his contribution. It's luckily just removing an "s" (7e686cd).

@silverhook what are the steps to do that in a legal way? Just revert his commit and make a new commit that we created on our own? Is it OK that his commit is still in the git history (with the old license)?

@edolstra
Copy link
Member

That change falls below the https://en.wikipedia.org/wiki/Threshold_of_originality so I think we can proceed without approval for that commit..

@armijnhemel
Copy link

I agree with @edolstra here

@davidak
Copy link
Member Author

davidak commented Jun 17, 2019

@edolstra i agree about the actual patch, but what about the commit description? I'm not sure.

@raboof
Copy link
Member

raboof commented Jun 17, 2019

We're not trying to relicense the commit description, so that seems fine?

IANAL though, so let's await word from the actual experts here :)

@davidak
Copy link
Member Author

davidak commented Jun 17, 2019

Same applies for this small contribution:

But we really need feedback from @ekalosak and @Phreedom!

Please accept the licenses as described in #260 (comment)!

@Phreedom
Copy link
Member

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

@silverhook
Copy link
Contributor

I agree with @edolstra that this might be the case for those two commits.

@davidak
Copy link
Member Author

davidak commented Jun 18, 2019

Hello @follower, @sanmai-NL, @ghuntley,

thanks for your recent contributions!

We are about to properly license this repository.

Can you please accept the licenses as described in #260 (comment)!

@sanmai-NL
Copy link

I hereby license my contributions to this repository under the following licenses:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

@grahamc
Copy link
Member

grahamc commented Jun 25, 2019

bump on @follower, @ghuntley, @ekalosak

@ghuntley
Copy link
Member

ghuntley commented Jun 26, 2019

I hereby license my contributions to this repository under the following licenses and permit you to re-license in perpetuity under any license:

Creative Commons Attribution Share Alike 4.0 International for website content
MIT for the software (including sample code)

@davidak
Copy link
Member Author

davidak commented Jul 17, 2019

Still 2 missing: @follower, @ekalosak

Please see #260 (comment)

@zimbatm
Copy link
Member

zimbatm commented Jul 17, 2019

commits from @follower:

commits from @ekalosak:

It's probably safe to go ahead and resolve potential licensing issues by replacing their work if they are unhappy.

@davidak
Copy link
Member Author

davidak commented Jul 17, 2019

@zimbatm ok. then let's finally merge it 🚀

@davidak davidak changed the title [WIP] Add licenses Add licenses Jul 17, 2019
@grahamc
Copy link
Member

grahamc commented Jul 17, 2019

🎉

@grahamc grahamc merged commit 2755cee into NixOS:master Jul 17, 2019
@grahamc
Copy link
Member

grahamc commented Jul 17, 2019

If @ekalosak would rather not license his contribution this way, we can address it.

@davidak davidak deleted the license branch July 17, 2019 18:48
@davidak davidak mentioned this pull request Jun 15, 2020
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

Successfully merging this pull request may close these issues.

nixos-homepage has no license