大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

开源的国界:维护者引用当地法律拒绝合并代码

  • 2020-09-07
  • 本文字数:1462 字

    阅读完需:约 5 分钟

开源的国界:维护者引用当地法律拒绝合并代码

开源社区已经被进一步分裂?


最近,一位非常有才华的开发者,在 GitHub 上发现了一个不错的开源 Laravel 项目。该项目主要用于生成文件的下载链接,但还差一个比较重要的功能:为特定用户分配 DownloadLink。出于对开源做贡献的心理,他完成了这部分代码,并向项目维护者提了 PR 请求。项目维护者也很快给了反应,甚至还在他的基础上添加了更多代码以及功能测试。


只是一段时间后,他意外的发现 PR 并没有被合并,对此,项目维护者是这样回复他的:


嗨,谢谢你的好主意。很抱歉的告诉你,因为我国法律有所规定,不允许和以色列的人有所关联,所以我无法合并代码。希望你能理解…


他这才发现该项目维护者来自伊朗,而他本人的 GitHub 上的个人资料显示来自以色列耶路撒冷。他形容自己“很震惊,很受伤”,毕竟这个项目不涉及到加密,也不属于军事或核相关软件项目。


至于关于该代码到底该不该合并,HackerNews 和 Reddit 上的开发者分别发表了上千条评论,态度明显的分成了两派。


其中一位曾在 Facebook 任职的伊朗开发者在 GitHub 上直接说道:“合并就完了!”



而另一派,有人反驳他说:“你让他合并完就去坐牢吗?”



“维护者因其国家/地区的法律问题,无法合并代码,这也是生活在制裁之下的人们的艰辛。如果被指控犯有叛国罪,那么他很有可能会在监狱中度过一生。”


“这跟谷歌和华为的事情类似,按照法律,谷歌也不能合并来自华为提交的开源代码。“


而且很显然这个问题目前还没有解决办法,开源 Laravel 软件包作者也只能将该 Repo 关闭,不让大家继续在 GitHub 上发表评论。


至于合并不了,网友认为 GitHub 也有推脱不掉的责任。


目前很多大公司都有“合规官”职位,负责确保公司遵守所有适用法律。看来 GitHub 也不例外,很有可能存在“合规工程师”,负责编写系统以检查用户是否符合特定条件,并会标记特殊用户。并且估计这种审查制度也一直会存在,直到到 GitHub(Microsoft)的管理层找到适当的方式,可以解决此问题为止。


在 GitHub 上,出于政治原因封禁开发者账户,从而影响开源的事情由来已久。


2019 年 7 月,一位伊朗开发者的 GitHub 账号被禁,他在社交媒体上分享了自己的经历,并向 GitHub 官方发起质询。最后他得知是因为自己的所在地伊朗受到美国制裁,整个伊朗地区的 GitHub 账号均无法使用。当时 GitHub 在没有任何事先通知的情况下屏蔽了所有伊朗账户,连让该地区开发者下载备份数据的机会都没有。


今年 3 月,GitHub 再次封禁了一个属于微软的前端开源项目 Aurelia,理由是项目中有两名来自伊朗的外部贡献者。而且每次这种封禁都会被顶到 HackerNews 头版,只是这次 Aurelia 的运气比较好,他们得到了 GitHub 首席执行官的致歉表示:“这次的确是个错误”。


对此,GitHub 最初的指导方针是:


“根据 GitHub 的服务条款,用户只能按照适用法律访问和使用 GitHub.com,包括美国出口管制和制裁法律。”

“GitHub Enterprise Server 不得出售、出口或再出口到清单中的国家,目前清单中已经包含古巴、伊朗、朝鲜、苏丹与叙利亚。”


发展到现在,这个分裂开源的举动,很显然再次蔓延了下去:伊朗的项目维护者开始抵触来自以色列的开源贡献…


开源精神最重要的是:自由贡献、自由分叉、自由使用,通过大量来自世界各地,可以完全不相识的程序员,无直接经济回报地贡献代码,在无组织结构的前提下完成高效的协作和生产。开源本应是无边界、无国界的,不会因为开发者所处的公司、所处的国家而产生不同的态度。虽然“开源”被我们给予了非常美好的期许,但现实只会更复杂。我们只有建立自己的软件生态,拥有自己独立的系统,才能应对最坏的可能。


2020-09-07 13:561669

评论

发布
暂无评论
发现更多内容

多家银行增设数字金融部 架构调整背后透露出哪些信号?

CECBC

银行

【JS】作用域(入门篇)

德育处主任

JavaScript 大前端 Web js

软件开发不同阶段的命名风格

顿晓

5月日更 命名 风格

自己在 InfoQ 平台的期冀——共同成长

liuzhen007

1 周年盛典

3.5 Go语言从入门到精通:标准输入输出fmt包

xcbeyond

Go 语言 5月日更 fmt包

Redis-技术专题-Redis分布式锁实现方案

码界西柚

redis 分布式锁 5月日更

区块链如何推动人力资源和薪酬管理体系变革?

CECBC

人力资源

未来5年或将出现颠覆型区块链应用,资产通证化将重构实体经济

CECBC

区块链

顺序一致性(Sequential Consistency)

UNDEFINED

sequential consistency Java Concurrency distributed system

高级研发工程师都有哪些特点?【超级准】

liuzhen007

技术人生 工作体会 程序猿

我与 InfoQ 写作平台的这些事

xcbeyond

个人成长 1 周年盛典 InfoQ 写作平台 1 周年 5月日更

把复杂留给自己,简单留给用户

石云升

5月日更

【LeetCode】整数反转Java题解

Albert

算法 LeetCode 5月日更

别再傻傻分不清AVSx H.26x MPEG-x了

LoveYFan

音视频

五月,开篇

程序员架构进阶

个人提升 28天写作 5月日更 总结思考

OAuth 2.0 了解了,OAuth 2.1 呢?

Zhang

OAuth 2.0 认证授权 OAuth 2.1

【LeetCode】砖墙Java题解

Albert

算法 LeetCode 5月日更

白嫖福利!阿里P7大神梳理的Java数组详细知识点,太实用了

飞飞JAva

Java

清华学霸!用18行代码讲解Java接口,程序员:果然厉害,学到了

牛哄哄的java大师

Java 接口

数字化转型能力成为中国纺织服装业未来发展的核心动能

CECBC

纺织面料

模块三作业

c

架构实战营

算法训练营 - 学习笔记 - 第四周

心在飞

网络攻防学习笔记 Day3

穿过生命散发芬芳

5月日更 网络攻防

如何提升工作效率

wangwei1237

工作效率 文化 大历史理论

让 Go 代码跑上移动端

Rayjun

Go 语言 gomobile

第八大洲环游记(一):平流层上的非洲故事

脑极体

H5和WebRTC实时通讯方案的不同

liuzhen007

5月日更

通向未来的十二个趋势

CECBC

人工智能

网络攻防学习笔记 Day2

穿过生命散发芬芳

5月日更 网络攻防

【音视频】弱网下的音视频通讯

Bob

音视频 直播技术

微服务-技术专题-微服务进程间通信

码界西柚

微服务 分布式架构 5月日更

开源的国界:维护者引用当地法律拒绝合并代码_编程语言_Tina_InfoQ精选文章