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 COPYRIGHT file and update copyright & licence notices #591

Merged
merged 4 commits into from
Sep 10, 2018

Conversation

dhardy
Copy link
Member

@dhardy dhardy commented Aug 16, 2018

Fix #468:

  • add a basic COPYRIGHT file (based on the Rust project's one with irrelevant parts removed)
  • add copyright and licence notices where missing from source files (including tests and benches, which are important sources)
  • add or replace copyright notice at the top of many files (see below)

This last point is less straightforward, and only done selectively: I replaced the notice entirely in more recent additions although, strictly speaking, this is not compatible with the licence. In files with longer / complex history I did not remove the existing copyright header, but in some cases added an additional one.

Is this reasonable? Before proceeding I think we should ask each author concerned if they are happy with the change in copyright notice. According to git blame this is:

  • Diggory Hardy
  • Gabriel Majeri
  • Paul Dicker
  • Vinzent Steinberg
  • Alex Crichton
  • Jonas Sicking
  • Bartłomiej Kamiński
  • mberocay MaximoB
  • Rohit Joshi
  • TheIronBorn
  • Pazzaz
  • Garrett Berg
  • Huon Wilson

But before doing that, is this a reasonable plan @steveklabnik @pitdicker @vks (or anyone else caring to comment)?

@AppVeyorBot
Copy link

Build rand 1.0.68 completed (commit 5467b205bd by @dhardy)

@sicking
Copy link
Contributor

sicking commented Aug 23, 2018

This looks fine to me. A file explicitly AUTHORS.txt file listing contributors is always a nice way to honor the people that has contributed, but of course is extra maintenance burden. I'm ok either way.

It might be worth tagging the relevant people if you want an explicit response. I would not have seen this PR if I wasn't randomly using a different computer which didn't have my browsing history to look up a PR.

Adding the ones I know off the top of my head: @pitdicker, @vks, @alexcrichton, @MaximoB, @TheIronBorn, @Pazzaz, @GabrielMajeri — are you happy with the change in copyright notice?

@GabrielMajeri
Copy link
Contributor

I have no issue with the change to the copyright notice.

Just a minor question: wouldn't it make sense to say Copyright "The Rand Project Developers" instead of "Developers of the Rand project" to match "The Rust Project Developers"?

@dhardy
Copy link
Member Author

dhardy commented Aug 23, 2018

I was hoping for input from someone with more background on this stuff, but I guess this will have to do.

@GabrielMajeri this is a deliberate attempt to learn from the Rust project, i.e. make it clear that copyright is held by individual developers, not by some other entity.

Also note that although we could try to maintain an AUTHORS.txt file, the Rust project gave up eventually complaining about the maintenance cost (instead they have this page). For us though it would be more manageable, so we could do so.

Edit: please tell me if you would like your name mentioned in an AUTHORS.txt file. Otherwise I will not bother creating this file.

@dhardy
Copy link
Member Author

dhardy commented Aug 23, 2018

Also @fizyk20 @rohitjoshi @vitiral — are you happy with the change in copyright notice?

@fizyk20
Copy link
Contributor

fizyk20 commented Aug 23, 2018

Perfectly fine by me. Regarding AUTHORS.txt, I don't feel it is necessary, but if it gets created, I'd be happy if I got mentioned ;)

@vks
Copy link
Collaborator

vks commented Aug 23, 2018

This is fine with me as well.

@vks
Copy link
Collaborator

vks commented Aug 23, 2018

I feel like a lot of authors are missing from the list. For example, @huonw implemented quite a few of the distributions in Rand.

@dhardy
Copy link
Member Author

dhardy commented Aug 23, 2018

I feel like a lot of authors are missing from the list. For example, @huonw implemented quite a few of the distributions in Rand.

Yes, it is. Perhaps we should try updating the copyright notice on all files; I tried to take the "easy" option here by limiting to files which are only written by recent contributors (according to git blame). This is definitely not comprehensive.

@huonw are you able to comment on this issue? Since Huon was the primary author of much of the old versions of the Rand lib, and since he hasn't been active here for a long time, I avoided several parts of the lib in this PR.

Copy link
Contributor

@vitiral vitiral left a comment

Choose a reason for hiding this comment

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

I'm dumb please ignore this comment So I do not believe this is advised. See section "How do I use the MIT License?" here: https://www.tawesoft.co.uk/kb/article/mit-license-faq

