“放弃 GitHub ,时机已到”,软件自由保护协会怒批!

2023-11-17

整理 | 彭慧中 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)

诞生 14 年来,凭借完整协议支持、Git格式的版本库托管等优势,GitHub成为了最受开发者欢迎的代码托管平台。

不过,近几年来, 随着GitHub的一些转变,引发了行业内一些组织的不满。6月30日,软件自由保护协会(以下简称SFC)在官网发表了一篇题为《放弃 GitHub,时机已到》的长文,怒称:由于GitHub的不当行为,SFC将结束自己对GitHub的所有使用,并将协助其他自由软件项目从GitHub迁移。虽然SFC现在不会强制要求现有会员迁移项目,但他们将不再接受不打算从GitHub迁移的新会员项目。
图片
SFC拒绝GitHub的服务是自由软件开发者向GitHub和微软抗议其不良行为而发出的强烈信号。

那么GitHub究竟是如何“惹恼”了SFC呢?

图片

图源SFC官网
在这里插入图片描述

GitHub真在为自由软件“好”么?

在过去的十年里,GitHub改变了人们的编程方式。不仅让编程变得更简单,还改变了软件开发者对编程的看法。它找到了全世界数百万人正在努力解决的一个大问题——如何在代码上协作,并设计出了市场急需的的解决方案,实现了令人难以置信的增长和成功。

通过围绕开源项目Git构建SaaS服务,GitHub为开源生态系统提供价值并从中获利。具体来说,GitHub的利润主要来自那些希望使用GitHub工具进行内部专有软件开发的人。

然而,SFC认为,尽管GitHub一直标榜自己为这么多自由软件提供了大量的服务,但从大科技公司的许多免费服务中可以看到:如果你不是GitHub的客户,那么你就是其产品。科技公司用自由软件的开发方法开发成了GitHub的产品,而GitHub常常在对方不知情的情况下将其私有化并重新包装。

FOSS的开发者长期以来对于GitHub的这类行为一直以“温水煮青蛙”的心态。软件自由保护协会也意识到自己的包容造就了这个问题的一部分,当GitHub的行为变得越来越糟糕,而他们一直在原谅、忽视、默许…直到最近,终于该“秋后算账”了

在这里插入图片描述

SFC和GitHub长达一年的持久战

具体“引爆”SFC此次大动作的事件,则是GitHub在长达一年的时间内拒绝回应SFC对于Copilot(AI自动编程工具)在公开代码上进行训练的合法性的质疑。而就在上周,GitHub宣布Copilot成为一个商业化的盈利性产品,彻底激怒SFC。

