开源软件简介
一、开源运动的发起
近几十年,软件已经称为战略性的社会资源。各大软件供应商传统的对外封锁源代码的运营模式虽说有积极的一面,比如可以维护开发商的利益,使其可以持续地维护进一步开发的能力,以及可以保护软件商及客户的私密信息等等,但凡事都有两面,其局限性也越发明显,比如付费软件供应商可能因缺乏价格竞争而提高产品、服务的价格,而用户则可能没有选择的余地;而且用户可能对单一软件供应商或解决方案产生依赖性,尤其对于大型机构或者国家,这种依赖性隐藏着巨大的风险。
“自由软件(Free Software,也叫“Open Source(开源)”或“Libre Software(自由软件)")”的出现极大地改变了软件开发和应用领域的经济学。
1984年开始,自由软件基金会(FSF, Free Software Foundation)通过其下的GNU(什么是GNU)项目生产可供自由使用的软件。其创始人Richard Stallman认为自由软件应该允许用户获得其源代码,并且可以对其进行研究、修改以及重新分发而不用支付任何费用。与之相关的商业活动不是去隐藏代码,而是附加补充的软件(按客户的需求定制软件)以及提供附加的服务,比如维护和用户培训,可以通过书籍、培训材料、培训课程等形式。
另一方面,1991年8月,一位名叫Linus Torvalds的芬兰学生宣布他开发了一个新的操作系统,并且已经提供给开发者社区供测试和完善。这就是Linux最初的系统内核。
Richard Stallman和Linus Torvalds都领导着各自的开发者社群,Richard Stallman领导FSF的GNU社群,Linus Torvalds领导Linux社群,这是开源领域中最重要的两个社群。
这两个社群对开源和自由软件的理解不尽相同。Richard Stallman强调用户要能够免费地获得软件及源代码,”free”的两个含义“免费的”和“自由的”都是Richard Stallman追求的目标,但他却回答不了从事开源事业的人和企业要如何获利这个基本问题。当Linus Torvalds领导的Linux社区实现了一个带有可用源代码的免费操作系统时,这个问题仿佛得到了解答。GNU社群决定将自由软件运功中的各种活动统一在“开源软件”这一名称下。