开源代码是什么意思

开源代码指的是开放源代码,也称为源代码公开,指的是一种软件发布模式。开源代码的软件开发模式最大的优点在于其可得到大量的开放源代码社群的支持,如同拥有大量免费的软件开发及测试人员。

本教程操作环境:windows10系统、Dell G3电脑。

开源代码指的是开放源代码,也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程序的原始码。有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放源代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。

开放原始码的定义由Bruce Perens(Debian创始人之一)定义如下:

(1)自由的再散布

符合开放源代码定义的授权,不得限制任何一方销售或让予已成为其中一部份的开放性源代码,即使该聚合性软件中包含多种不同来源的程序。此一授权不得要求权利金或其它费用。

(2)程序源代码

程序散布时必须包括源代码与其所编译的形式。假若程序在散布时并未附加源代码,其必须以一公开方式,在不超过合理的复制成本下,让人得以取得源代码,例如可以在不收取费用的情况下在网络上供入下载。这里所谓的“源代码”,必须是程序设计者最易于修改程序的形式,故意混乱源代码或是以所谓的中间形式,如预处理器、或编译程序所处理后的结果是不被允许的。

(3)衍生作品

符合开放源代码定义的授权,必须允许程序的修改与衍生作品”的产生.并且此授权必须允许在相同条件下,对于衍生作品加以散布。

(4)原创作者程序源代码的完整性

符合开放源代码定义的授权,可以禁止他人以修改的形式散布源代码,除非此一授权允许基于修改程序的目的,而采取“附加档案”的方式以区别此一部分非原创作者所创作。此一授权必须明确允许被授权人对于所修改的软件有加以散布的权利。此外,授权内容得要求衍生作品必须附加不同于原软件的名称或版本编号。

(5)不得歧视任何个人或团体

符合开放源代码定义的授权,不得对任何人或任何团体有歧视陛的规定。由于有些国家,包含美国在内,对于特定类型的软件进行出口管制,因此此类软件通常会有警告的标语,揭示此管制规定;但是在符合开放源代码定义的授权本身,并不包含此种警告标语在内。

(6)不得歧视程序在任何领域内的利用

符合开放源代码定义的授权,不得禁止任何人在特定领域使用此程序。例如,其不得禁止程序在商业上的使用,或者在基因研究上的利用。

(7)授权的散布

开放源代码授权内的权利,于所有再散布的程序均有适用,而无须透过其它授权加以行使。换言之,符合开放源代码定义的授权,必须有适用于所有衍生作品的延续性,以避免被授权人间接藉由附加其它授权的方式影响软件的开放性。

(8)授权不得专属于特定产品

附着于程序上的权利,不得仅限于特定软件散布的需要。所有程序的被授权人,均与原程序于散布时的状态一样,享有相同的权利。

(9)授权不得对其他软件加以限制

符合开放源代码定义的授权,不得对其他随同此一软件散布的其它软件,附加任何的限制。例如,不得规定在相同媒体L散布的其它软件,接受此一授权条款所拘束而须开放源代码。

(10)授权必须是科技中性的

任何条款规定不可基于任何独特的科技或接12型式。例如,不得限制于使用点选包里(Clik-Wrap)的方式来下载,否则将有碍透过档案传输协议、CD-ROM或网站映射等方式再下载使用源代码的可能。

优缺点

1、优势

其主要的长处表现在长期可信赖性、平行除错、平行研发、完美应用程序接口、版本释出速等方面上。

就长期可信赖性而言,只要企业在短期之中不会被排除于竞争市场外就可以称为具有长期可信赖性。

由于在开放源代码的软件开发模式下,源代码是可以很轻易地于许多地方获得,并且可以自行使用、修改源代码,因此即使软件不再开发,自己也可以进一步利用源代码。

此外,透过因特网科技的发展,开放源代码软件开放模式可以采取平行除错、平行研发的做法,将网络上潜在的无限开发者,免费的加以运用,并且可以同时进行,不受时间、地域的限制,最后只要选择适合的方案即可,所以只要参与的人数够多,其源代码释放速率通常也较快;

就完美的应用程序接口来说,开放源代码软件开发模式将的建立于源代码的开放上,使得使用者能够透过源代码来验证,不像传统封闭源代码的电脑软件只能将其信心建立在软件公司的形象上。

开放源代码的软件开发模式最大的优点在于其可得到大量的开放源代码社群的支持,如同拥有大量免费的软件开发及测试人员。这样将世界各地的优秀人才纳为己用,却又不须支付高额的薪水,这是传统封闭源代码的软件开发模式所无法获得的。

2、、劣势

当然,开放源代码软件开发模式也有其缺点,主要表现为管理成本、设计程序议题以及组织可信赖性等。

首先就管理成本而言,主要是因为一旦计划发展到一定程度,其创新、修正的质量必然变大,参与人数众多,当然也会造成一定的管理成本,另外,整合、决策架构都会增高管理的成本;

其次就设计程序议题来看,其不断释出新版本,将造成消费者需要不断重新安装的困扰,并且由于其设计上通常较不关心友善的界面,会增加使用者的接近使用的难度;

最后就组织可信赖性而言,使用者会在意其使用的计算机软件可从开发组织中获得如何的支持和关心软件的未来发展方向。

但是,由于开放源代码软件是由不同社群成员所贡献而成,并且不负质量担保的责任,因此相对于传统的软件企业,确实有可能无法获得完善的支持,也无法保证软件未来的发展方向。

另外,虽然新的开放源代码市集式的开发模式,目前已在世界各地展开运行一段时间,并有许多诸如Linux典型的成功案例,可以说已对计算机软产业产生一定的冲击。但是其与传统开发模式相比亦有其缺点。

以上就是开源代码是什么意思的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读