事件经过如下:

  • 2021年7月,SFC就曾与微软和GitHub的代表进行了视频通话,提出了几个问题,他们说当时无法回答,但会“很快回答”。

  • 在六个月没有回应之后,SFC在其文章《如果软件是我的副驾驶,谁给我的软件编程?》(https://sfconservancy.org/blog/2022/feb/03/github-copilot-copyleft-gpl/)一文中公开提出了这些问题,但GitHub仍然没回应。

  • 三周后,SFC成立了一个专家委员会,讨论“人工智能辅助软件的产生的伦理道德问题”,并同时进行公开讨论。他们邀请微软和GitHub的代表参加公开讨论,但微软和GitHub无视SFC的邀请。

  • 2022年6月下旬,在SFC提醒GitHub关于以下2点:“1.这几个悬而未决的问题我们已经等了一年;2.你们为何拒绝加入关于这个话题的公开讨论?”
    然而GitHub在一周后回应:他们不会加入关于这个问题的任何公开或私下讨论,因为“关于人工智能辅助软件的伦理”的讨论似乎不太可能改变SFC的立场,这就是为什么GitHub没有回应SFC的原因。

  • 2022年6月22日,不仅拒绝回应SFC的GitHub还宣布将Copilot商业化,SFC的底线终于被突破。

由此可见,GitHub对Copilot的最终立场是:如果SFC不同意GitHub对Copilot相关政策事项的看法,那么SFC就不值得微软或GitHub回复。只有当SFC认为可以立即将其立场改为GitHub的政策立场时,GitHub才会费心回复。即便如此,就连这个答案微软和GitHub会时隔一年才告知!在这期间,GitHub还在一直努力推进Copilot的商业化!

而SFC一直希望微软/GitHub回应的关于Copilot的三个主要问题是:

  1. 在微软和GitHub的公开声明中,依据的是什么判例法(如果有的话)。GitHub当时的CEO说:“(1)在公共数据上训练ML系统是合理使用(2)输出的代码版权属于操作者,就像编译器一样。”为了透明和尊重自由和开放源码软件社区,也请向社区提供你们完整的法律分析来证明你们这些说法是有理有据的。

SFC认为,微软和GitHub的拒绝回答,表示他们仍然坚持他们的前CEO的声明(这也是他们在这个问题上的唯一声明),但事实上他们没有相应的法律理论来支撑。

  1. 如果像微软/GitHub所说的那样,允许在任何代码上训练模型(并允许用户基于该模型生成代码)而不受任何许可条款的约束,你们为什么只选择在自由软件上训练Copilot的模型?例如,为什么微软Windows和Office代码库不在你的训练集中?

SFC认为,微软和GitHub的拒绝回答也暗示了这个问题的真正答案。虽然GitHub很乐意利用FOSS,但他们对自己的知识产权的重视程度远远超过FOSS,并且满足于忽视和侵蚀FOSS用户的权利,而不是自己的。

  1. 微软/GitHub能否提供一份用于Copilot的训练集的许可证的清单,包括版权人的名字和/或Git存储库的名字?如果不能,那么为什么不向社区提供这些信息呢?

SFC认为,GitHub拒绝回答的原因是他们没有仔细复制他们的模型,所以他们实际上不知道他们侵犯了谁的版权,以及何时和如何侵犯。

综上,这些不仅问题被挡了回来,最终,GitHub的做法,导致SFC愤而“暴走”。

在这里插入图片描述

Copilot的合法性是值得商榷的吗?

在宣布“离家出走”后,SFC的最新声明也在Hacker News上引来了400多位开发者的热评,针对SFC铿锵有力的指责,GitHub推出商业化的Copilot,其合法性是否真的有待商榷呢?

一名开发者指出,SFC提出的关于“为什么微软Windows和Office代码库不在你的训练集里?”是他最喜欢的问题。

图片

还有开发者对于人工智能生产代码的知识产权问题报以同样的担忧:“人工智能有可能复制出与原作非常接近的东西,从而被认为是对原作的侵犯。”
图片

然而,却另有开发者表示:“我想知道你们为什么把代码放在公开的GitHub FOSS仓库里,却不希望以任何方式复制…我还想知道为什么人们认为他们的代码是如此特别,以至于没有人能够独立地想出它。我想,Copilot的每一个“对手”都是有史以来最好的开发者吧?”

并且他指出:“如果有人在一个闭源的商业软件项目中使用你的(例如MIT许可的)代码,并没有解除你的代码被发布的自由,你的代码仍然和以前一样开放和可用,任何人都没有失去任何自由。”
图片

这位开发者“阴阳怪气”的发言也遭到了一众人的反驳,其中一位开发者表示:“没有人声称他们不想让自己的代码被复制。人们只是想让自己代码的衍生产品遵守他们为自己的项目选择的许可证。而根据你的发言和总体语气,我认为你只是对自由软件有偏见,仅仅是因为你不理解,但这并不意味着这些想法是无脑的。我也很好奇,为什么版权法应该保护专利软件、音乐、游戏、写作等,而不适用于我的软件,即使它不是最高质量的作品?”
图片

关于这场战争在各方争吵之下,似乎仍没有一个定论。SFC是否真的就此彻底与GitHub决裂呢?

SFC也承认,放弃GitHub会带来巨大的牺牲和不便,并且需要很多时间才能完成。但SFC也提醒大家,是GitHub需要FOSS项目使用他们的专有基础设施,而不是SFC需要GitHub的专有基础设施。

目前,SFC提供了GitHub的替代方案,尽管对于大多数开发者而言,其界面不那么熟悉,网站热度也不高,但SFC表示将帮助改进这些替代方案。目前SFC已经推出了一个网站:GiveUpGitHub.org,该网站将为那些希望离开GitHub的人提供指引、方法、工具和支持。

那么,作为在GitHub上的FOSS开发者,你会考虑与GitHub“分手”么?

参考资料:

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

https://news.ycombinator.com/item?id=31932250


新程序员001-004》已全面上市,欢迎扫描下方二维码或点击进入立即订阅,即可畅享电子书及精美纸质书
图片: https://uploader.shimo.im/f/dld9rHAxrGgNQEpZ.jpg!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2NTY2NjI3NDcsImZpbGVHVUlEIjoiMWQzYVY4WjJwT3NCeDZxZyIsImlhdCI6MTY1NjY2MjQ0NywidXNlcklkIjo3ODc0NjIyOX0.lQv4jQk24HPARTLXKz9pi2nTB9yXBoM-teKQDhaNMC8

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“放弃 GitHub ,时机已到”,软件自由保护协会怒批! 的相关文章

  • 无法验证 GitHub 中的虚假电子邮件

    我已经创建了一个 GitHub 帐户 并且我不喜欢公开分享我的电子邮件地址 我厌倦了垃圾邮件 所以我关注了 GitHub保密您的电子邮件地址 https help github com articles keeping your email
  • 部署在github中的Jekyll显示index.html文件的原始文本

    我正在尝试使用来自的分叉存储库来部署 Jekyll 网站https github com cotes2020 jekyll theme chirpy https github com cotes2020 jekyll theme chirp
  • 哪个是更智能的 git 协议,ssh 或 git(通过 ssh)或 https 协议?

    哪个高效 SSH 或 Git 文件压缩 我对 Git 的理解是 git 协议很智能 因为通信两端都有一个协议代理来压缩文件传输 从而通过有效地使用网络带宽来实现更快的克隆 From 我发现了以下说法 For secure authentic
  • git 显示已添加到 gitignore 的文件中的更改?

    我已经将 log2 文件夹和 main js 文件添加到 gitignore 如屏幕截图所示 但即使执行后git rm cached r我仍然可以看到 git 正在检测 main js 和 log2 文件夹内文件的更改 怎么会 这些的常见问
  • Netbeans 和 Git,.obj 文件被忽略

    我正在开发一个涉及 obj 文件的小型 git 项目 当我查看 项目选项卡 时 我发现它们被忽略了 但如果我查看我的 gitignore 我无法理解为什么 DepthPeeling nbproject private DepthPeelin
  • 如何使用脚本在 GitHub 上发布构建工件资产?

    我正在尝试找出一种在 GitHub 上生成构建的单命令流程 我预计要做的是运行某种命令 比如 make release make release 脚本会构建发布工件 然后以某种方式将其上传到 GitHub 然而 我对如何在 GitHub 上
  • github - 启用分支锁

    作为 GitHub 管理员 我想为所有用户锁定 GitHub 中的特定分支 例如如果我不希望任何人推送到主 生产或项目分支 我该怎么做 有没有办法直接锁定 GitHub 服务器上的分支 而不是使用任何客户端挂钩 是否有任何第三方工具 API
  • 更新另一个 Action 的工作流程文件的 GitHub Action

    我在同一个存储库中有两个 GitHub Actions 我正在尝试更新其中一个 但在尝试提交并推送更改时出现以下错误 remote rejected HEAD gt some branch refusing to allow a GitHu
  • Git 更改丢失 - 为什么?

    我们的开发团队正在使用 git 最近我们至少两次丢失了文件更改 我们正在使用私人 Github 存储库 在当前情况下 我们可以返回 Github 上的日志并查看我对文件所做的一些更新 后来 另一位团队成员更改了文件的不同部分 它似乎破坏了我
  • github actions 找不到 package.json

    我正在尝试设置一些基本的 GitHub 操作来在 PR 上撰写评论 Action 发布在 github 上 如下所示 action yml 文件 name name description description author me inp
  • Travis CI 可以在同一存储库的不同分支中使用加密文件吗?

    我正在尝试让 Travis CI 构建在我自己的私人分支和我组织的存储库中工作 我使用以下方法加密了配置文件travis encrypt file命令 它似乎在我自己的 fork 的 travis 设置中创建了两个环境变量 如下所示 加密
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中
  • 在 github 操作中部署到 PR 上的 Firebase 托管失败

    我尝试使用 firebase 创建实时预览 我写yml文件及其始终失败 This file was auto generated by the Firebase CLI https github com firebase firebase
  • Git Hook - 在我推送到 github 后让服务器拉取

    我有一个本地存储库 并且我在实时服务器上设置了另一个存储库 www site com projects ProjectA 我想要实现的目标非常简单 在我推送到 GitHub 后 我想要存储库位于www site com projects P
  • “警告:'github.com' 的 ECDSA 主机密钥与 IP 地址的密钥不同”问题

    我不知道发生了什么 但有一天 当我起床时git push我的改变是 Warning the ECDSA host key for github com differs from the key for the IP address 140
  • git:检查标签,修改某些内容,然后再次标记它

    我觉得我应该知道这一点 但我很困惑 我在 github 上分叉了一个存储库 我需要的是签出一个标签 称为 v1 0 5 修改文件上的语句 使用名为 1 0 5 的新标签 不带 v 重新标记该状态 然后执行对 master 进行同样的更改 让
  • 使用 PIP 从 Github 安装 Python 包

    我已经看到文档表明您可以通过以下方式使用 pip 安装托管 Python 包的 Github sudo pip install e git git github com myuser myproject git egg myproject
  • Git 会删除空文件夹吗? [复制]

    这个问题在这里已经有答案了 我已提交一个项目并将其推送到我的 GitHub 帐户 该项目包含以下部分文件结构 server conf some files java lib java 和 lib 文件夹为空 从 GitHub 下载我的项目时
  • github Diff 截断错误

    在 github 中发出拉取请求并审查更改时 我们收到了 Diff Truncated 错误 如下所示 任何人都可以帮助解决这个问题 拉取请求可能会触发以下提到的限制之一GitHub 支持 https stackoverflow com a
  • 使用 SourceTree 克隆存储库

    有人可以给我一个简单的使用 SourceTree 克隆存储库的快速演练吗 在书签中 我单击克隆存储库 对于源路径 我粘贴如下所示的 URL 电子邮件受保护 cdn cgi l email protection 客户端 应用程序名称 ios

随机推荐

  • 【计算机网络】湖科大微课堂笔记 p36-37 集线器与交换机的区别、以太网交换机自学习和转发帧的流程

    集线器与交换机的区别 集线器 共享型以太网 交换机 交换式以太网 早期与集线器 使用集线器HUB在物理层拓展以太网 下面是三个独立的以太网 可以用集线器把它们互联形成更大的以太网 若一系中的某主机向二系中某主机发送数据帧 则此信号会传遍整个
  • antd 4.x, 实现Table 可编辑 , Table 结合Form.List,实现单独校验Form.List、Form.Item校验

    背景 需要实现一个这种表格 思路 1 编辑表格 antd 有案例 2 Form List 嵌套Table 实现 关键点 单行校验怎么传参 单行如何获取值 单行如何重置 注意 我的form 是从外层传进来的 这个没有影响 正常在 Form L
  • gdb调试工具的基本用法

    一 基本命令 gcc g test c o test 编译时生成debug有关的程序信 gdb test 启动调试 help 查看命令帮助 具体命令查询在gdb中输入help 命令 简写h run 重新开始运行文件 run text 加载文
  • Android 解析json数据

    花了两天的时间完成了一个简单的小程序 服务器端从数据库封装json 数据 客户端解析json数据后用listview 显示 现在做一个简单的梳理 一 服务器端从数据库中获取数据后封装成json数据 服务器端编程 连接数据库的过程就不上代码了
  • 给女朋友道歉的java代码_我用开源工具给女朋友写道歉信!

    一 又是一个可乐配赘婿的晚上 我和女朋友舒服的窝在沙发里 一边看爽剧一边傻笑 其实 我并不太喜欢看这种剧 但是为了陪女朋友 我还是乐此不疲 可能因为长期996 我的脑子已经坏掉了 就在女朋友一边大笑一边大喊好甜啊磕到啦 我用地图老爷爷看手机
  • 解决邮件附件乱码问题

    参考这个博客 https blog csdn net daiqinge article details 89970382或者https blog csdn net z69183787 article details 79238735 1 如
  • 神奇的python(六)之python的串口操作(pyserial)

    简介 最近项目突然要使用python串口操作 这不 查资料 翻文档 是时候写一份串口操作的简要用法 以后有时间可以使用pyqt再写个界面 弄个串口调试终端 1 安装pyserial库 pip install pyserial 2 pyser
  • 巅峰战舰服务器维护,怎么又维护 ?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 儿子马上就要过15岁生日了 爸爸问他生日礼物想要什么 儿子想了想说 男孩子想要的东西我都有了 唯一能想到的 就是一只用塑料做的鹦鹉玩具 爸爸很纳闷 塑料做的鹦鹉 真的就只要这个玩意 儿子点头 恩
  • SSM框架-小区物业管理系统(附源码和运行视频)

    文章目录 系列文章目录 前言 一 开发框架与业务需求 1 开发框架 2 开发环境 3 整体业务 二 项目结构以及页面展示 1 注册 登录页展示 2 首页 小区管理 3 房产 业主信息管理 4 停车位 服务管理 三 ssm框架配置以及代码包级
  • c 显示ftp服务器上的图像,ftp服务器上的图片怎样预览

    ftp服务器上的图片怎样预览 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具 将文件上传到云服务器 例如QQ exe 在本地主机和Windows云服务器上分别安装数据传输工具 将文件上传到云服务器 例
  • $route和$router的区别

    1 router是用来操作路由 route是用来获取路由信息 2 router是VueRouter的一个实例 他包含了所有的路由 包括路由的跳转方法 钩子函数等 也包含一些子对象 例如history 3 route是一个跳转的路由对象 路由
  • React中的事件处理

    原生中点击事件时onclick 在React中点击事件是onClick C是大写 1 所以事件都是被React封装了一次React封装一次 是为了更好的兼容性 2 React中的事件是通过事件委托方式处理的 委托给组件最外层的元素 例子 下
  • file not found: /usr/lib/libstdc++.dylib

    git clone https github com devdawei libstdc 进入到对应文件夹 sudo sh nstall Xcode 12 sh
  • YOLO——基于回归的目标检测算法

    YOLO You Only Look Once Unified Real Time Object Detection 这篇论文的内容并不多 核心思想也比较简单 下面相当于是对论文的翻译 YOLO是一个可以一次性预测多个Box位置和类别的卷积
  • 解决Ubuntu报错 E: Unable to locate package yum

    开门见山 Ubuntu的包管理工具是apt get 所以不必再安装yum 如果要安装其他包需要使用apt get命令 这里以locate命令为例 sudo apt get install mlocate 下文就是问题解决的全过程了 1 报错
  • uni-app:标签中对数据进行判断,看数据前中后是否含有需要的字符startsWith(),endsWith(),includes()

    效果图 核心代码 判断数据是否存在并且此数据是否以 开头
  • TCP/IP编程实现远程文件传输

    TCP IP编程实现远程文件传输 在TCP IP网络结构中 为了保证网络安全 网络人员往往需要在路由器上添加防火墙 禁止非法用户用ftp等安全危害较大的TCP IP协议访问主机 而有时系统维护人员需要用ftp将一些文件从中心机房主机传到前端
  • 【数据竞赛】Kaggle知识点:比赛类型介绍

    在Kaggle平台上 经常有好多个比赛可供选择 如下图所示 为正在进行比赛的截图 那么对于入门同学 从没参加过一次Kaggle比赛 如何选择一场适合的比赛呢 本文将对Kaggle平台上的比赛按照类型进行划分 并对每种类型的比赛进行介绍 总有
  • 1.1c/c++开源库清单

    以下我是从 资源网站 获取到的数据 关于 C 框架 库和资源的一些汇总列表 由 fffaraz 发起和维护 内容包括 标准库 Web应用框架 人工智能 数据库 图片处理 机器学习 日志 代码分析等 标准库 C 标准库 包括了STL容器 算法
  • “放弃 GitHub ,时机已到”,软件自由保护协会怒批!

    整理 彭慧中 责编 屠敏 出品 CSDN ID CSDNnews 诞生 14 年来 凭借完整协议支持 Git格式的版本库托管等优势 GitHub成为了最受开发者欢迎的代码托管平台 不过 近几年来 随着GitHub的一些转变 引发了行业内一些