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

update copyright #1692

Merged
merged 8 commits into from
Mar 15, 2023
Merged

update copyright #1692

merged 8 commits into from
Mar 15, 2023

Conversation

cwhanse
Copy link
Member

@cwhanse cwhanse commented Mar 8, 2023

  • Closes Copyright renewal #1586
  • I am familiar with the contributing guidelines
  • Pull request is nearly complete and ready for detailed review.
  • Maintainer: Appropriate GitHub Labels (including remote-data) and Milestone are assigned to the Pull Request and linked Issue.

@cwhanse cwhanse added this to the 0.9.5 milestone Mar 8, 2023
@wholmgren
Copy link
Member

For what it's worth: https://hynek.me/til/copyright-years/

remove current year
@cwhanse
Copy link
Member Author

cwhanse commented Mar 8, 2023

Our internal copyright document says first year only

Copy link
Member

@wholmgren wholmgren left a comment

Choose a reason for hiding this comment

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

Thanks Cliff!

Copy link
Member

@kandersolar kandersolar left a comment

Choose a reason for hiding this comment

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

Probably want to update (or ditch) the similar copyright text in AUTHORS.md as well

LICENSE Outdated Show resolved Hide resolved
@kandersolar kandersolar mentioned this pull request Mar 8, 2023
12 tasks
@AdamRJensen
Copy link
Member

When I read this copyright statement, I'm still left with the feeling that pvlib is a Sandia software that gets occasional help from community members 🤷

@cwhanse
Copy link
Member Author

cwhanse commented Mar 9, 2023

@AdamRJensen what would you remove? The only text my organization requires, for the portion of pvlib written here, is

Copyright (c) 2013, National Technology & Engineering Solutions of Sandia, LLC

@AdamRJensen
Copy link
Member

@AdamRJensen what would you remove? The only text my organization requires, for the portion of pvlib written here, is

Copyright (c) 2013, National Technology & Engineering Solutions of Sandia, LLC

Well, with the fear of coming across as presumptuous, why isn't Sandia's copyright/authorship included in "pvlib python Development Team"? If you need to explicitly include it then I think it would send a better signal to have the "pvlib python Development Team" listed first.

@cwhanse
Copy link
Member Author

cwhanse commented Mar 9, 2023

@AdamRJensen I agree about the ordering.

One of the consequences of working in an organization like mine are inflexible rules about copyright and publications. According to those rules, any contribution I (or my colleagues) make is subject to copyright by our employer. It's not different at other U.S. government labs (e.g., this comment).

@adriesse
Copy link
Member

adriesse commented Mar 10, 2023

So then, perhaps it should say the portions of pvlib are copyright Sandia?

I do like the suggestion of putting the development team first. (Followed by portions Sandia.)

Is the organization Sandia a member of the development team? If so, it would seem to have the option of identifying the relevant code sections in comments as well.

This is just my totally non-expert reaction to the above.

@adriesse
Copy link
Member

Afterthough:

Could you simply spell out in this file that Sandia is the copyright holder for those portions of pvlib-python that were originally translated from matlab in 2013, and also for those portions subsequently contributed by Sandia employees?

@cwhanse
Copy link
Member Author

cwhanse commented Mar 10, 2023

Could you simply spell out in this file that Sandia is the copyright holder for those portions of pvlib-python that were originally translated from matlab in 2013, and also for those portions subsequently contributed by Sandia employees?

I don't think that's necessary. It seems like a fine point but an important one: here, copyright is not an assertion of authorship, it is an assertion of the right to grant the license.

As I understand it:

The copyright statement serves to communicate that there is assertion of copyright (this is not in the public domain) and identifies the organization which grants the open-source license.

Any contributor retains copyright in their contribution unless explicitly ceded, which isn't required by the pvlib-python license.

The original code released as open source with the BSD license was entirely written by a contract employee of Sandia National Laboratories. A copy of that code is here. The original code was copyrighted by Sandia National Laboratories in 2013.

The license granted allowed those interested (primarily @wholmgren) to create pvlib-python. Hence pvlib-python is a derivative work of the code copyrighted by Sandia. The terms of the BSD license require that the original copyright notice be retained.

Every contributor to pvlib-python has an inherent copyright on their contribution. Contributors do not grant their copyright to Sandia, the "developers", or anyone else, because that is not explicitly required by the license.

However, each contributor agrees that the BSD license applies to their work. The BSD license grants to all who wish permission to modify and redistribute. Therefore, we as maintainers have been granted license by the copyright holders to publish the entire library without seeking permission from contributors, and other contributors can modify the code without permission.

Can the "pvlib python Development Team" assert copyright? That term is vague. It can't mean the maintainers since we don't author everything. So I think a better term is "pvlib python Contributors" which includes everyone who has contributed. However, pvlib v0.4.0 asserted copyright in 2014 by "PVLIB python Developers" so we should maintain that statement.

What about inline copyright? Some organizations, under terms of their contracts with the U.S. Government, are required to assert copyright over works authored in performance of that contract. Sandia is one of those organizations, as is NREL. Those contract requirements do not make an exception for works contributed to projects with open-source licenses. In practice, I and my colleagues are required to occasionally file a piece of paper generally describing what we've contributed, and for internal peace, to occasionally note our organization's copyright on a portion of the code.

Any other contributor could do the same, with the understanding that their copyright does not protect the code from being modified, since they have agreed to the BSD license terms. The "pvlib python Contributors" are not obligated to retain copyright assertions in code comments in future modifications, but we are collectively obligated to retain copyright assertions in the license file.

So, it may seem a small matter, but: approval of this copyright statement by any and all who wish to speak up, is important.

@kandersolar
Copy link
Member

Thanks @cwhanse for laying it out. Speaking for myself, I'm fine with whatever you think is the right way to go here.

One thing: is the inconsistency wrt years and entity names between AUTHORS and LICENSE intentional?

*   Copyright (c) 2023, pvlib-python Contributors
*   Copyright (c) 2014, pvlib python Development Team
*   Copyright (c) 2013, Sandia National Laboratories

versus

Copyright (c) 2015 pvlib python Contributors
Copyright (c) 2014 PVLIB python Developers
Copyright (c) 2013 Sandia National Laboratories

@cwhanse
Copy link
Member Author

cwhanse commented Mar 10, 2023

One thing: is the inconsistency wrt years and entity names between AUTHORS and LICENSE intentional?

Not intentional, I'll fix that.

@adriesse
Copy link
Member

Thanks very much @cwhanse. I'm going to book mark that for future reference!

I was trying to suggest something that might alleviate @AdamRJensen's concern about perception, rather than object to anything fundamental. It seems to me with the three copyright statements in reverse chronological order the perception issue is probably resolved.

@kandersolar
Copy link
Member

Judging by the thumbs-up reactions and absence of continued objection, I'll assume that we're all on board with the PR as it currently stands and merge it. Thanks @cwhanse and all discussion participants

@kandersolar kandersolar merged commit db1111e into pvlib:main Mar 15, 2023
@cwhanse cwhanse mentioned this pull request Jul 7, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Copyright renewal
5 participants