[Enhancement] Remove artifacts with incompatible licenses from the classpath
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 658
- Avg merge
- 11h 29m
- Merged PRs (30d)
- 52
Description
### Search before asking
- [X] I had searched in the [issues](https://github.com/apache/eventmesh/issues?q=is%3Aissue) and found no similar issues.
### Enhancement Request
According to [ASF 3RD PARTY LICENSE POLICY](https://www.apache.org/legal/resolved.html), artifacts with specific licenses may not be distributed with EventMesh binary.
Artifacts licensed under multiple licenses and one of these licenses compatible with Apache 2.0 can be excluded from this issue's task.
### Describe the solution you'd like
Run `generateDistLicense` Gradle task (will be merged in https://github.com/apache/eventmesh/pull/4831) to collect all artifacts' licenses, and remove artifacts with incompatible licenses from the classpath.
Personal summary of license violations (There may be omissions, feel free to add):
#### LGPL-2.1-only
- [x] hibernate-commons-annotations (within JDBC Connector)
- [x] hibernate-core (within JDBC Connector)
#### The GNU General Public License, v2 with Universal FOSS Exception, v1.0
- [x] mysql-connector-j (within JDBC Connector)
> Solution examples:
> - https://github.com/apache/shardingsphere/blob/203eb3246ead643088d22eca5960396046a0313e/docs/document/content/user-manual/shardingsphere-proxy/migration/build.cn.md?plain=1#L42-L46
> - https://github.com/apache/dolphinscheduler/blob/f99d3f1ed37f1f36a51cfa2063d298f1bed5de49/docs/docs/zh/guide/howto/datasource-setting.md?plain=1#L7
> - https://github.com/apache/incubator-seata/blob/e72babb10e709c3f14b87282ad4f880cbf357d64/distribution/NOTICE.md?plain=1#L1-L2
> - https://github.com/apache/amoro/blob/13501f406bc77f36acf1ca8c59f064f5ef2f4a5e/docs/admin-guides/deployment.md?plain=1#L119-L120
#### BSD-4-Clause
- [x] ~~ST4 (within JDBC Connector)~~ The https://www.antlr.org/license.html is actually the BSD-3-Clause license.
- [ ] xsdlib (within DingTalk Connector, `com.aliyun:tea-xml` artifact)
### Related PRs
- https://github.com/apache/eventmesh/issues/4842
### Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
### Code of Conduct
- [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) *
Contributor guide
Research direction
Start by running the generateDistLicense Gradle task mentioned in the issue and review its artifact report. Trace hibernate-commons-annotations, hibernate-core, mysql-connector-j, and xsdlib through the JDBC and DingTalk connectors, then verify that incompatible artifacts are absent from the distributed classpath.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100