小伙伴们,我是孟宁,大概因为老是爱做梦,大伙都叫我老梦^?_?^,接下来就由老梦带您游览一下自由软件江湖里的码头和规矩。
自由软件世界的擎天大柱Linux
Linus Torvalds在1991年发行了第一个版本的Linux。来一起看看Linus Torvalds大神的尊荣吧。
Linus Torvalds
再来说说Unix。Linux是Unix操作系统的一个克隆版本,所以Linux是一个类Unix(Unix-like)的操作系统。大约在1970年Dennis Ritchie和Ken Thompson在贝尔实验室开发了Unix操作系统。
Dennis Ritchie和Ken Thompson在贝尔实验室
如今的Windows、Linux、macOS,以及Android和iOS等主流操作系统,或深受Unix的影响,或直接继承或克隆了Unix。所以如果不会点Unix类的操作系统,在码农这个行当里会被鄙视的。
小伙伴,清楚Linux是什么了吧梦来考考你。
A、Linus Torvalds
B、Dennis Ritchie
C、Ken Thompson
答案:A
Linux克隆了Unix。这里用生物学上的“克隆“一词比较贴切,克隆表示基因是相同的,肉体是自己重新长的。Linux几乎完全复制了Unix操作系统的思想和做法,但是所有的源代码都是重新编写的。
因为Unix涉及商业版权纠纷,限制了它的发展,而Linux从一开始就是开源且免费的,使用的是GPLv2的许可证。说到这儿,老梦不得不唠叨几句自由软件运动(The free software movement)和软件许可证的一些事儿。
江湖的由来——自由软件运动
说起自由软件运动,不得不提自由软件运动的大哥Richard M. Stallman,他也是自由软件基金会的创始人,先来看看这位爷的尊荣吧!
Richard M. Stallman和他的自由软件基金会对Unix商业版权深恶痛绝,以至自由软件基金会资助的GNU操作系统的名字GNU就是 “GNU’s Not Unix!”的缩写,有趣的是还是一个递归缩写^o^
GNU操作系统创建于1984年,比Linux还要早7年,GNU操作系统有自己的内核叫Hurd,但是并不像Linux内核那么流行。目前我们使用的大多数Linux系统发行版大多是基于Linux内核+GNU的基础库及应用软件为基础打造的,严格来说Linux仅仅指Linux内核,由Linux基金会支持kernel.org维护;而Linux系统中除了内核之外的基础库及应用软件大多是自由软件基金会支持的gnu.org维护。
在自由软件的世界里老大是Richard M. Stallman,老二是Linus Torvalds。老大有自己的地盘也就是自由软件基金会和gun.org;老二的地盘是Linux基金会和kernel.org。
人类世界有人的地方都有斗争,尤其是老大和老二的斗争更是普遍存在。自由软件世界里的老大和老二也有争执,集中体现在对软件许可证GPLv3的不同意见上,接下来就让老梦再唠叨唠叨软件许可证一些事儿。
老梦出道题,看看你懂不懂政治,嘿嘿。
自由软件世界的老大是谁p>
A、Linus Torvalds
B、Dennis Ritchie和Ken Thompson
C、Richard M. Stallman
答案:C
江湖的规矩——开源软件许可证
开源软件许可证有很多,比如Linux内核所使用的GPLv2许可证、Android所采用的Apache许可证等,它们有什么不同呢面这张图表达的比较清楚。
第一分支他人修改源码后是否可以闭源可以闭源那说明这个许可证对于商业使用比较友好,比如Android App使用了Android的框架和API,但是由于Android采用的是Apache许可证,所以您如果写一个Android App是可以闭源作为商业秘密的。
左边第二个分支新增代码采用同样的许可证回答Yes必须采用同样的许可证,那意味了你基于GPL许可证的源代码所写的写代码也必须使用GPL许可证来发布源代码,这有点像病毒感染,只要沾上了GPL的代码,您的所有代码必须遵守GPL许可证进行开源,显然GPL许可证对商业不友好。
遵守GPL的自由软件有点像共产主义——各尽所能按需分配,每个人都有自由修改、使用和发布开源软件的权力。
商业软件就是典型的资本主义逻辑——如果不能利用编写的代码赚钱那谁还投入资源编写代码呢基于人是自私的理性的这一假设。显然还是存在一些理想主义者的,比如自由软件世界的老大Richard M. Stallman。
很多开源软件是自由软件和商业软件的折衷,借助商业世界里的资源来推动软件源代码的共享,Linus Torvalds及Linux基金会拒绝将Linux内核的许可证升级到GPLv3,大概就因为持这种商业友好的折衷适当的观点。
江湖的危局——GPLv2和GPLv3
GPLv2许可证只能解决版权问题,不能解决专利问题。什么意思呢软件源代码来讲,它只包含版权,这是Linux克隆Unix而不侵权的原因。
源代码背后的技术方法可能会申请发明专利,而发明专利保护的技术方法本身,而不管具体的实现是什么形态。
这就会给自由软件带来版权所有,而专利侵权的问题。微软就曾借助这一点宣称要起诉Linux系统的用户侵犯了Windows的专利,造成自由软件世界的重大危机。
怎么解决这一重大危机呢下来由老大顶着,Richard M. Stallman通过升级GPLv2到GPLv3成功化解了危机。
GPLv3解决专利问题的重要思路:沉淀在互联 上绝大多数知识产权是属于开源的,在当代,很少有组织和个人不上 。如果持有隐性专利的组织或个人要状告开源软件发行者专利侵权,那后者也有可能反告前者在互联 上对“开源”的侵权,从而达到权利公平、法律平衡的制约效果。
尽管GPLv3成功化解了自由软件世界的危局,但并没有得到广泛的采纳,因为GPLv3比GPLv2更加商业不友好,杜绝了商业上使用的法律空间。所以Linus Torvalds就认为商业版权并不坏,还会有助于改进软件的安全性,所以并不支持GNU GPLv3。将来也不打算将Linux的许可证升级到GNU GPLv3。
这里举个例子,Android是基于Linux内核开发手机操作系统,Linux内核是GPLv2许可证,Android框架确是使用的Apache许可证发布的,因为在Linux内核和Android框架之间作了隔离,使得Linux内核并不能感染上层代码,如果Linux内核升级到GPLv3,那么这种隔离措施也无效了。
老梦再出道题,看看你懂不懂江湖规矩。
使用Apache许可证发布的软件源代码,以下描述准确的是:
A、任何人都可以免费使用、自由修改和发布
B、不能免费使用、自由修改和闭源,更不能商业使用
C、可以免费使用、自由修改和闭源,但商业使用受到一定限制
D、可以免费使用、自由修改和闭源,且商业使用不受限制
答案:C
操作系统成长记
在浏览器中输入 址按回车后发生了什么r>
熵减定律 | 疫情与老子智慧
天才的秘密 | 孩子的三条起跑线
天才的秘密 | 智商是天生的 or 后天培养的r>
区块链技术的核心是解决生产关系的问题
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25345 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!