Py学习  »  Git

迁移进行时,告别GitHub的时候到了?

AI前线 • 1 年前 • 165 次点击  

整理 | 晓亮、钰莹
上周,SFC(软件自由保护协会)在自己的官方博客发布的一篇名为“Give Up GitHub: The Time Has Come!”的文章在 Hacker News 上引发了网友的激烈讨论。

本周,开源项目 kyoto(一个用 go 语言编写的前端工具库)就宣布将从 Github 迁移至其他平台。后续还将有多少项目选择迁移尚未可知,但背后的原因值得探究。
迁出 GitHub

kyoto 开源项目的负责人表示:GitHub 最近的更新和公司的整体政策与我对开源项目的愿景背道而驰。这个观点得到了很多人的认同(https://sfconservancy.org/GiveUpGitHub/)。所以我决定把项目移到sr.ht,这样的政策和行动更加透明。

虽未明确提及“最近的更新”是什么,但联想到 SFC 发布的文章,大概率指向 Copilot 商业化。

早在 SFC 这篇文章发布之前,Arm 就宣布将公司的多个开源项目从 GitHub 迁移至 GitLab。在当时的文章中,Arm 提到的一些观点与 SFC 不谋而合。

Arm 之前一直使用 GitHub 进行代码托管,但当前部署的大部分新型核心基础设施都运行在专有硬件之上。“GitHub 其实是个黑箱,我们必须与之合作、或者把一部分工作交给对方来完成,而最终结果并不一定准确可靠,使得我们不得不规划更多审查。GitHub 用的都是私有和专有代码……于是我们决定选择 GitLab。”

另外,Arm 也很担心托管在 GitHub 上的开源软件项目引发代码所有权争议。毕竟像 GitLab 这样的系统解决方案更适合广泛选项、良好成本效益并尽可能削弱供应商锁定等实际需求。面向 GitLab 的自托管迁移不仅有助于协作效率,同时也允许 Arm 软件继续被托管在自家技术堆栈之上。

延伸阅读:

《ARM 开源项目从 GitHub 迁移至 GitLab》

https://www.infoq.cn/article/7Jti3m3cGs6a71RYzEz9

不难看出,Copilot 商业化背后涉及的代码版权和许可问题以及 GitHub 完全黑盒的专有基础设施成为迁移的核心矛盾。

核心问题一:Copilot 商业化

SFC 在文章中对 GitHub 的许多行为进行了控诉,列举了 GitHub 的多条罪状。同时呼吁大家停止使用 GitHub,摆脱 GitHub 的长期控制,而 Copilot 商业化成为了整起事件的导火索。

作为一款 AI 结对编程工具,Copilot 的主要定位是提供类似 IntelliSense/IntelliCode 的代码补全与建议功能。

它用起来感觉真的很神奇。比如说,输入一个函数的名称和文档字符串,该函数应该“Write text to file fname”:

上图里函数的灰色主体完全是 Copilot 编写的!按一下键盘上的 Tab 就可以接受建议,并插入到代码中。

但这个项目自诞生起就饱受争议,因为该项目是基于 GitHub 平台庞大的开源项目代码训练而来,这种做法是否道德以及是否存在版权问题已经引发了开发者很长时间的讨论。在 Copilot 宣布商业化之后,这种争论越来越多。简单来说,你用我的开源代码训练完自己的 AI 模型,然后还准备自己获利,这个是很多项目所有者不能忍的。

SFC 一直在就此事件与微软和 GitHub 进行沟通,SFC 提出了几个问题,都没有得到明确的答复。半年之后,SFC 将问题公开,并成立专家委员会,希望大家重点考虑 AI 辅助软件的道德影响问题。同时,SFC 还组织了公开讨论活动,但邀请微软与 GitHub 代表参与讨论时被无视。近期,GitHub 做出答复,称不会参与关于此问题的任何公开或内部讨论,理由是“(关于 AI 辅助软件的道德)的广泛对话似乎不太可能改变贵方(软件自由保护协会)的立场,因此我们(GitHub)没有回应贵方的具体问题。”SFC 认为即便是如此敷衍的回答也要等待一年之久是非常不尊重人的事情。

而 Copilot 的收费则是直接惹怒了 SFC,“以 Copilot 的方式推出不尊重 FOSS 社区意见的营利性产品,是不道德的。”SFC 表示。

以下是 SFC 向微软 /GitHub 提出的三个问题。

1、在微软和 GitHub 的公开声明中,贵方依托的是什么判例法?GitHub 当时的 CEO 曾表示:“1)在公共数据上训练机器学习系统属于合理行为;2)输出结果属于操作者,其性质类似于编译器”。

