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

Classes NonNull, NonNullApi, NonNullFields, Nullable: copyright infringement? #2421

Closed
patrick-vonsteht opened this issue Jan 31, 2021 · 3 comments
Labels
type: task A general task
Milestone

Comments

@patrick-vonsteht
Copy link

It seems that the following files are modifications of files originally published as part of the Spring framework:

https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/lang/NonNull.java
https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/lang/NonNullApi.java
https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/lang/NonNullFields.java
https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/lang/Nullable.java

The original files can be found at:

https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/lang/NonNull.java
https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/lang/NonNullApi.java
https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/lang/NonNullFields.java
https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/lang/Nullable.java

For proper licensing, the modified files must adhere to the following conditions, which they currently don't do:

  • Apache License 2.0 §4(b): You must cause any modified files to carry prominent notices stating that You changed the files; and
  • Apache License 2.0 §4(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;
@jkschneider
Copy link
Contributor

I fail to see the real concern here. These are incredibly boilerplate.

@patrick-vonsteht
Copy link
Author

It is both a matter of law and of respect to the original developers.

Maybe one could argue that the code is too simple to be copyrightable. As I'm not a copyright lawyer I can't make an educated statement about this. But the javadoc has also been copied verbatim. And this quite certainly crosses the line concerning copyright infringement.

Also the commit history of the files clearly shows that they have been copied from Spring and then later edited to remove all references to Spring. So it is clear that this has not been coded independently, but copied from Spring. So as a matter of respect alone, the original authors should be referenced.

But as I'm none of the original authors I've got no personal stakes in this matter. So I'll leave it at this.
Ultimately it's your decision what to do about it. I have done my duty by making you aware of the issue.

@shakuzen shakuzen added the type: task A general task label Feb 3, 2021
@shakuzen shakuzen added this to the 1.3.17 milestone Feb 3, 2021
@shakuzen shakuzen reopened this Feb 3, 2021
@shakuzen shakuzen modified the milestones: 1.3.17, 1.3.18 Feb 17, 2021
@shakuzen
Copy link
Member

We are confirming some things with our legal team, so I have moved this to the 1.3.18 milestone for any additional changes. In the meantime, the changes in #2456 will be included from the 1.3.17 patch release.

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

No branches or pull requests

3 participants