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

docs: improve license application #783

Merged
merged 3 commits into from
Jul 5, 2022

Conversation

char0n
Copy link
Collaborator

@char0n char0n commented May 4, 2022

Refs #711


I understand that changing anything around the license is always very precarious. Nevertheless I've created this PR to demonstrate what I describe in #711.

- use canonical version of the license
- use license without rewording
- use NOTICE file to provide copyright notice

Refs asyncapi#711
dalelane
dalelane previously approved these changes May 5, 2022
Copy link
Collaborator

@dalelane dalelane left a comment

Choose a reason for hiding this comment

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

IANAL so this is a very hesitant "approve", but #711 makes a convincing argument :-)

Copy link
Member

@derberg derberg left a comment

Choose a reason for hiding this comment

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

NOTICE looks consistent with the official statement -> https://infra.apache.org/apply-license.html. I made only one small suggestion

I'm not sure about modifications in LICENSE file though. Official document is not clear and I see OpenAPI and CloudEvents folks do it the way we do it 🤔

NOTICE Outdated Show resolved Hide resolved
Co-authored-by: Lukasz Gornicki <lpgornicki@gmail.com>
@sonarcloud
Copy link

sonarcloud bot commented May 10, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@char0n
Copy link
Collaborator Author

char0n commented May 10, 2022

NOTICE looks consistent with the official statement -> https://infra.apache.org/apply-license.html. I made only one small suggestion

Suggestion accepted, thanks.

I'm not sure about modifications in LICENSE file though. Official document is not clear and I see OpenAPI and CloudEvents folks do it the way we do it thinking

Yes many projects do it like that. They modify the canonical license text, specifically the appendix which is intended to be copied to source file headers and then be modified. By doing this modification one can say that copyright notice is specific to the license text modification and not the creative work it tries to license. But again, I'm not a layer, I just proposed a way how to enhance the license application as recommended by Apache Foundation.

@derberg
Copy link
Member

derberg commented May 10, 2022

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.

it's just that ☝🏼 sounds like we should actually modify the license file with info about Linux Foundation.
I haven't found any official info from Apache that we should do it your proposed way, except for the NOTICE

@char0n
Copy link
Collaborator Author

char0n commented May 10, 2022

Right, so what is says is that if you have file called index.js with following content:

export const variable = 1;

and want to apply the Apache 2.0 license to it explicitly, you take boilerplate from the license appendix, amend the copyright notice:

   Copyright 2021-2022 AsyncAPI Initiative

   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.

and apply it to the index.js file in following way:

//   Copyright 2021-2022 AsyncAPI Initiative
//
//   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.

export const variable = 1;

This is usually done in Java and C, C++ projects. Every file in the source code has a license header. That's why the licence talk about the file comment format: The text should be enclosed in the appropriate comment syntax for the file format. Every source file has different comment mechanism in different languages.

@derberg
Copy link
Member

derberg commented May 10, 2022

oh yes, now I get it!!! thanks so much @char0n for your patience.

LGTM 🚀

@dalelane please have a look again
@fmvilas have a look sir

@fmvilas
Copy link
Member

fmvilas commented Jul 5, 2022

/au

@sonarcloud
Copy link

sonarcloud bot commented Jul 5, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@fmvilas
Copy link
Member

fmvilas commented Jul 5, 2022

/rtm

@asyncapi-bot asyncapi-bot merged commit b7dc55f into asyncapi:master Jul 5, 2022
@asyncapi-bot
Copy link
Contributor

🎉 This PR is included in version 2.5.0-next-major-spec.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@fmvilas
Copy link
Member

fmvilas commented Sep 22, 2022

Forget about the last comment saying it was released in version 2.5.0-next-major-spec.1. I made a mistake and it created this version but it should actually be 3.0.0-next-major-spec.1. There's a notice in the release. Apologies for the noise.

@asyncapi-bot
Copy link
Contributor

🎉 This PR is included in version 2.5.0-next-spec.5 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@derberg
Copy link
Member

derberg commented Jan 31, 2023

Recent comments about the release from the bot were added by mistake. More details in #899

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

Successfully merging this pull request may close these issues.

5 participants