文章摘要
GitHub社区讨论如何解决低质量代码贡献问题,涉及改进代码审查流程、提升贡献指南等措施,旨在维护项目质量。
文章总结
GitHub社区讨论:应对低质量贡献的解决方案
核心问题
GitHub维护者面临日益增多的低质量贡献问题,主要表现为: - 不符合项目指南 - 提交后迅速被放弃 - 大量AI生成内容 - 增加了维护者的审核负担
解决方案探讨
短期措施: 1. 仓库级PR控制 - 完全禁用PR(长期需求,自2016年起) - 限制PR仅限协作者提交 2. 从UI删除PR的功能 - 帮助维护者清理垃圾或低质量PR
长期方向: 1. 增强权限模型 - 更精细的PR创建和审核控制 - 允许维护者定义PR提交前的必须条件 2. 改进分类工具 - 利用AI评估贡献是否符合项目标准 3. AI辅助贡献的透明度 - 提升AI工具在PR生命周期中的可见性和归属
社区反馈
AI检测机制
- 建议设置仓库或组织级的AI生成代码检测阈值
- 通过规则或提示词自动标记或关闭不符合要求的PR
PR删除限制
- 建议设置时间限制(如一周内可删除),避免滥用
- 公开仓库应保留PR内容以供查看
AI生成代码的挑战
- 审核信任模型被破坏:作者可能不理解提交的代码
- AI生成的代码可能结构正确但逻辑错误
- 维护者需同时评估代码和作者的理解程度
激励结构调整
- 鼓励贡献者撰写高质量问题描述而非直接提交PR
- 通过机制认可非代码类贡献(如问题讨论)
争议点
- 部分用户反对AI工具介入,认为这会破坏开源平等性
- 对“外部贡献者”定义和权限控制的争议
下一步
GitHub团队将继续收集反馈,优先开发维护者最需要的工具,同时确保解决方案不会增加额外复杂性。讨论重点将围绕如何平衡开放性和维护效率展开。
(注:原文中的导航菜单、登录选项、用户头像等非核心内容已省略,仅保留与主题直接相关的讨论和解决方案。)
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
支持禁用PR功能
- 认为这是合理的举措,GitHub作为代码托管平台需要只读仓库(评论4:"It's a founded move... there are both grounds and needs for read-only repos without PRs")
- 维护者有权拒绝低质量贡献(评论5:"I've started aggressively blocking low-quality contributions")
建议改进PR机制
- 主张用AI拆分变更内容(评论2:"We should be using ai to chunk changes into reviewable bytes")
- 建议设置"贡献者请求"门槛(评论6:"Maybe a 'Contributor Requests'... Once approved, The PR will then appear under PRs")
反对禁用PR功能
- 认为PR透明度很重要(评论8:"I want to see how maintainers handle that... Don't hide away from your preferences")
- 分叉方案不实际(评论7:"There needs to be an easy way to publish, discover, and require community patches")
其他建议
- 建立用户信誉系统(评论9:"some kind of internal karma system... their contributions should be flagged")
- 支持付费提issue(评论10:"require a payment before allowing an Issue to be opened")
关键争议点集中在: - PR的透明度价值(评论8:"Turning PRs off is the software equivalent of hardware makers turning off support") - 维护者权益与社区贡献的平衡(评论6:"this is opt in" vs 评论8:"ignore them like many already do")