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

Fix license issue of the third party code #9

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

chiro-hiro
Copy link

@chiro-hiro chiro-hiro commented Aug 5, 2023

This pull request update some license files to make sure that this repo follows a good practice of open source code of conduct.

I removed this part from the license files (LICENSE-MIT and LICENSE-APACHE) since these notices isn't a part of the license and you shouldn't modify the license.

This software includes components from third parties. For a full list of these components and their licenses,
see the THIRD PARTY NOTICES file.

I removed ThirdPartyNotices.txt since you shouldn't include two original licenses in one file.

I add NOTICE files and license on the top level of the given folder to make sure that it will track any copyright changes.

@chiro-hiro
Copy link
Author

chiro-hiro commented Aug 5, 2023

In case there is some third party files that was included in this project, you must include a short version of the license on the header of the file if it is unable to add LICENSE file.

@shahar4
Copy link
Contributor

shahar4 commented Aug 7, 2023

Hey @chiro-hiro, thank you for taking the time to think about and suggest improvements! Our attributions right now follow a strict reading of the license requirements. We’re currently surveying best practices in the space and beyond it in order to find the best approach that threads the needle between (1) giving thanks and attributions; (2) keeping our project as easy as possible to fork and encouraging collaboration and building on top of our ideas; and (3) respecting existing norms and best practices.

In that spirit, we’d love to learn from you as well — what are you basing these practices on?

@chiro-hiro
Copy link
Author

chiro-hiro commented Aug 7, 2023

Hi @shahar4, that's great to hear that you guys start working on it and take it seriously.

I've spent years to learn about open source and open source license. In this case, the main issue isn't about license compatibility since both projects were licensed under neither MIT or Apache License 2.0 (APL2.0) but the issue is violating the license.

My conclusion was based on https://www.apache.org/legal/apply-license.html and https://opensource.org/license/mit/.

Let's see what were wrong.

1. You shouldn't remove the license files

You might notice that every license have two forms a full-length and a short-form (e.g APL2.0 Header). The full-length license used to on the root folder and it will cover the rest of the project in many cases. If there is some files with the different license, then the license in the short-form can include in the header of the code. Both APL2.0 and MIT allowed you to copy/update the code but you must include the license and copyright.

MIT

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

APL2.0 - 4.a, 4.b, 4.c, 4.d

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

2. Keep the copyright notice

Both MIT and APL2.0 allows you to add your copyright section but remove the old records are prohibited. You could check two news licenses in this PR for more detail and check the NOTICE file. The APL2.0 is more strict for the copyright, you're only hold the copyright for the changes you made.

MIT

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

APL2.0 - 4

      You may add Your own copyright statement to Your modifications and
     may provide additional or different license terms and conditions
     for use, reproduction, or distribution of Your modifications, or
     for any such Derivative Works as a whole, provided Your use,
     reproduction, and distribution of the Work otherwise complies with
     the conditions stated in this License.

@shahar4
Copy link
Contributor

shahar4 commented Aug 11, 2023

Hey @chiro-hiro, Thank you so much for your taking the time to add context to your feedback! As I mentioned above, we're reviewing best practices and so this is very helpful! We will not merge this PR as the way we applied attribution & licenses does adhere to the requirements of the licenses, but will absolutely learn from your suggested patterns.

When we come up with our strategy we’ll share it and invite some more feedback!

Copy link

@KK68HK KK68HK left a comment

Choose a reason for hiding this comment

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

Trust.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants