防止公共GitHub仓库的复刻 | AI生成和翻译

Home 2026.05

问题: 在 GitHub 公共仓库中,如何阻止或禁止复刻(fork)?

答案:

你无法完全阻止对 公共 GitHub 仓库的复刻——这是 GitHub 的核心功能,也是开源社交契约的一部分。GitHub 没有提供原生设置来禁用公共仓库的复刻功能。

不过,根据你的实际目标,有以下几种可行方案:


方案 1:将仓库设为私有(唯一真正的技术封锁)

私有仓库支持复刻限制:

公共仓库不存在此控制选项。


方案 2:使用限制性许可证

你无法阻止 GitHub 界面上的复刻按钮,但可以通过法律手段限制他人对复刻的使用:

# 在 LICENSE 文件中:
Copyright (c) 2026 李智维。保留所有权利。
未经许可,不得复制或分发本软件的任何部分。

这不会阻止按钮——但会使复刻行为构成法律侵权。


方案 3:GitHub Enterprise / 组织设置(针对组织公共仓库)

如果你使用的是 GitHub Enterprise,组织拥有更多控制权。但即便如此,公共仓库的复刻限制也不是标准功能。


诚实回答

目标 解决方案
完全阻止复刻按钮 ❌ 公共仓库不可行
防止合法复用 ✅ 限制性许可证
阻止组织内的复刻 ✅ 设为私有 + 在组织设置中禁用复刻
完全阻止复刻 ✅ 将仓库设为私有

如果你的目标是公开分享代码但限制使用(常见于商业开放核心项目),BSL 或自定义专有许可证是行业标准做法——HashiCorp 在 OpenTofu 复刻 Terraform 之前采取的就是这一策略。


Back Donate