★引子
长期以来,一直有很多读者不太明白“自由软件”与“开源软件”的差异。除此之外,还经常会有其它的一些误解。
昨天正好在俺的网盘上分享了《若为自由故——自由软件之父理查德·斯托曼传》一书的中文版,所以顺便来聊聊相关的话题。
★误解1——“提供源代码的软件”就是“开源软件”
这可能是最常见的误解,所以俺把这条放在本文第一条。
“提供源代码”只是“开源软件”的【必要条件】,但【不是】充分条件。换句话说:不提供源码的一定不是开源软件,提供源码的不一定是开源软件(有点像绕口令)
所谓的“开源软件”,是有严格定义滴!目前业界的共识是采用“开放源代码促进会”(洋文叫“Open Source Initiative”,缩写是 OSI)给出的定义。
其定义很长,包含很多项,俺就不全文列出啦。想看的同学,请猛击 OSI【官网】的“这个链接”。不懂洋文的同学,请看中文维基百科的“这个页面”。
为了让大伙儿加深印象,举 UNIX 的例子。
说到 UNIX,在计算机史上那可是大名鼎鼎滴。其背景,俺就不多说啦。当年(上世纪70年代)UNIX 隶属于商业公司 AT&T。那年头,AT&T 销售 UNIX 的时候都会附送【全部源代码】。但即使这样,(以如今的标准来看)UNIX 也【不能】算是开源软件。因为用户拿到源代码之后,受限于保密条款,【无法】随意分发源代码。
★误解2——把“开源软件”等同于“自由软件”(混淆这两者)
“开源软件”与“自由软件”这两个概念有很大的重叠,导致很多人混淆这两者(误以为这俩概念可以互换)。
但其实这两者在理念上有【很大】差异。考虑到本文是面向普通读者,俺尽可能用通俗的大白话来说一下两者的共性和差异。
◇“开源软件”与“自由软件”的【共性】
共性大致有如下几条:
1. 两者都要求——源代码要【公开】
2. 两者都要求——公开的源代码必须具备【完整性】(换句话说,用公开的源码必须能重新生成该软件)
3. 两者都要求——公开的源代码要允许【随意分发】
4. 两者都要求——公开的源代码要允许【随意修改】
5. 两者都要求——【不能】限制商业使用
......
(还有其它一些共同点,考虑到篇幅,就不再列举啦)
◇“开源软件”与“自由软件”在【理念】方面的【差异】
“开源软件”的立足点更加侧重于——源代码的【开放性】。
“自由软件”的立足点更加侧重于——软件用户的【自由度】。
考虑到很多人不太清楚“用户的自由”,俺来介绍一下——
FSF 的创始人 理查德·斯托曼(Richard Matthew Stallman,人称 RMS)给出了【用户的四大自由】:
自由度0:
无论用户出于何种目的,必须可以按照用户意愿,自由地运行该软件。
自由度1:
用户可以自由地学习并修改该软件,以此来帮助用户完成用户自己的计算。
(作为前提,用户必须可以访问到该软件的源代码)
自由度2:
用户可以自由地分发该软件的拷贝,这样就可以助人。
自由度3:
用户可以自由地分发该软件修改后的拷贝。借此,用户可以把改进后的软件分享给整个社区令他人也从中受益。
(作为前提,用户必须可以访问到该软件的源代码)
更详细的介绍可以参见 FSF(自由软件基金会)【官网】的文章(如下):
《What is free software?》(原文)
《什么是自由软件?》(上述的中文翻译)
引申阅读:
俺的网盘上分享了【自由软件运动创始人】理查德·斯托曼(RMS)的“选集”和“传记”,分别如下:
《自由软件,自由社会——理查德·斯托曼选集》
《若为自由故——自由软件之父理查德·斯托曼传》
◇“开源软件”与“自由软件”在【许可证】方面的【差异】
(注:本文后续部分提到的“许可证、许可协议、license”三者指同一个东东)
刚才俺聊到了“自由软件”与“开源软件”在理念上的差异。这些差异自然也会反应到 license 的条款上。比如有些 license 立足于“开源”,还有些 license 立足于“自由”。
为了方便大伙儿,给出一个维基百科链接(在“这里”)。该页面对比了各种不同的软件许可协议。在【第二个】表格中,有一栏是“FSF 认可”——凡是被 FSF 认可的,都可以算是【自由软件】许可证;另外还有一栏是“OSI 认证”——凡是被 OSI 认证的,都可以算是【开源软件】许可证。
★误解3——以为“自由软件”排斥商业公司
长期以来,很多商业公司对“自由软件”进行【污名化/妖魔化】。比如微软前任 CEO 巴尔默曾经污蔑说——Linux 以及相关的(GPL)许可证是“癌症”(以下是他原话):
Linux is a cancer that attaches itself in an intellectual property sense to everything it touches.长期的妖魔化,让很多人【误以为】“自由软件与商业公司水火不容”。但其实不然!
That's the way that the license works.
商业公司也能基于“自由软件许可协议”去开发“自由软件”并提供给用户。该过程可以是“免费的”,也可以是“付费的”。
所谓的“付费”,也就是说——商业公司也可以通过“销售自由软件”来获得利润(关于这点,下一条会详细介绍)。
★误解4——以为“自由软件 or 开源软件”必定是免费的
(注:为了打字省力,本文以下部分以 FOSS 作为“自由软件 or 开源软件”的总称)
关于这个误解,俺把“自由软件”和“开源软件”分开来阐述。
◇对于“自由软件”
在前一条,俺提到:(从理论上讲)商业公司也可以销售自由软件(拿自由软件卖钱)。
说到这,可能很多人还不信。下面俺给出 FSF(自由软件基金会)【官网】的文章。
《Selling Free Software》(原文)
《销售自由软件》(上述的中文翻译)
◇对于“开源软件”
如果你理解了“为啥商业公司也允许销售自由软件”,也就比较能理解“为啥商业公司允许销售开源软件”了。
OSI(开放源代码促进会)对“开源软件”的定义(前面已经提到),并【没有】对“销售或付费”做任何限制。
也就是说,如果你开发了一套“开源软件”,并拿去卖,并且有人愿意买。这个(销售/购买)行为并【不】违背 OSI 的精神和条款。
◇实际案例
不要以为俺在本章节提到的只是【理论上的可能性】。在现实生活中已经有商业公司(在遵守 FOSS 许可的前提下)利用自由软件盈利,甚至还上市了——这就是大名鼎鼎的【红帽公司】(洋文是:Red Hat)。该公司发布的“Red Hat Enterprise Linux”(简称 RHEL),在 Linux 社区很有影响。
关于“红帽公司”的规模,以下摘自维基百科的介绍:
Red Hat于1999年8月11日在纳斯达克上市,2005年12月19日纳入纳斯达克100指数,2006年12月12日转到纽约证券交易所挂牌。
2018年10月28日,IBM 将以每股190美元的现金收购 Red Hat 所有已发行股份,总价值约为340亿美元。
★误解5——以为“自由软件 or 开源软件”的开发人员都是“义务的/无报酬的”
互联网时代之前和初期,情况确实如此。
但如今 FOSS(Free and Open-Source Software)已经改变了全球软件行业的生态环境。
举个例子:由于 Linux 内核已经被大量/广泛地适用于各个领域,很多【大型】商业会让自己的程序员参与 Linux 社区的开发;同时,这些程序员拿的是商业公司的工资。
★误解6——以为“自由软件 or 开源软件”就没有版权
虽然 FOSS(Free and Open-Source Software)允许用户获得源代码,允许用户自由地分发软件(包括源代码),但某些 FOSS 的 license 依然会有版权相关的条款(比如:有的会强调“署名权”,有的会强调“修改权”)。
引申阅读:
《对版权的误解 @ FSF 官网》
★误解7——把“自由软件 or 开源软件”视作某种“共产主义”
坦率地说,犯这种错误的人,既没有理解 FOSS(Free and Open-Source Software),也没有理解共产主义。
FOSS 与“共产主义”在本质上简直是【截然相反】滴。
◇开放性 VS 封闭性
前面俺已经说了:“开源软件”不光强调公开源码,而且强调【开放性】;相比之下,共产运动必将导致社会的【封闭性】。
为啥共产运动必将导致“封闭性”?
有耐心的同学可以去看卡尔·波普尔的代表作《开放社会及其敌人》(提醒一下:这是大部头的政治理论著作)
◇自由 VS 奴役
前面俺还说了:“自由软件”尽可能确保用户的【自由】;相比之下,共产运动必将导致对自由的【剥夺】(奴役)。
为啥共产运动必将导致“对自由的剥夺和奴役”?
对此感兴趣的同学可以去看一下弗里德里希·哈耶克的代表作《通往奴役之路》。
◇引申阅读
批判“共产主义”和“马列主义”的博文,俺已经写过很多。具体参见博客上的 政治.共产运动 标签。
★误解8——认为“自由软件 or 开源软件”的质量不如“闭源商业软件”
在20年前,很多人持有这种观点。如今越来越多的人开始意识到——FOSS 也可以打造出非常优秀的软件。
比如说大伙儿平时都在用的浏览器。IE 是完全闭源的商业软件,如今远远比不上 Chrome 和 Firefox。Firefox 是正宗的开源软件;Chrome 虽然不是开源软件,但它是在开源软件 Chromium 的基础上二次开发而成。
再比如 Web 服务器软件,长期占据三甲的,有两个(Apache、Nginx)是 FOSS,一个是闭源的(IIS)。而且 Apache + Nginx 的市场份额会明显高于 IIS。
(类似的例子还能举出很多)
另外,还有很多优秀的闭源商业软件在其内部使用了开源的库(library)。这些商业软件的成功,其内部使用的开源库功不可没。
引申阅读:
俺整理的“C/C++/Python 开源库清单”
★误解9——把“自由软件”等同于“GPL 协议”(混淆这两者)
(注:GPL 的全称是“GNU General Public License”,维基百科链接在“这里”)
这个错误连某些 FOSS 社区的人都会犯。
“使用 GPL 协议”的软件,必定是“自由软件”;但反过来就【不】成立。换句话说,除了 GPL 协议,还有很多其它协议,也可以确保其所属的软件是“自由软件”。
刚才提到了维基百科上有一个 license 对比清单,再次丢出来给列位看官参考(链接在“这里”)。清单中(第2个表格)有很多【非】GPL 的协议,也得到了 FSF 的认可(可以算是“自由的协议”)
★误解10——把“自由软件”等同于“与 GPL 兼容的协议”(混淆这两者)
这条与前一条有点类似,也属于——连 FOSS 社区的人都会犯的错误。
“兼容 GPL 的协议”,其所属的软件必定是“自由软件”;但反过来就【不】成立。换句话说,还有很多【自由软件】的许可协议,与 GPL 是【不】兼容滴!
在 FSF(自由软件基金会)官网上有一个清单(链接在“这里”),对各种许可协议进行分类,其中有一类是【GPL-Incompatible Free Software Licenses】。这一类协议,数量还不少。
★误解11——认为“开源软件许可证”的范畴包含了“自由软件许可证”(以为后者是前者的【真子集】)
首先要承认一下:有段时间,俺也犯了这个错误。
如今要澄清的是:绝大部分“自由软件许可证”同时也算是“开源软件许可证”。但有少数【例外】。
举个例子(例外):WTFPL
有一个比较鲜为人知的 license 叫做“WTFPL”,洋文全称是“Do What The Fuck You Want To Public License”。中文翻译成“你他妈的想干嘛就干嘛公共许可证”。
猛一看这名称,可能很多人以为这是个“恶搞的协议”(恶作剧)。但这个协议还是有点来头滴,其 2.0 版本的作者 Sam Hocevar 曾经担任过 Debian 社区的负责人。
这个协议就属于刚才提到的【极少数例外】——它获得了 FSF 的认可,但没有获得 OSI 的认证。
★结尾
俺写的这篇,难免会有遗漏。欢迎大伙儿补充 FOSS 相关的其它误解。
俺博客上,和本文相关的帖子(需翻墙):
《如何选择开源项目?》
《GitHub 通告:整理了一个 C 和 C++ 开源库的清单(含示例代码)》
《为啥俺推荐 Python[5]:作为瑞士军刀的 Python——顺便分享俺整理的 Python 开源库》
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2019/03/Misunderstand-Free-and-Open-Source-Software.html?m=0
有请体制内了解情况的人,向阮晓寰的家属通风报信。
......
有人打算整理一下关于编程随想下落的线索吗?(从正反两个方面来举证)
好多怪事都是人为的,第一在搞邪术如祭鬼封神献祭打call,其次是搞种姓的事,
这帮东西用老外的名义来操控挑拨玩弄这个那个,这也是奇葩的,和叫东土人找阿三还是鬼子去表达册封封禅这皇帝是东土的皇帝一样奇葩, ......
ym蜀人都不愿放手的东西如屁眼套路,幼女,献祭,老单和最高神位是有原因的,很值得去研究的 ......
即使博主能活着出狱,若要看到他更新六四系列,那也是在天朝发生了民主化之后,共产党不再有能力镇压批评者之时。
就算哪天中国情报部门不经司法程序,直接把人暗杀了,我也不会觉得奇怪。
https://www.zaobao.com.sg/realtime/china/story20241226-5649612
https://www.youtube.com/watch?v=ozVq_04XMro
如果出现了自杀场景,多半是政府秘密下令处决,并伪装成了自杀。
来自Firsthack的评论
而且,二审的发改率(发回重审+改判)是一个考核政绩的指标,高层认为这个数字越低说明冤假错案越少,然后下面就越容易升官。 ......
原神UID:310221197410210025
互动热线: 13524626271 上海移动
学历: 硕士
生日: 19741021
身高: 165 ......
周欣身份证310105197106042383
户籍地址 :上海市闵行区吴中路429弄15号501室
同户人 :薛军,男,310106196903180414,1969年03月18日; ......
希望各大媒体都报道这几个名字:审判长周欣,审判员:凌莉、须梅华。
家属贝震颖推特号:Birds_b_r_32309
多谢分享“中药注射剂”等国产医疗行业的相关丑闻。
另外,关于疫情期间的乱象,俺整理了一篇:
《每周转载:白纸抗议年的“动态清零”灾难(网文14篇,多图)》
多年前不记得在哪篇博文的评论区和博主讨论叙利亚的命运,当时叙利亚的局势还未尘埃落定。可惜博主现在大牢内,看不到。
这次叙利亚的民主转型发生在俄国陷入战争的泥沼的背景下。 ......
这个是个邪术,第一个是给上面看(不知什么鬼),其次的就真的会指导目标去实际地去做这么些的犯罪邪恶,侵犯幼女的情节是经常频繁重复地出现地,和侵犯女性,还有就是生命 ......
估计到最高法院也没戏,可能会以9:0判决禁抖音。
欢迎提出不同观点。
你提到的是这二者之间的差异,俺也同意这些差异确实存在。
但是,俺要开始说但是了。从本文,咱们也可以讨论这二者之间的共性,至少包含以下方面: ......
玩邪术玩出个什么结果好歹给公开一下,拼命玩邪术还一声不吭,很危险的,要分享分享,劳资帮你们来研究研究
劳资相信这帮东西是能穿越时空的,现在是2019年的ZS,时空被改变穿越了。穿越时空的套路。这帮东西几千年都一个屌样,来几个十级地震都不会任何改变。 ......
现在的两党是争先比谁对华更强硬,已经通过的制裁法案不会松绑,已经加的关税也不会再降,否则就会被在野党骂成“通敌叛国”。
明年1月19日之前,抖音会被禁。
每天上网的好多人都在聊政治呢,难道你要把每一个聊政治的人都抓起来判刑?那也没用。因为年轻人越来越倾向于认为政治制度才是造成他们被困在他那个阶层的重要原因。 ......
这个博客对于政府的批评,大部分都是有理有据。你要是觉得哪里不对,可以反驳博主嘛。判7年是究竟有多心虚? ......
以色列做任何事,都是美国包容范围,和美国民意无关(甚至抗议都无效)。台湾今后也会差不多。
国会一旦提出新的关于台湾的法案,无论是军售,亦或是改善台湾的国际地位等等,都很容易造成近乎【全票通过】。 ......
然而,公报本身只是行政政府的声明,其效力不如法律。 ......
然而,现在的人们,对于不能证明是否为间谍的走线客,也不太宽容。估计人们会支持一律用“有间谍嫌疑”之类的理由,实行一律驱逐的政策。 ......
但是,有些两党已经形成共识的事,其实是不受太大影响的。例如:把台湾武装成以色列。
所以我估计,中共在川普第2任期的前2年之内,就会对台湾动手。
因为这次GOP在众院优势实在太小了,稍微发生一点差错,钟摆效应会让民主党夺回之。
参议院不好说。如果连参议院也丢了,那川普后两年就可能成为跛脚总统,啥事都干不了。
不服者会选择:明着顺从,其实背地里跟共产党对着干。
众议院估计是个险胜。
上次共和党在众议院也是微弱优势,导致议长难产。
这次应该不会难产,因为有川普在,他只要在台上喊几句,就可以让任何一个人当议长,其它共和党议员不会阻挠。 ......
根据NBC新闻:
https://www.nbcnews.com/politics/immigration/trump-may-deport-hundreds-thousands-migrants-biden-allowed-legally-ent-rcna179357 ......
就是先用民调测量其它选举,比如某个地方议员的选举,然后和民调进行对比,看女性候选人是否严重吃亏,是否和民调严重不符。
如果发生该现象,那得出的差额数字,就是该地隐藏的“害羞的性别歧视者”的百分比。 ......
因为“害羞的川粉”等受访者不诚实回答问题的现象,仍然使得民调失真。
贺锦丽连普选票都输了。
你民主党输得这么惨,总不能反思为啥没去迎合那些“黑命贵零元购”之类的种族主义口号吧?反思搞种族平权搞得过头了?
......
美国出了个川贼东。抗战前没做到【攘外必先安内】,这下麻烦大了。
恭喜美国又创造了世界纪录。
估计是川普险胜。
因为大法官的任命是由总统和参议院共同决定,如果总统是川普,那他就会提名非常有争议的保守派大法官。
......
......