开源软件的定义与含义

发表时间: 2019-03-09 22:23

大家经常看到一些文章,例如“IBM 340亿美元收购源软件公司RedHat(红帽)”“ 微软75亿美元收购开源平台github”...... 开源软件近几年发展快速,这里老唐简单说说开源。

什么是开源Open Source?

简单来说,开源(open source)就是一个软件的原始代码免费开放给大家,例如放到网上,大家都可以看到。与此相对应,像windows这样软件是闭源的,原始代码作为商业机密不开放给大家。

开源的涉及对象是程序员,即软件开发人员,软件的最终用户并不关心原始代码,虽然他们也可以获得。理论上,开源软件是可以对最终用户收费的,但是由于以下原因很少有收费的:1. 开源世界的理念,即开发者/程序员的信念是免费共享产品背后的原始代码,那么开发者做出的产品也就附带了这种免费信念; 2. 原始代码开放给其他程序员或竞争对手,那么其他人都可以做出相同产品,原始开发者如果对最终用户收费,则无法保持竞争优势。

为什么要开源?

因为要节流…… 也感谢下百度的图片搜索。 这里是个笑话,请继续往下看。

背景:个人或企业辛苦做出的软件,如果原始代码免费开放,很难直接卖软件挣钱了。所以为什么开源呢?

自由、共享信念的驱使:即自己写出的好代码,要免费让更多程序员使用上,大家不必做重复劳动,对本人的唯一好处是这段代码会注明作者名称。这个观点,初听上去有点扯,但是当一个人在满足温饱的问题后,真的需要在信念上去追求点什么。我在工作之余,挤出业余时间来写文章的,为什么? 一是希望能赚钱,成为自由职业者或其他可能,改变打工状态(目前还遥遥无期),二是希望利用自媒体写文章,能自由的表达自己想法,为人生留下些什么,而不仅是整天做一些老板需要的PPT。

引领行业标准(对大企业):经典案例,智能手机初期,谷歌、三星、Nokia等纷纷推出自己的操作系统,但是谷歌推出的安卓Android操作系统是开源的,各个手机品牌都可以免费安装到自己手机,不用再自己花巨资来开发,因此安卓系统得到快速普及,1-2年内就一统江山,份额达60-70%, 剩下的基本是苹果的iOS。

推广:企业可以通过开源树立正面品牌形象,如微软开始加大开源力度,摆脱传统windows老旧形象; 个人程序员推广自己,如在简历中说自己在GitHub上发布过某个开源项目。

修正软件中错误:公开源代码,可以让更多人使用,并帮助找到错误bug,甚至一些志愿者会投入时间免费帮助修改错误。

实现额外功能:一些志愿者在使用和修改源代码的过程中,有时会产生一些新的想法,甚至帮助开发代码,实现新的功能。

开源的市场有多大? 会有很多程序员做开源么?

由于本身收入良好没有温饱问题,大批程序员在人生信念的指引下,加入了开源大军。

在全球最主要的开源软件的托管平台 GitHub 上,目前已经有3100 万开发者,其中2018年过800万的新开发者加入GitHub, 比GitHub的最初6年加入的总和还要多。

在开源大军的努力下,开源软件市场在快速发展,例如全球服务器市场中,开源软件Linux的市场份额在2018年已经超过了windows。

RedHat红帽这样的开源公司为什么还能赚钱?

一般开源软件公司对基础版本开源,对应的软件产品也免费;但如果有基础版本之外的需求,如培训服务、增加新功能、额外的高级版本等,则需要收费。例如红帽Redhat提供高级版本“企业Linux”就是收费的,每年费用从几百到上万美元。

下图是Redhat红帽在2019财年第二季度财报(2018年6-8月),收入8.23亿美元,其中Infrastructure-related tech主要是企业版Liunx, 这部分占了总收入的64%。

开源项目都是一个个人程序员在业余时间的贡献么?

不是。事实上,几乎每一个伟大的开源项目都是得到一个伟大的组织或企业的支持。例如谷歌的安卓操作系统。下图是原生云(CNCF)的Dan做的调查结果,结论是:只有20%的项目独立运行,没有任何形式的机构支持。由于软件开发很困难,运行大型开源项目更加困难,一般需要公司或组织的支持。

哪些组织对开源贡献比较大?

Github的2018年报告中给出了下面数据,按照各企业或组织机构员工对开源项目的贡献排名。其中微软排名第一(应该是计入了收购的Github),谷歌排名第二,Intel,Facebook都排在前列。可以看出,这些软件巨头都在积极参与开源项目。另外伯克利、MIT等这样的著名大学的也能排在前列,可以看出美国大学在高科技领域的积极参与程度。

The End 谢谢