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

Refactoring copyright headers #483

Closed
4 tasks done
dkroenke opened this issue Jan 7, 2021 · 13 comments · Fixed by #544 or #555
Closed
4 tasks done

Refactoring copyright headers #483

dkroenke opened this issue Jan 7, 2021 · 13 comments · Fixed by #544 or #555
Labels
documentation Improvements or additions to documentation

Comments

@dkroenke
Copy link
Member

dkroenke commented Jan 7, 2021

Brief feature description

Currently are contributing multiple parties into iceoryx who are creating/modifying sourcecode files. To ensure the copyrights of each contributing party there is a fileheader with a copyright statement like this:

// Copyright (c) 2019, 2021 by Robert Bosch GmbH, Apex.AI Inc. All rights reserved.

This is based on the description in CONTRIBUTING.md#

Based on discussion in developer meetup.

From Contributing.md

Header

Each source file needs to have this header:

    // Copyright (c) [DATE] by [INITIAL COPYRIGHT OWNER] [OTHER COPYRIGHT OWNERS]. All rights reserved.
    //
    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    //     http://www.apache.org/licenses/LICENSE-2.0
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific language governing permissions and
    // limitations under the License.

Note: DATE is either a year or a range of years with the first and last years of the range separated by a comma. So for example: "2004" or "2000, 2004". The first year is when the contents of the file were first created and the last year is when the contents were last modified.

Tasks:

  • one line per copyright owner in the file header
  • clarify if we can remove the year from the header to reduce maintenance effort
  • machine readable copy right / license header to make tool-based evaluation easier https://spdx.org/licenses/, https://spdx.org/ids/
  • rollout on all copyright headers in iceoryx
@dkroenke dkroenke added the documentation Improvements or additions to documentation label Jan 7, 2021
@dkroenke
Copy link
Member Author

dkroenke commented Jan 7, 2021

@elBoberido @ariexi @budrus

@elBoberido
Copy link
Member

I just found this for the copyright notice from a lawyer and open source developer at GitHub
https://ben.balter.com/2015/06/03/copyright-notices-for-websites-and-open-source-projects/

He suggests to use either a comma separated list or if there are many contributors to just the term and contributors

Copyright [year project started] - [current year], [project founder] and the [project name] contributors

Since the code belongs to eclipse, this would become

Copyright 2019 - 2021, Eclipse Foundation and the iceoryx contributors.

I quite like this, since I don't have to always look at the header and check if I need to extend the copyright. It makes it also easier regarding contributors who might just add a one liner bugfix.

@budrus
Copy link
Contributor

budrus commented Jan 8, 2021

Thanks for the proposal @elBoberido. I think that needs to be checked by the contributing companies. Could you clarify @ariexi
Some would also say it is a nice advertisement to have the company name in the header....

@ariexi
Copy link

ariexi commented Jan 8, 2021

@budrus fully agree, advertisement part is also nice ... ;-)
But the lean way as well ...
Discussion about our proposal started today. I will keep you informed.

@dkroenke
Copy link
Member Author

dkroenke commented Jan 8, 2021

Maybe we can get rid at least from the year in the header, this is something very annoying shortly after new years eve...

@elBoberido
Copy link
Member

@ariexi @budrus if advertisement is the main concern, wouldn't it have a bigger effect if the main contributing companies are mentioned on the README.md. That's what most of the people see. I would guess hardly anyone looks at the header. That's why we also plan to put those companies at the footer of the new homepage.

@elBoberido
Copy link
Member

@ariexi this is how the apache foundation is handling the copyright notice https://www.apache.org/legal/src-headers.html

I would suggest to have just a // SPDX-License-Identifier: Apache-2.0 at the top of the source files and the license text and copyright owner in LICENSE.md and NOTICE.md

@ariexi
Copy link

ariexi commented Jan 27, 2021

@budrus, @elBoberido, @dkroenke

After clarification with our legal department we came to following conclusion for Bosch:
As Bosch, we claim following Copyright Header Line:

// Copyright (c) 2019 - 2021 by Robert Bosch GmbH. All rights reserved.

Some explanation:
The Eclipse Foundation (EF) was not involved in the development of the code, nor did Bosch transfer any intellectual property rights to the EF. Therefore we do not see a reason to refer to the EF as being the copyright holder with regard to code written or owned by Bosch.
We appreciate to have the specification of the years in Bosch’s copyright notice to express when files were created or changed.
That could be list or a range, or both, e.g. 2019 – 2021, 2023 (First year, being the year of creation, subsequently the years in which changes were done)
The numbers of the years shows the history and the up-to-datedness and liveliness of the file. The numbers in the Bosch Copyright Header line will only be updated, if Bosch changes the file.

Regarding the representation of copyrights held by Apex Inc. we suggest to consult their/your legal counsel/department.

@dkroenke
Copy link
Member Author

dkroenke commented Feb 1, 2021

@ariexi @elBoberido
To have separate lines for each contributor make sense to avoid confusion, so a possible copyright fileheader could look like this:

// Copyright (c) 2019 - 2021 by Contributor1. All rights reserved.
// Copyright (c) 2020 - 2022 by Contributor2. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// ...

For the case that a contributor changes a file in a new year (e.g. Contributor1 modifies the file in 2022), he update the range to the new year (e.g. 2019 - 2022).

Based on that, the template in Contributing.md could look like this:

// Copyright (c) [YEAR OF INITIAL CONTRIBUTION] - [YEAR LAST CONTRIBUTION] by [COPYRIGHT OWNER]. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// ...

If year of initial and last contribution are the same, then mentioning one year is sufficient.

Let me know if this is feasible, so that i can adapt the template.

@ariexi
Copy link

ariexi commented Feb 3, 2021

@dkroenke, @budrus :

For the case that a contributor changes a file in a new year (e.g. Contributor1 modifies the file in 2022), he update the range to the new year (e.g. 2019 - 2022).

Exactly, Another option is to separate with "," (comma separated list) for the case, that contributorX did not modify in one year. It could look like:

// Copyright (c) 2019 - 2020, 2022 by Contributor1. All rights reserved.
// Copyright (c) 2020 - 2022 by Contributor2. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// ...

If year of initial and last contribution are the same, then mentioning one year is sufficient.

Correct

Let me know if this is feasible, so that i can adapt the template.

From my point of view, yes, it is feasible.

dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 4, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 4, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 8, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 8, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 8, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit that referenced this issue Feb 9, 2021
…uting-md

Iox #483 Copyright Header Contributing.md
@dkroenke
Copy link
Member Author

dkroenke commented Feb 9, 2021

This issue stays open until all fileheaders are reworked to the new format

@dkroenke dkroenke reopened this Feb 9, 2021
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
…iles

Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
… and scripts

Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
@dkroenke dkroenke mentioned this issue Feb 11, 2021
19 tasks
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
…ake files

Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
@dkroenke dkroenke reopened this Feb 12, 2021
@budrus
Copy link
Contributor

budrus commented Mar 21, 2021

@dkroenke We adapt files when changing them only, or? So can we close this issue?

@dkroenke
Copy link
Member Author

@budrus yes correct, there are only a few files left -> closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
4 participants