今天我们来聊聊开源软件(OSS:Open Source Software)的历史,特别是对存储厂商的意义。
你没有听错,存储厂商也需要开源。特别是传统的存储厂商。
这块做得比较好的榜样还是EMC。EMC有一个开源项目EMC {code},通过这个项目,EMC除了打造自己强大的生态系统,促进产品销售外,还大大改善自己专用封闭的形象,通过和开源社区的合作,增强了企业的活力,也让自己更像一个创业公司。
EMC {code}目前主要有5个project:
LibStorage:提供一个可移植的远程存储插件框架;
RackHD:提供硬件管理和编排服务;
REX-Ray:提供一个厂商无关的存储编排引擎;
Polly:容器调度器的卷调度;
mesos-module-dvdi:Mesos Docker卷驱动隔离模块。
这些存储相关的开源项目,以后西瓜哥再慢慢和大家介绍。开源软件我平时接触不多,也是刚刚开始学习,大拿请忽略,如果你和我一样,也是新手,就请继续关注我后续的文章。
今天借用EMC {code}社区经理在dockercon16的几页胶片,来了解一下开源软件的前世今生。
开源软件的历史可以追溯到1953年,距今已经有63年历史了。1953年,UNIVAC公司销售其A-2系统计算机的时候,把源码一起提供给客户,邀请客户给他们提供改进的建议。
1970年代初期,AT&T免费提供UNIX软件早期版本给政府和学术机构进行研究。到1970年代后期和1980年代早期,那个时候开始流行采用软件license来收费,因此,等UNIX普及之后,1980年代早期,AT&T停止了免费发行软件,打补丁也要收费。由于很难切换到别的平台,很多研究机构不得不购买其商业license。
到了1983年,Richard Stallman,这个自由软件的创始人发布了GNU宣言和GNU项目。不久,他创造了“free software”术语并且成立了the Free Software Foundation来推广其理念。
1991年,Linux之父Linus Torvalds发布了可以自由修改的Linux内核。1992年,成为the GNU General Public License下的一个项目。这也改变了GNU项目没有完整操作系统的现状。
1995年,Apache HTTP Server发布。可以说,没有它,就没有当今的互联网。
1997年,OSI联合创始人Eric Raymond发布了一篇论文Cathedral and the Bazaar,分析了hacker社区和自由软件原则,引起广泛关注,影响到Netscape后面的开源。
1998年,Netscape宣布放弃其Navigator浏览器和源码。
1998年,"open source“标志产生。
Netscape很快响应,创立了Mozilla开源项目。
1998年,Eric Raymond修订其论文,把"free software”改为“open source”。
开源的定义指可以自由访问、使用、改变和共享,但也可以用做商用目的。
现在我们可以看到很多开源的项目,比如hadoop,git等等。
开源软件和专利可以共存,不同组织都有自己的专利声明,你只需要遵守其声明就可以。
开源软件有不同的License,常见的有三种。MIT License没有任何限制,而Apache License 2.0必须包含专利声明,GNU GPLv3则需要你提交修改的代码,回馈社区。
现在开源可以说无处不在,互联网的LAMP堆栈,你现在看微信的Android手机,还有比北京夏天还热的Docker。
感谢开源,让我们现在拥有非常便利的云资源,也让很多创业公司能够快速推出自己的产品。
开源其实是一种文化,就像这只LOL cat(大笑猫),据说喜欢开源的都喜欢它。
现在存储产品,已经有很多基于开源软件打造的,如Ceph、Swift等等。但传统的存储公司,在开源这条路上还是走得比较慢,EMC算走得快的。从我个人观点看,存储分控制层面和数据层面,控制层面必须开源,这样才能让存储产品和各种云环境协作,实现自动化运维。数据层面涉及厂商核心的技术,一般用户也没有必要关注数据层面的实现,因此,这块是否开源由企业根据自己市场策略来决定。