什么是开源
术语开源是指什么人都可以修改和参与,因为它的设计是可公开访问的,该术语起源于软件开发的上下文,用于指定创建计算机程序的特定方法。但是,今天,“开源”指定了更广泛的价值观,我们称之为“开源方式”。开源项目,产品或计划包含并赞扬开放交流,协作参与,快速原型制作,透明度,精英管理和面向社会的发展的原则。
开源软件
开源软件是具有源代码的软件,任何人都可以检查,修改和增强,“源代码”是大多数计算机用户从未见过的软件的一部分,这是计算机程序员可以用来更改软件(即“程序”或“应用程序”)工作方式的代码。有权访问计算机程序源代码的程序员可以通过向计算机程序添加功能或恢复无法正常运行的部件来改进该程序。
为什么人们喜欢开源软件
人们相对于专有软件更倾向于开源软件有很多原因,包括:
可控。很多人青睐开源软件因为相对其它类型软件他们可以拥有更多的可控。他们可以检查代码来保证它没有做任何不希望它做的事情,并且可以改变不喜欢的部分。不是开发者的用户也可以从开源软件获益,因为他们可以以任何目的使用这个软件——而不仅仅是某些人认为他们应该有的目的。
训练。其他人喜欢开源软件是因为它可以帮助他们成为更好的开发者。因为开源代码可以公开访问,学生可以在学习创建更好的软件时轻松地从中学习。学生还可以在提升技能的时候分享他们的成果给别人,获得评价和批评。当人们发现程序源代码中的错误的时候,可以将这个错误分享给其他人,帮助他们避免犯同样的错误。
安全。一些人倾向开源软件是因为他们认为它比专有软件更安全和稳定。因为任何人都可以查看和修改开源软件,就会有人可能会注意到并修正原作者遗漏的错误或疏忽。并且因为这么多的开发者可以在同一开源软件上工作,而不用事先联系获取原作者的授权,相比专有软件,他们可以更快速地修复、更新和升级开源软件。
稳定。许多用户在重要、长期的项目中相较专有软件更加青睐开源软件。因为开发者公开发布开源软件的源代码,如果最初的开发者停止开发了,关键任务依赖该软件的用户可以确保他们的工具不会消失,或是陷入无法修复的状态。另外,开源软件趋向于同时包含和按照开放标准进行操作。
开源和免费
开源软件开发者可以为他们创建或贡献的开源软件收取费用。但在一些情况下,由于开源许可证可能会要求他们在将软件卖给他人的时候发布源代码,一些开发者发现向用户收取软件服务和支持(而不是软件本身)的费用会更加合算。通过这种方式,他们的软件仍然保持免费,而他们从帮助他人安装、使用、解决问题中赚取费用。
尽管一些开源软件可能是免费的,但开源软件的编程和解决问题的技能可能十分有价值。许多雇主特别寻求雇佣在开源软件方面有工作经验的开发者。
开源软件和其他类型的软件的区别
在很长一段时间里,开源软件都被贴上了“自由软件”的标签。1983 年,Richard Stallman 通过 GNU 计划正式发起自由软件运动。自由软件运动强调用户的自由权利:自由查看源代码、自由修改、自由再分发,让用户能够自由获取源代码,并且自由地使用。
自由软件旗帜鲜明地反对专有软件或“闭源”软件。闭源软件的源代码则有着重重防护。只有源代码所有者才拥有该代码的合法访问权。更改和复制闭源代码是违法行为,用户只能付费按既定方式使用软件,无法修改另作他用,也无法与社区共享。
但是,“自由软件(free software)”的名称造成了大量困惑。自由软件只表示您可以按照自己的方式自由使用,但不一定意味着您就能免费拥有它。社区曾经对此的解释是:“它指的是言论自由的自由,而不是免费啤酒的免费”。Christine Peterson 是“开源”一词的发明者,为了解决这一问题,她曾试图用‘开源’来取代‘自由软件’:“早期称呼‘自由软件’不适用,并不是因为含有政治意义,而是会误导新手去过多关注于价格。所以我们需要一个关注于关键的源代码,而且不会让新用户混淆概念的术语。”
Peterson 向一个工作组提出用“开源”一词来取代“自由软件”,该工作组的任务,是将开源软件实践引入更广阔的市场。工作组希望全世界了解,如果软件共享,如果软件具有协作性、开放性且可修改,软件就会更加完善。这样,软件可以发挥更多、更好的用途,可以更灵活,成本可以更低,寿命可以更长,也没有供应商锁定。
Eric Raymond 是该工作组的成员之一,1997 年,他在影响广泛的《大教堂与市集》一文中发表了大致相同的观点。1998 年,部分出于对该文章的回应,Netscape Communications Corporation 开源了 Mozilla 项目,将源代码作为自由软件发布。该代码的开源形式后来成为了 Mozilla Firefox 和 Thunderbird 的基础。
Netscape 对开源软件的支持,也为社区增加了更多压力,不得不思考如何重点关注自由软件运动的实际业务应用。而这也加深了开源和自由软件之间的分歧:“开源”成了一个描述自由软件的方法、生产和业务层面的词。而“自由软件”则仍是一个话语符号,强调着这些关乎用户自由问题的哲学意涵。
1998 年初,开放源代码促进会成立, 规范了开源一词,并为其赋予行业范围内的常见定义。从 20 世纪 90 年代末到 21 世纪初期,企业仍对开源运动持谨慎和怀疑态度,但如今,该运动已从软件生产的边缘逐渐转而成为今天的行业标准。
整理不易,关注一下