Zulip Chat Archive

Stream: general

Topic: Merging files with different copyright information


Eric Wieser (Dec 04 2021 at 14:53):

What's the protocol when merging two files (such as #10617), when the headers of file A and B have conflicting copyright information?

If we use the header of file A, then we've essentially chosen to ignore the copyright claims by the authors of file B (something that strictly should require the copyright owner of B to reassign copyright), and vice versa. If we try to have multiple copyright lines, then the linter complains.

Yury G. Kudryashov (Dec 04 2021 at 20:18):

In this particular case I think that one of two files was an (almost) trivial addition to the other.

Yury G. Kudryashov (Dec 04 2021 at 20:25):

@Gabriel Ebner @Simon Hudon this is about data.stream.basic. I'm merging it with data.stream.init which came from core. Do you want to be mentioned in the Authors: line?

Eric Taucher (Dec 04 2021 at 20:30):

Having worked with public websites in the U.S. and having an attorney on the team, at the start of each year someone would claim in urgency that we needed to change the copyright on all of the web pages. So I asked our attorney and this was the response.

If the work is new and has no copyright then the work gets a copyright notice with the current year.
If the work has a copyright and no change was made then no need to change the copyright notice.
If the work has a copyright and a change was made in the year of the copyright then no need to change the copyright notice.
If the work has a copyright and a change was made in a year latter than the copyright then the copyright notice needs to be updated to the latter year.

Since the work was done for a company, the company held the copyright and the name did not change.


These are other rules I learned.

If the work is a combination of other works, then include each copyright notice and add an additional copyright for the current year and the person creating the derived work.

HTH

Yury G. Kudryashov (Dec 04 2021 at 22:58):

We definitely don't list all copyright holders in the headers. I don't say that we shouldn't. I say that currently we don't do this.

Gabriel Ebner (Dec 05 2021 at 10:06):

Per the Apache license we are required to preserve the copyright notices literally afaict (as much as I'd like to standardize the mathlib copyright header to "Copyright (C) 202x The Mathlib Community"). In any case, you have my permission to merge/remove the copyright header of my contributions.

Yury G. Kudryashov (Dec 05 2021 at 10:56):

What other opensource projects do about it?

Yaël Dillies (Dec 05 2021 at 12:18):

Gabriel Ebner said:

I'd like to standardize the mathlib copyright header to "Copyright (C) 202x The Mathlib Community"

That I like it or not, leaving my name in copyright headers is an incentive to write more code. I'm sure a good chunk of what I did wouldn't be in mathlib today were it not for the copyright headers.

Johan Commelin (Dec 05 2021 at 12:26):

@Yaël Dillies I'm not sure I understand what you are saying. Would you mind to elaborate a bit?

Eric Wieser (Dec 05 2021 at 12:27):

Yaël, are you talking about the author list?

Yaël Dillies (Dec 05 2021 at 12:27):

Both actually.

Yaël Dillies (Dec 05 2021 at 12:27):

I don't think that's very important. I just noticed it.

Eric Wieser (Dec 05 2021 at 12:29):

I would also agree with replacing my name in the copyright line with "mathlib contributors", since it's otherwise a bit odd to contribute to / move lemmas from a file with someone else's copyright in the header. The authors line is good to keep though.

Yaël Dillies (Dec 05 2021 at 12:31):

Yeah, copyright is weirdly about who got there first, not who actually did the most/is the most knowledgeable about a file

Eric Taucher (Dec 05 2021 at 12:32):

Yury G. Kudryashov said:

What other opensource projects do about it?

Git repositories such as GitHub are IMO one of the best ways to track contributions of work because often the individual lines and time of change can be determined. Having said that I don't think it would hold up in court for a Copyright suit.

ANTRL requires Developer's Certificate of Origin
SWI-Prolog has page for the list of contributors
This site list all of the third-party licenses.

Needless to say, there is no standard.

Eric Taucher (Dec 05 2021 at 12:44):

I don't know if Lean or any work done that contributes to Lean is from funding. An example of open source software that receives government funding is Cytoscape.js. Here it notes how to cite Cytoscape.js


Last updated: Dec 20 2023 at 11:08 UTC