@tin3w5 我不是 gitee 员工,我也不使用 gitee, 因为网页不简洁,充满了广告. 至于 SLA 的问题,git 的原理保证我的本地总有一份代码,因此故障几个小时只影响查看新项目,不影响已经 clone 下来的项目。
至于你怀疑我的理解能力有问题,那就怀疑吧。
我的大学老师在课上没有讲过开源协议的问题,但是鉴于我的学校被列入实体清单,我是认真研究过开源软件的,我的实验室,学院和学校都研究过有关 MATLAB 等闭源软件的开源替代的问题。
有关什么是“开源软件”或者是“自由软件”的定义很多,我使用 Gentoo Linux, Gentoo Linux 的包管理器要求用户在 /etc/portage/make.conf 文件中使用 ACCEPT_LICENSE 这个 bash 字符串变量指定用户批准的软件许可协议,并且将整个软件源 https://gitweb.gentoo.org/repo/gentoo.git/ 里的所有软件的协议都放到了一个文件夹下面 https://gitweb.gentoo.org/repo/gentoo.git/tree/licenses 并且按照是否是 fsf 或 osi 批准的协议分类: https://wiki.gentoo.org/wiki/License_groups
我只使用 @FREE 组的软件,除了
app-i18n/cldr-emoji-annotation Unicode_License
app-arch/unrar unRAR
sys-kernel/linux-firmware linux-fw-redistributable no-source-code
第一个是 OSI 批准的开源数据协议,但是仅在 gentoo-zh 的 overlay 中出现,因此需要单独批准
第二个不允许基于 unrar 的源码创建压缩 rar 的软件. 我用这个因为会收到 rar 压缩文件.
第三个是固件文件,不用的话显卡和无线网卡都没法工作
我认同的自由软件和自由文档就是按照 fsf 或 osi 的规则所批准的软件,而其中最主要的规则之一就是 in brief, they allow software to be freely used, modified, and shared ( https://opensource.org/licenses )( GNU 官网炸了,我没法提供 GNU 的规则),freely used 保证不加限制的使用,freely modified 保证源码可用,freely shared 保证源码和二进制必须允许不加限制的再分发,显然不允许 fork 是违背不限制的再分发这一规则的,因为在 Github 上看到源代码之后就属于已经收到该软件了。至于销售开源软件的情况,假如说将源码和二进制刻在光盘上销售,并且使用 fsf 或 osi 批准的协议作为许可协议( 1 )软件开发者只通过光盘分发该软件,那么任何用户受到光盘后都可以立刻在网络上自由的再次免费的分发该光盘的内容 ( 2 )软件开发者也通过互联网免费分发该软件,那么更不必说了。
唯一的争议点就是 Apple store 这个平台,因为 Apple 不允许用户随意安装软件,而必须使用经过 Apple 审核+签名的软件,实质上阻止了部分开源协议的实施. 例如用户无法修改源码后分发自己的版本,因为 Apple 不允许上架内容近乎相同的软件。