50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

  • 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:561648

评论

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

DevOps峰会 | 研发效能实践助力互联网行业项目管理“行之有效”

有道技术团队

DevOps

面向未来,我们来聊一聊什么是现代化数据架构

亚马逊云科技 (Amazon Web Services)

存储

从零实现一个 VuePress 插件

冴羽

Vue 前端 博客 vuepress 博客搭建

Amazon DynamoDB 在智能湖仓架构中的实践

亚马逊云科技 (Amazon Web Services)

存储

云钉一体加速,阿里云计算巢与钉钉深度融合、共建应用新生态

阿里云弹性计算

阿里云 计算巢 云合计划 云钉一体

14 主流的开源监控系统介绍

穿过生命散发芬芳

1月月更 开源监控系统

什么是云效,云效平台

阿里云云效

阿里云 DevOps 云原生 研发 研发提效

【JavaScript Weekly #570】 新一代构建工具对比

道道里

前端 vite 打包 webpack babel

Web3.0时代的保险业,真的可以实现去中心化吗?

CECBC

没有区块链,就没有元宇宙

CECBC

启智社区开源项目推荐 | 面向智慧城市的计算机视觉算法基准测试 Benchmark for Smart City上线

OpenI启智社区

计算机视觉 开源项目

LabVIEW色彩定位实现药品包装质量检测(实战篇—4)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 色彩定位 药品包装质量检测

投稿开奖丨“轻量应用服务器”征文活动(9&10月)大奖公布

阿里云弹性计算

阿里云 轻量应用 征文投稿开奖

网络安全kali渗透学习 web渗透入门kali系统的安装和使用。

学神来啦

云效测试篇:测试用例&缺陷管理 | 云效快速入门

阿里云云效

阿里云 DevOps 云原生 云效 测试管理

云原生下的指标与日志采集

尔达Erda

程序员 容器 云原生 监控 中间件

【高并发】要想学好并发编程,关键是要理解这三个核心问题

冰河

并发编程 多线程 高并发 协程 异步编程

LabVIEW OCR 实现车牌识别(实战篇—3)

不脱发的程序猿

OCR 机器视觉 图像处理 LabVIEW 车牌识别

【JavaScript Weekly #399】JavaScript引擎基础(上):形态和内联缓存

道道里

JavaScript 前端

Amazon Redshift 表设计优化 – 优化已有数据表中的列大小

亚马逊云科技 (Amazon Web Services)

存储

区块链技术支撑元宇宙经济系统的有序运转

CECBC

百分点感知智能实验室:声纹识别技术发展及未来趋势研究

百分点科技技术团队

【网络安全】JAVA代码审计—— XXE外部实体注入

H

网络安全 代码审计

Java实现创建Zip压缩包并写入文件

CRMEB

Back-to-Basics: Two-Way String Matching

袁世超

如何用建木CI导入导出MySQL数据

Jianmu

MySQL 数据库 持续集成 CI/CD

一个cpp协程库的前世今生(十九)event

SkyFire

c++ cocpp

Apache Atlas 数据血缘

亚马逊云科技 (Amazon Web Services)

存储

【JavaScript Weekly #399】JavaScript引擎基础(下):优化原型

道道里

JavaScript 前端

呼叫医生云! Amazon HealthLake 正式推出

亚马逊云科技 (Amazon Web Services)

存储

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