开源是一种许可协议类型,允许用户自由修改作品,以新的方式使用作品,将作品集成到更大的项目中,或基于原作品创建新的衍生作品。通过去除创新者之间的障碍,开源促进了社区内的思想自由交流,从而推动创造性的、科学的和技术的进步。 虽然它最常用于软件行业,但专业人士也在多个行业中使用开源许可证:生物技术、电子、时尚、机器人技术和教育等等。
本文将专门讨论软件应用方面的内容。 将开源许可证应用到原始作品上意味着作者或组织同意:
- 向公众开放整个程序代码;
- 允许任何人修改、增强或重新设计程序代码;
- 允许创建衍生作品;
- 允许用户出于任何目的使用该程序。
开源许可协议与“专有许可”相对。当用户首次启动专有软件(如Microsoft Office、Adobe Photoshop、iTunes)时,用户通常同意不会更改或修改源代码,并且只会按照制造商规定的方式使用软件。专有软件的后端代码对公众保密,任何试图重新工程或复制代码的人都可能面临软件所有者的法律诉讼。
开源的理念源于技术社区。从计算机诞生的早期开始,程序员和工程师们通过合作开发新技术。例如,旧金山的一名程序员开发了一个新应用程序,新加坡的另一名程序员研究了这个应用程序,并发现了改进方法。知识被分享,整个社区受益于集体创新。 在很多方面,创建开源许可证是对专有制造的一种直接回应。非营利组织“开源倡议组织”(Open Source Initiative, OSI)成立于1998年,负责全球的开源许可管理,促进开源开发,协助社区和教育计划,并举办会议。
许多人认为创建一个开源产品意味着免费提供这个产品。虽然许多开源应用程序确实是免费的,但开发者有权向公众出售他们的作品。然而,许可证规定他们不允许对衍生作品申请版权或专利,也不得保留其任何部分的代码秘密。因此,其他人可能会创建出功能相同但更好的衍生作品。 开源许可证自然会传播到所有源自原作品的应用程序。用户一旦同意许可证,也就受其约束。一旦某款软件被设为开源,该软件的所有版本都将永久保持开源状态。 企业通常不是直接销售开源产品,而是基于开源基础构建服务。更强的基础将改善所有依赖该软件的企业。
互联网的基本功能建立在开源技术之上。Linux操作系统管理着Web服务器的操作,Apache Web服务器应用程序则协调全球服务器基础设施和个人设备之间的数据传输。无数的互联网应用程序也是开源的。 大型互联网公司,如Facebook和Google,甚至将其部分专有创新开放给了开源社区。传播技术通过创造效率和使整个互联网更加流畅,从而改善所有用户的体验。 开源许可通过协作鼓励创新。如果没有它,我们今天习以为常的许多技术要么不会发展出来,要么会被锁在专利法之后。过去几十年来,技术之所以能以如此快的速度发展,开源运动功不可没。