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

Make copyright status explicit in the opentrons repository / source code #4807

Closed
DerAndere1 opened this issue Jan 18, 2020 · 4 comments · Fixed by #4859
Closed

Make copyright status explicit in the opentrons repository / source code #4807

DerAndere1 opened this issue Jan 18, 2020 · 4 comments · Fixed by #4859
Labels
docs robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience).
Milestone

Comments

@DerAndere1
Copy link

DerAndere1 commented Jan 18, 2020

overview

It would make people more comfortable if you could make the copyright and license status of the opentrons source code explicit. Currently there is an Apache 2.0 license file at the root of the repository. However that license is not applied properly.

current behavior

Copyright notice and license info boilerplate missing.

steps to reproduce

use the Github search inside this repository to find instances of "Copyright".
->No explicit copyright notice is found, except some third-party statements and a generated one in api/docs/.../conf.py which pertains only to the documentation.

expected behavior

Copyright statement and license boilerplate, at least somewhere in this repository, in one or more prominent places. If you want to keep all copyright and license information in one place, add a preface text at the beginning of the license file that includes a notion to what parts of the repository the Apache 2.0 License applies, followed by the required boilerplate and copyright notice, followed by the Apache 2.0 License text itself. Or add the boilerplate in the beginning of some or most files.
Here is the relevant excerpt from the Apache 2.0 license appendix:

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

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.

@mcous mcous added robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience). docs labels Jan 21, 2020
@mcous
Copy link
Contributor

mcous commented Jan 21, 2020

Thanks for the thoughts! We'll get that boilerplate added to the LICENSE file. Aside from that missing statement, though, I think we're pretty explicit in how everything is Apache-2.0 licensed:

  • All JS projects include "license": "Apache-2.0" in their package.json manifest files
  • All Python projects include license="Apache 2.0" in their setup.py files
    • They also have package.json files with "license": "Apache-2.0" to behave in our monorepo
  • The GitHub repository highlights that the project is Apache-2.0 in the header

Screenshot 2020-01-21 13 36 41

So, if you're worried, please rest assured that everything in here is Apache 2.0 licensed!

@DerAndere1
Copy link
Author

DerAndere1 commented Jan 22, 2020

Thanks. commit d4250b6 solves this issue.
I appreciate that you have always been very clear about the intended license. It's just that the License required this explicit text.

@mcous
Copy link
Contributor

mcous commented Jan 24, 2020

@DerAndere1 I'm actually unable to find any documentation that states this sort of notice is required for the license to be valid. I'm of the personal opinion that it is optional, given:

  • Copyright is granted automatically to any work, regardless of whether the creator states that fact
  • We have multiple "notices" (via package.jsons etc) that attach the included Apache-2.0 license to this work

Are you able to point me to any documentation that states that a NOTICE file (and/or the source code boilerplates, which we're not fans of) is strictly required?

@DerAndere1
Copy link
Author

DerAndere1 commented Jan 27, 2020

The appendix of your LICENSE file mentions no alternive method of licensing source code. But now I see that https://www.apache.org/licenses/LICENSE-2.0 has an alternatve apendix, so the copyright statement may be only required if you require attribution. In any case, that one line of plain-text copyright notice in the NOTICE file (or alternatively a copyright notice in each file) ensures attribution and documentation of copyright in derivative code, even if only a single file was copied into another codebase and modified. Remember that the source code in the public repository is a distribution itself (source form), seperate from any packaged release. I think, package.json only ensures that a plain-text copyright notice and LICENSE text is added to OTHER distributions (packaged releases) of this work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience).
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants