开源软件(OSS)是与源代码一起分发的软件,可以由用户读取或修改。普遍开源软件应符合自由分发、源代码必须包含在程序中、任何人都必须能够修改源代码、可以重新分发源代码的修改版本等标准。
开源软件(OSS)是与源代码一起分发的软件,可以由用户读取或修改。
OSS 社区普遍认为开源软件应符合以下标准:
该计划必须自由分发源代码必须包含在程序中任何人都必须能够修改源代码可以重新分发源代码的修改版本
同样,开源软件许可证不得要求排除或干扰其他软件的运行。与以不可更改的编译格式分发的传统软件不同,开源软件以编译和非编译格式提供,允许开放代码修改。在传统的软件许可中,此特权将保留给版权所有者。
并非所有软件开发人员都赞成使用开源软件,但许多软件开发人员已经接受了它,因为它可以更快地修复软件问题,最终可能会带来更高质量的应用程序。
许多人将开放原始码与自由软体(Free Software)视为相同,但若以定义条件而言,自由软体仅是开放原始码的一种,也就是自由软体的定义较开放原始码更为严格,并非开放原始码的软体就可称为自由软体,要视该软体的授权条件是否合乎自由软体基金会对自由软件所下的定义:
自由软体是在电脑为个人或为公共利益,而非私人公司或政府等企图限制或监视我们工作时,我们在家、学校、公司使用时,我们具有其控制权。
开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有 Linux 操作系统。
严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守 GPL 和 BSD 许可的软件都是开放的并且是自由的。
「开放源代码软件运动」是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓黑客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。