OpenJDK 关于生成式人工智能的临时政策
摘要
OpenJDK 宣布了一项临时政策,禁止包含由大型语言模型或类似人工智能工具生成的内容的贡献,理由是会增加审阅者负担、带来安全及知识产权风险;贡献者仍可私下使用此类工具进行理解和调试。
暂无内容
查看缓存全文
缓存时间: 2026/07/30 13:49
# OpenJDK 关于生成式人工智能的临时政策
来源:https://openjdk.org/legal/ai
生成式AI领域正在快速发展。它带来了提高开发者生产力的诱人机遇,但也带来了风险:对审阅者负担、安全与安保以及知识产权的风险。
Oracle 作为 OpenJDK 社区的企业赞助商,正在起草一项完整的政策,以规范 OpenJDK 贡献中使用生成式AI工具的行为。Oracle 将在适当的时候向 OpenJDK 管理委员会提出该政策。在该政策出台之前,管理委员会已批准以下临时政策:
> OpenJDK 社区的贡献不得包含由大语言模型、扩散模型或类似深度学习系统部分或全部生成的内容。在此上下文中,内容包括但不限于 OpenJDK Git 仓库、GitHub 拉取请求、电子邮件、维基页面和 JBS 问题中的源代码、文本和图像。OpenJDK 社区的贡献者可以私下使用生成式AI工具来帮助理解、调试和审查 OpenJDK 代码及其他内容,以及进行与 OpenJDK 项目相关的研究,前提是他们不贡献由这些工具生成的内容。
这项临时政策旨在鼓励使用生成式AI工具的方式,这些方式能限制其风险,同时我们积累更多经验,为完整政策提供依据。
## 常见问题解答
1. *使用生成式AI工具对审阅者负担有哪些风险?* 生成式AI工具本质上是轻松产生大量看似合理的代码和测试,但这些代码仍然不正确,或者即使正确,设计也很糟糕,因此难以维护。审阅此类代码的提交很容易消耗人类审阅者本已有限的时间。因此,一些开源社区即使没有禁止,也限制了由生成式AI工具生成的代码的提交。
2. *使用生成式AI工具对安全与安保有哪些风险?* JDK 在 OpenJDK 社区中开发并维护,是 Java 平台的主要实现。它位于全球企业、政府和其他组织中关键任务系统的基础。安全与安保至关重要。看似合理但不正确的代码会使这些关键属性面临风险。
3. *使用生成式AI工具的知识产权风险有哪些?* Oracle 贡献者协议(OCA)要求贡献者拥有每个贡献的知识产权,并且能够不受限制地将这些权利授予 Oracle。然而,大多数生成式AI工具是在受版权和许可保护的内容上训练的,其输出可能包含侵犯这些版权和许可的内容,因此贡献此类内容将违反 OCA。生成式AI工具的用户是否拥有该工具生成内容的知识产权,是当前诉讼的主题。
4. *尽管存在这些风险,生成式AI工具也能提供显著价值。OpenJDK 贡献者是否完全被禁止使用它们?* 不是。正如政策所说,欢迎您使用此类工具来帮助理解、调试和审查 OpenJDK 代码及其他内容。来自其他社区的轶事证据表明,对于拥有大型代码库的既有项目,生成式AI工具的亮点在于分析现有代码,而非创建新代码。这与我们迄今为止的经验一致。
5. *“私下”使用生成式AI工具是什么意思?* 该术语的意图是强调您可以自己使用这些工具,而不贡献它们生成的内容。这并不意味着您不能,例如,与同事分享和讨论此类工具的输出。分享此类内容时,请考虑添加显眼的评论,标识其为 AI 生成。
6. *我是否可以继续使用编辑器或 IDE 中的拼写检查、语法检查、自动补全和重构功能?* 可以,只要它们不是基于大语言模型或类似深度学习系统。
7. *我是否可以使用生成式AI工具来审查 JEP 草案、JavaDoc 或其他文档,前提是我自己编写所有文本?* 可以。这显然是使用生成式AI工具审查内容的情况,这是允许的。
8. *如果我使用生成式AI工具创建了 100 行代码,然后自己编辑了其中十行,我可以贡献结果吗?* 不可以。您的贡献仍然部分包含 AI 生成的代码。
9. *我们是否可以改进任何工具来帮助提醒贡献者注意此政策?* 可以。我们很快将重新配置 Skara,在 GitHub 上每个拉取请求的主体中添加一个复选框。当您创建拉取请求时,必须选中该复选框,以确认您的贡献符合该政策。更多详细信息,包括如何将复选框添加到现有拉取请求的主体,请参阅维基(https://wiki.openjdk.org/spaces/SKARA/pages/56524965/FAQ#FAQ-OpenJDKInterimAIPolicy)。
10. *在 OpenJDK 项目中,添加一个调用外部 AI 服务的功能可以吗?* 这取决于该服务的服务条款,因此这相当于一个法律问题。请注意,许多此类服务条款对服务的使用方式设置了严格限制。请酌情咨询您的律师或雇主的律师,并确保项目中有权益关系的所有人都已咨询了适当的律师。
11. *作为 OpenJDK 项目的审阅者,我是否有责任检测贡献者何时提交了使用生成式AI工具创建的代码或其他内容?* 在这个角色中,您已经被期望尽力确保传入的贡献符合 OpenJDK 社区的政策和惯例。通常,可靠地区分人类生成的内容和 AI 生成的内容是不可能的。但是,如果您看到证据表明贡献中的内容是用生成式AI工具创建的,那么您有责任将此事实通知贡献者。如果贡献者没有积极响应并删除该内容,请将该情况提请适当的项目负责人注意。
12. *使用生成式AI工具创建的内容有哪些明显的迹象?* 有时很明显,例如当贡献者发起拉取请求的个人分支中的提交消息包含 `Co-Authored-By` 尾行,归功于特定的生成式AI工具。其他时候则更为微妙,例如贡献者在拉取请求讨论或电子邮件中的评论风格变得闲聊、冗长,与以往写作不一致。其他线索包括具有多个标题的高度结构化评论、代码中的不必要注释、过度防御性编程以及使用表情符号。生成式AI工具正在快速发展,因此今天有效的迹象明天可能就不再有效。一般来说,如果拉取请求中的某些内容显得异常欢快或一丝不苟,那么您可能正在看 AI 生成的内容。
日期:2026年4月9日
相似文章
Oracle 禁止在 OpenJDK 贡献中使用 AI 生成的代码
Oracle 已禁止在 OpenJDK 贡献中使用 AI 生成的代码,理由是安全与知识产权风险,尽管其自身在内部大量使用 AI,并投资了 700 亿美元建设数据中心。
Java团队如何为AI生成的代码设置防护措施?
本文探讨了Java开发团队如何建立防护措施和最佳实践,以管理AI生成代码的质量、安全性和可靠性。
Debian 投票允许“负责任地使用生成式 AI”
Debian 开发者投票允许在项目中负责任地使用生成式 AI 工具,制定了要求人工审查和质量标准以确保 AI 辅助贡献的准则。
GCC 指导委员会宣布 AI 政策
GCC 指导委员会已通过一项 AI 贡献政策,该政策将拒绝包含 LLM 生成内容的具有法律意义的贡献,但测试用例除外,同时允许 LLM 用于研究和分析。
AI与Creative Commons的毁灭
文章讨论了生成式AI模型如何破坏软件中版权与开放性之间的平衡,威胁Creative Commons和互联网的基本原则。