Maven Central发布商业制品:是否需共享源码URL?合规咨询
Maven Central商用制品发布:SCM URL要求澄清
首先直接给你明确结论:Maven Central要求的SCM URL并不强制你共享完整的商用源码,你完全可以用指向公开演示/文档仓库的链接来满足要求,只要这个仓库能提供项目的基本可追溯信息。
接下来详细拆解下细节:
- SCM字段的核心目的:Maven Central要求
<scm>配置,是为了让用户(和审核团队)能找到项目的"来源追踪入口",比如版本变更记录、项目文档、示例代码等,而不是必须公开所有核心业务代码。 - 针对非开源商用项目的可行配置:
- 你可以创建一个公开的代码托管仓库(比如GitHub),里面只放项目的使用文档、示例代码、构建配置模板,甚至只是版本发布日志,不需要上传商用核心源码。
- 确保你的pom.xml里的
<scm>配置符合规范,比如:<scm> <url>https://github.com/your-org/your-project-demo</url> <connection>scm:git:https://github.com/your-org/your-project-demo.git</connection> <developerConnection>scm:git:https://github.com/your-org/your-project-demo.git</developerConnection> </scm>
- 关键注意事项:
- 这个仓库不能是空的,也不能和你的项目完全无关,审核团队会验证链接的有效性和关联性,比如仓库里要有和你发布的制品相关的信息(比如artifactId、版本号相关的文档)。
- 绝对不要把商用核心代码放到这个公开仓库里,只放你愿意对外公开的内容即可,完全不用担心源码泄露的问题。
- 另外补充:Maven Central对制品的许可证有明确要求,你的商用项目需要在pom里正确声明对应的许可证(比如自定义商用许可证),这部分和SCM配置是独立的,但也是审核的必要条件。
如果提交审核时遇到疑问,你可以在工单里明确说明这是商用非开源项目,SCM链接指向的是公开演示/文档仓库,审核团队一般会认可这种配置。
内容的提问来源于stack exchange,提问作者Karthikk
相关产品推荐
相关产品推荐