2、Copilot 能够在任意代码上训练模型(并允许用户基于该模型生成代码)且不受任何许可条款的约束,那么为什么只使用开源软件来训练 Copilot 模型?比如为什么不把微软 Windows 和 Office 代码纳入训练代码集?

3、能否提供一份用于 Copilot 训练集的许可证清单,包括版权所有者或 Git repo 名称?如果无法提供,为什么要向社区隐瞒这些信息?

微软 /GitHub 仅对第一个问题进行了回答。SFC 认为,GitHub 的沉默其实侧面反映出他们也不知道自己侵犯了谁的版权、什么时候侵犯的、怎么侵犯的。鉴于此,SFC 呼吁所有 FOSS 开发者脱离 GitHub,虽然放弃 GitHub 需要付出很多,牺牲很多,但只有这样才能向 GitHub 和微软的不良行为表达抗议。

核心问题二:完全黑盒的专有基础设施

GitHub 与大多数同行不同,GitHub 甚至不提供任何自我托管 FOSS 项目的选项,他们的整个代码库是秘密的。尽管 SFC 对 GitLab 的 "社区 "和 "企业 "版并行的商业模式有不满,但至少 GitLab 的社区版提供了自我托管的基本功能,而且是 100% 的 FOSS。同时,还有一些非营利性的 FOSS 托管网站,如 CodeBerg,他们将自己的平台公开开发为 FOSS。

这也是 Arm 着重吐槽的一个方面,完全黑盒的专有基础设施让项目拥有者多少有些不爽。当然,GitHub 也开发了一些专有软件。

过去十年,GitHub 已成为 FOSS 开发的主导力量,他们构建了友好的用户界面,将社交交互功能引入 Git 技术,但 Git 的设计初衷,只是希望在没有集中站点的情况下实现分布式软件开发。凭借 Git 与 SourceForge 的经验,GitHub 迅速吸引了全球的开发者在其平台上构建 FOSS。GitHub 希望从这些专有产品身上,尤其是想要使用 GitHub 工具开发内部专有软件的用户身上获利,不过 GitHub 也为这些项目提供了优秀的服务。

但纵观各大科技巨头在免费产品中精心设计的“套路”,你会意识到,“如果你不是他们的客户,就会成为他们的产品”。FOSS 的开发方法已经成为 GitHub 的产品,并且在广大开发者或主动、或被动的支持下完成了专有化与重新打包。于是乎,FOSS 开发者们陷入了温水煮青蛙的糟糕境地,随着 GitHub 的行为越来越出格,大家从气愤到原谅,再到忽略甚至变得逆来顺受。

放弃 GitHub 的其他理由

此外,SFC 还列举了一下 GitHub 不合理的其他行为:

  • 2020 年,GitHub 与 ICE(美国移民与海关执法局)签订营利性软件服务合同,此事引起许多开发人员的抗议。近两年内,包括 GitHub 的员工在内一直有人呼吁 GitHub 取消该合同。但 GitHub 的答复是,他们的母公司微软多年来一直将 Microsoft Word 出售给 ICE,并没有什么公众投诉。

  • GitHub 由微软全资拥有,该公司高管历年来多次攻击 Copyleft 许可。GitHub 长期以来一直在试图诋毁 Copyleft,包括在演讲中攻击 Copyleft 和 GCP,其员工也在许多场合争论以说服项目避免使用 Copyleft。

SFC 提到目前市场上已经出现了替代方案,也许完成度还不是特别高,但大家可以参与其中帮忙改进。放弃 GitHub 意味着要付出巨大的牺牲和时间成本,却势在必行。

通过 Copilot 及核心托管服务,GitHub 的行为已经在业内造成恶劣影响。SFC 表示也不会寄希望于亚马逊、Atlassian、GitLab 或者任何其他营利性托管商是什么脱离世俗的圣贤,只是单从行动角度来比较,GitHub 无疑要恶劣得多。GitHub 之前就曾多次无视、驳回及 / 或贬低社区提交的多项投诉,因此 SFC 敦促所有 FOSS 开发者尽快脱离 GitHub,共同夺回本应属于 FOSS 的开发世界。

参考链接:

https://sfconservancy.org/blog/2022/jun/30/give-up-github-launch/

https://giveupgithub.org/

今日荐文

点击下方图片即可阅读

开课吧回应欠薪、停缴社保等问题;腾讯 QQ 回应大规模账号被盗;特斯拉员工抱怨工位挤、网络慢 | AI 一周资讯


你也「在看」吗?👇

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/136785
 
165 次点击