当前位置: 首页 > 科技观察

苹果热门项目首席维护者:开源不易,GitHub不值得信任

时间:2023-03-22 13:00:17 科技观察

我们此前曾报道,GitHub封杀了受美制裁企业的俄罗斯开发者账号。平台的这一举动不可避免地会产生一些破坏性的副作用。Apple开发者社区中两个热门项目Quick和Nimble的首席维护者JesseSquires最近发文抱怨称,“但GitHub似乎没有充分考虑到这一点,因为这些账户的暂停正在搞砸我的项目。”Jesse在个人博客中指出,Quick5.0版本已于日前发布。在发布前一周,他审查并合并了许多PR;但是当他准备写发行说明时,神奇的事情发生了——一些PR被删除了,而且,整个贡献者的存在都消失了。.“他们对问题的所有评论都消失了,他们打开的所有问题都消失了,他们打开的所有PR都消失了。与该用户相关的所有活动都消失了。他妈的怎么回事?“Jesse接受了PR#1129,这是项目中的一个关键错误修复,举个例子。从GitHub上自动生成的releasenotes可以看到这一行:@BobCatCmadetheirfirstcontributionin#1129"ButtheuseraccountandPRresultsareall404.但是你可以在这里找到mergecommit,这都是关于这一变化的历史”。MaintainerRachelBrindle也开了一个PR(另一个重要的bugfix),但是原来引入这个bug的PR也被移除了。“介绍它的原始PR后来被删除了,所以我不确定这个贡献的确切意图。”在短暂的迷茫之后,杰西终于意识到,这些“神秘失踪”都是因为GitHub轻率地暂停了俄罗斯开发受害者的账户,而没有考虑到由此带来的毁灭性副作用。几个Quick贡献者帐户已被禁止,“这意味着我们已经失去了除了原始提交历史之外的所有贡献。”我不知道GitHub暂停这些帐户的目的是什么,但对于任何拥有Nowthatsuspendedaccountshaveinteractedwithopensourceprojects的人来说,这似乎具有难以置信的破坏性。在Twitter等服务中,您可以转到已暂停帐户的占位符配置文件,并看到一条消息,表明该帐户已被禁用,而其他用户对该帐户的@mentions仍然链接到已禁用的帐户信息。在GitHub上,情况完全不是这样。显然,在GitHub上“暂停帐户”实际上意味着删除用户的所有活动。这导致(1)被暂停帐户的每个PR都被删除,(2)被暂停帐户打开的每个问题都被删除,以及(3)对被暂停帐户的每个评论或讨论都被删除。实际上,用户的整个活动和历史都被蒸发了;所有这些有价值的数据都丢失了,唯一剩下的就是原始的Git提交历史。就好像这个用户从未存在过一样。同样,目前我不清楚数据丢失是GitHub的目标还是这是一个错误。无论如何,这是一个巨大的问题。在没有通知的情况下删除这些数据是对信任的滥用。我们是否应该继续将重要数据存储在GitHub上?除了此前声明将“服务于所有开发者,包括俄罗斯开发者”之外,GitHub并未发布任何有关当前封禁通知或通讯的信息。“这绝对令人困惑,”杰西说。我只在我接手的这个项目上工作了一个星期左右,试图像一个好的维护者一样勤奋地跟踪变化,然后各种奇怪的、意想不到的怪事开始发生。我不知道的是,GitHub正悄悄加入西方世界的其他国家,惩罚无辜的俄罗斯平民……我不明白删除GitHub帐户并导致平民粮食短缺的“胜利”是谁的。据我所知,失踪的贡献者只是对社区开源项目感兴趣的普通iOS和macOS开发人员。GitHub的这些行为对开源项目和开源社区是有害和有害的。突然之间,我看到积极为该项目做出贡献的用户的PR、问题和评论消失了。我们失去了关于问题和PR的宝贵贡献、信息、背景和讨论历史,我们甚至失去了公开和积极审查的PR。这些工作现在完全永久地消失了。对于合并的拉取请求,我们有原始的提交历史,但这不能替代完整的代码审查和讨论。维护开源项目已经很困难了。接管一个被忽视的旧项目并试图让它重回正轨更加困难。在这种情况下,每个PR、问题和评论对于项目的长期维护和成功都很重要。评论、讨论和代码审查提供了有价值的背景信息,这些信息并不总是反映在提交历史中,特别是对于多年来经过多个维护者的开源项目。我认为GitHub的正确解决方案是保留所有贡献,冻结可疑账户以防止未来活动,并在账户个人资料页面上明确标记暂停。然后,在可能的情况下,重新启用这些帐户。但显然,GitHub决定最好的办法是将其全部删除。所以,感谢GitHub把事情搞砸了。本文转自OSCHINA文章标题:苹果热门项目首席维护者:开源不易,GitHub不可信