The MIT licesnse has a clause which states:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

This would include at the top of every source file.

You can instead use this as a header, which is sufficient (and what rust itself uses):

// Copyright 2016 rust-postgres-macros Developers
//
// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
// http://opensource.org/licenses/MIT>, at your option. This file may not be
// copied, modified, or distributed except according to those terms.

There was a bot that created these templates. You can read more about it here: sfackler/rust-postgres-macros#19

According to that bot you should also put a LICENSE-MIT and LICENSE-APACHE file in your source tree.

@sicking
Copy link
Contributor

sicking commented Aug 23, 2018

I was hoping for input from someone with more background on this stuff, but I guess this will have to do.

Doh! I'm so sorry. I missed the last paragraph in the original comment and just saw the part where you wanted input from the list. I'm really sorry about that!!

@sicking
Copy link
Contributor

sicking commented Aug 23, 2018

And if an Authors.txt file is added (which I think would be nice, but not required), then I'd like to be mentioned.

@dhardy
Copy link
Member Author

dhardy commented Aug 23, 2018

@vitiral that is exactly what the updated licence headers say, except for slightly different wording of the copyright line.

@vitiral
Copy link
Contributor

vitiral commented Aug 23, 2018

@dhardy nvm I'm dumb.

@huonw
Copy link
Contributor

huonw commented Aug 23, 2018

Yes, I'm happy with the change in copyright. Thanks for asking.

@dhardy
Copy link
Member Author

dhardy commented Aug 24, 2018

Thanks @huonw.

It would be nice to have confirmation from everyone, but git shortlog -s -n -e|wc -l shows 175 authors, and it's unrealistic to expect every one of those to respond (especially root <root@localhost>)!

So I think it's sensible to leave the copyright notice as-is on older files (which is why I didn't ask @huonw before).

@dhardy
Copy link
Member Author

dhardy commented Aug 28, 2018

@pitdicker @MaximoB @rohitjoshi @TheIronBorn @Pazzaz @vitiral please confirm you are happy with the change in copyright notice.

@pitdicker
Copy link
Contributor

Looks good and carefully done!

Copyright The Rust Project Developers. See the COPYRIGHT file at the top-level directory of this distribution and at https://rust-lang.org/COPYRIGHT.

The Rust COPYRIGHT files at the time included the licenses of packages that where once included with Rust, such as ACME (large integer package), UTHASH (hash table package), 2 headers from Valgrind, libuv, LLVM, etc. As we have none of this code, I don't think we have to keep the boilerplate line, just Copyright <year> The Rust Project Developers.

Copyright 2018 Developers of the Rand project.

In several files, would the year 2017-2018 be more appropriate?

I'm not big on having an AUTHORS.txt file, but that is just my opinion.

@dhardy
Copy link
Member Author

dhardy commented Aug 28, 2018

Considering it's not even refering to the same COPYRIGHT file, I guess that makes sense.

I don't think the year matters much. It frequently doesn't get updated anyway.

@vitiral
Copy link
Contributor

vitiral commented Aug 28, 2018 via email

@Pazzaz
Copy link
Contributor

Pazzaz commented Aug 28, 2018

I approve of the changes 👍

@TheIronBorn
Copy link
Collaborator

I'm happy with the changes

@dhardy
Copy link
Member Author

dhardy commented Sep 3, 2018

@MaximoB @rohitjoshi please confirm you are happy with the change in copyright notice.

@dhardy
Copy link
Member Author

dhardy commented Sep 10, 2018

The Rust COPYRIGHT files at the time included the licenses of packages that where once included with Rust, such as ACME (large integer package), UTHASH (hash table package), 2 headers from Valgrind, libuv, LLVM, etc. As we have none of this code, I don't think we have to keep the boilerplate line, just Copyright The Rust Project Developers.

Done

In several files, would the year 2017-2018 be more appropriate?

As I understand the date is not particularly important. Keeping these lines up to date would be a burden, so lets not worry.

@dhardy dhardy merged commit 9ad4668 into rust-random:master Sep 10, 2018
@dhardy dhardy deleted the copy branch September 10, 2018 18:13
dhardy added a commit to dhardy/rand that referenced this pull request Sep 17, 2018
dhardy added a commit that referenced this pull request Sep 20, 2018
Follow up on #591: update authors and add new copyright where missed
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.