We should define the further procedure for the year specification in the copyright header. The discussion started already in the commit 67679892: "Update copyrightHeader year".
The latest proposal is, that there are two years mentioned with comma separation:
"The {year} is the year in which the content was created (e.g. “2004”). The date may optionally be set to a range of years with the first and last years of the range separated by a comma (e.g. “2004, 2017”); in this case, the first year is when the content was first created and the last year is when the content was last modified."
I am not a lawyer and consequently don't understand the legal consequences of a comma-separated list with first year and last year of contributions (e.g. "2004, 2017") compared to range of years (e.g. "2004-2017"). Has anyone a better understanding? Is there a general rule? Is there a a different understanding in different countries?
Excellent! I wasn't aware of the Eclipse Handbook and that the suggestions within the Handbook are in accordance with this issue.
I fully support @tplatzer proposal
I'm just starting to clean up the issue and already came across some issues.
TLDR: The copyright format, as we discussed it, does not match the handbook and I'd propose a general copyright referencing a single NOTICE file, listing the contributors (see Option 3 below).
I need help with defining the NOTICE file
Copyright Format
Let's start with the current copyright header in commonTools.h.
What we've got:
/******************************************************************************** Copyright (c) 2017, 2018, 2019, 2020, 2021 in-tech GmbH* 2018 AMFD GmbH* 2016, 2017, 2018, 2019, 2020 ITK Engineering GmbH* 2020 HLRS, University of Stuttgart.* 2020 BMW AG** This program and the accompanying materials are made* available under the terms of the Eclipse Public License 2.0* which is available at https://www.eclipse.org/legal/epl-2.0/** SPDX-License-Identifier: EPL-2.0*******************************************************************************/
Option 1:
Manual says:
often, most of the content in the file was contributed by the initial copyright owner with subsequent modifications by others being smaller
Would look like:
/******************************************************************************** Copyright (c) 2016, 2021 ITK Engineering GmbH and others** This program and the accompanying materials are made* available under the terms of the Eclipse Public License 2.0* which is available at https://www.eclipse.org/legal/epl-2.0/** SPDX-License-Identifier: EPL-2.0*******************************************************************************/
Well, that's not my preference.
Option 2:
Manual says:
if the number of copyright owners is small (e.g. two), there is nothing wrong with listing all of them especially if their contributions are more proportionately equal.
Would look like (authors sorted by year, of contribution or alphabetically if year is the same):
/******************************************************************************** Copyright (c) 2017, 2021 ITK Engineering GmbH, in-tech GmbH, AMFD GmbH, * Bayerische Motoren Werke Aktiengesellschaft (BMW AG),* and HLRS, University of Stuttgart** This program and the accompanying materials are made* available under the terms of the Eclipse Public License 2.0* which is available at https://www.eclipse.org/legal/epl-2.0/** SPDX-License-Identifier: EPL-2.0*******************************************************************************/
Well, that's not my preference, too.
Option 3:
Manual says:
Alternatively, project teams can adopt a more generic copyright header for each file and include the identities of the copyright holders in the notice file.
This would look like:
/******************************************************************************** * Copyright (c) {year} Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0 * * SPDX-License-Identifier: EPL-2.0 ********************************************************************************/
And one NOTICE or NOTICE.md file (both valid) at the root of the repository.
Other information, as deemed necessary by the project team may also be included.
The template in the handbook, does not list the individual contributors explicitly,
which i don't really like.
So I propose the following:
# Notices for OpenPASS for CommittersThiscontentisproducedandmaintainedbytheEclipseOpenPASSWorkingGroup.*Projecthome:https://openpass.eclipse.org/## CopyrightAllcontentisthepropertyoftherespectiveauthorsortheiremployers.Thecontributorsarelistedbelowintheorderoftheirinitialcontribution:-2016ITKEngineeringGmbH-2017in-techGmbH-2018AMFDGmbH-2020HLRS,UniversityofStuttgart-2020BayerischeMotorenWerkeAktiengesellschaft(BMWAG)Formoreinformationregardingauthorshipofcontent,pleaseconsulttherepositorylogs.## Declared Project LicensesThisprogramandtheaccompanyingmaterialsaremadeavailableunderthetermsoftheEclipsePublicLicense2.0whichisavailableathttp://www.eclipse.org/legal/epl-2.0
In the section about the copyright, the handbook says
The {year} is the year in which the content was created (e.g. “2004”). The date may optionally be set to a range of years with the first and last years of the range separated by a comma.
If we use only the initial creation date, future changes are minimal.
Of course, I'll browse the existing copyrights for the true initial date.
I would really appreciate if we could get that through as fast as possible, so I can continue with the resolution.
This means, that I need "NOT OKAY" as well as "OK" from all of you as soon as possible.
I could go with Option 3.
Regarding Range or only initial year I have no clear direction. From a dev perspective I would go with the Option which has the least effort to maintain and still fullfills the requirements of eclipse.
Since I accidentally closed the issue (and now reopened it): I need "NOT OKAY" but also an "OK" (if so) from all of you as soon as possible on that topic.
@rparisha2
I agree on option 3 with minor corrections...
As it says in the Project Handbook: "Other information, as deemed necessary by the project team may also be included."
So, I don't see a problem with having more details in the Copyright section, although it is not explicitly suggested in the template.
However, I would propose a range of years straight from the beginning:
{YearOfFirstContribution}-{YearOfLastContribution} Company
And I am missing "Volkswagen Group of America" in your NOTICE file...
@dfix@rparisha2 I don't see any benefits for us if we provide the information about the year of the last contribution. If we do this we have to update the year of the last contribution probably every year. Furthermore, as you stated, to make things easier it is an optional information which I would leave out. Still, I agree to option 3.
I just wanted to make it as easy as possible, so we don't need to update the NOTICE file every year (which people will forget). Do you see any legal issues for the ITK if we skip that information?
Of course, Volkswagen also will be mentioned, but I tried to be consistent with the one copyright example I gave at the beginning of the issue.
The effort is minimal: On January 1st, I personally will sit down and replace 2021 with 2022 in each line :-)
... in each line mentioning a contributor who's going to commit something in 2022. I like the idea of an approach of minimal effort, but not at the cost of inconsistencies.
Practical suggestion:
We have already defined a process for an external contribution. We will also need to define a process for an internal feature/bugfix contribution.
In both, we can add a task:
x) Update the Copyright information in "NOTICE" with a year or a new line, respectively
I'd like to see the authors, as well as the last modification year on each file for various reasons:
Even when having a collaborative project in mind where anyone can participate and contributes to the project as a whole, I like the idea of giving attribution to authors for their individual parts of work
Giving individual attribution may make it easier to contact a specific person regarding detailed questions (i.e. by tagging them in an issue)
The modification date is a quick indicator for an unexperienced contributor if a source file is trustworthy compared to other files (i.e. unused code using the wrong interfaces etc.)
So my preference would be Option 1 (traditional copyright header format), but including item (4). This would account for the individual attribution, and also provides a minimal changelog, which would be an extra benefit for me.
Of course this also means more effort for each author, but the author would at least have the choice to place his individual attribution.
I also thought about just relying on the git repository metadata to identify the contributors. But I think that doesn't suit every aspect. The repository could be transferred to a new one without preserving history, source code can be distributed as simple zip/tar archive etc.
One additional Gedankenexperiment:
A file is used regularly, but never changed for about 20 years. After that time it should lose its copyright, right?
If we´ve all contributors in one file, this would generalize every copyright for every file, which is easily maintainable but doesn´t feel right.
So for me in each file we have to have at least:
the initial year
the year of last significant change
significant contributors
To easily maintain this copyright proposal we should add a commit pre hook, which automatically sets year, company, author
Just a different gedankenexperiment:
Somebody, who's not officially involved, contributes to the source. How is she attributed right?
@rbiegel 's approach on that is simple (in one file)
- She Hulk - Added some green paint
But how would it look in the NOTICE file?
2021 - She Hulk
This would make appear the contribution look larger than it is.
In the end, there is no perfect solution, but we need an agreement.
@tduongquang / @adascri: How should we proceed?
It rarely happens that an external contributer will add something to our project. Therefore, we highly appreciate any reasonable contributions which help to improve and grow openPASS. Hence, a mentioning in the NOTICE file, even though the contribution may be small, will show the appreciation of the contribution.
I am more with Reinhard's proposal on the copyright header due to the mentioned benefits.
We have seen approval for option 3 of the initial proposal before Reinhard added his comment but not gotten any feedback on Reinhard's approach. Does anyone object to the copyright being stated in each file individually or also prefers this solution? Please give a short feedback station your preferred solution among the two options.
Since the majority is for Option 3 with the information of the range of the year {YearOfFirstContribution}-{YearOfLastContribution} and @dfix is willing to do the adjustment on each new years eve, I propose to change the NOTICE file accordingly.
@rparisha2 Because you are cleaning up anyway. Can you take over the changes?
Doing the adjustments on each new years eve is not sufficient. Most parties will not have made a contribution by 1st January and therefore the copyright would be simply wrong. Indeed is still slightly more complicated and each party is responsible anyways.
/******************************************************************************** Copyright (c) 2016-2020 ITK Engineering GmbH* 2017-2021 in-tech GmbH* 2018 AMFD GmbH* 2020 HLRS, University of Stuttgart* 2020 BMW AG** This program and the accompanying materials are made* available under the terms of the Eclipse Public License 2.0* which is available at https://www.eclipse.org/legal/epl-2.0/** SPDX-License-Identifier: EPL-2.0*******************************************************************************/