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

Use ASF 3rd Party License Policy for module evaluation #79

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

julianladisch
Copy link
Contributor

@julianladisch julianladisch commented Oct 7, 2024

The current third party dependency criterium is not actionable:

Third party dependencies use an Apache 2.0 compatible license

The missing list of allowed licenses creates some difficulties for module developers and module evaluators and requires verbose explanations that can easily been avoided.

Change the criterium to what we usually use:

Inclusion of third party dependencies complies with ASF 3rd Party License Policy

  • org.z3950.zing:cql-java is allowed if appropriately labelled, even if it is LGPL-2.1-only
  • org.marc4j:marc4j is allowed if appropriately labelled, even if it is LGPL-2.1-or-later
  • org.hibernate.* is allowed if appropriately labelled, even if it is LGPL-2.1-or-later

The exemption of cql-java is needed because Spring Way modules frequently use folio-spring-cql that uses cql2pgjson that uses cql-java:

The exemption of marc4j is needed because several modules already use it:

The exemption of hibernate is needed because most Spring way modules already use it, it's a Spring Framework dependency.

This criterium can be changed as soon as better third party requirements get proposed.

Automation of the license compliance check is out of scope of this pull request.

To current third party dependency criterium is not actionable:

> Third party dependencies use an Apache 2.0 compatible license

This creates some difficulties for module developers and module evaluators
and requires verbose explanations that can easily been avoided.

Change to what we usually use:

> Inclusion of third party dependencies complies with [ASF 3rd Party License Policy](https://apache.org/legal/resolved.html)
> * org.z3950.zing:cql-java is allowed, even if it is LGPL-2.1-only

The exemption of cql-java is needed because Spring Way modules frequently use
folio-spring-cql that uses cql2pgjson that uses cql-java:

* https://github.com/search?q=org%3Afolio-org+folio-spring-cql+language%3A%22Maven+POM%22&type=code&l=Maven+POM
* https://github.com/folio-org/folio-spring-support/blob/v8.1.2/folio-spring-cql/pom.xml#L35
* https://github.com/folio-org/raml-module-builder/blob/v35.2.2/cql2pgjson/pom.xml#L58

This criterium can be changed as soon as better third party requirements
get proposed.
@julianladisch julianladisch requested a review from a team as a code owner October 7, 2024 22:13
Copy link
Member

@maccabeelevine maccabeelevine left a comment

Choose a reason for hiding this comment

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

Thanks @julianladisch, IMHO what you did with Category B looks great.

If TC agrees, we should discuss how to communicate that to dev teams, as it would be a change.

* Third party dependencies use an Apache 2.0 compatible license (2)
* Inclusion of third party dependencies complies with [ASF 3rd Party License Policy](https://apache.org/legal/resolved.html) (2)
* Uses README for [Category B Appropriately Labelled Condition](https://apache.org/legal/resolved.html#appropriately-labelled-condition)
* org.z3950.zing:cql-java is allowed, even if it is LGPL-2.1-only
Copy link
Member

Choose a reason for hiding this comment

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

I see why you noted this exception, and it makes sense to me. But is there any action we should take for

This criterium can be changed as soon as better third party requirements get proposed.

?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, anyone can raise a proposal for better third party requirements at any time.

@julianladisch julianladisch requested a review from a team November 19, 2024 09:18
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.

2 participants