开源是一种许可协议,允许用户自由修改工作,以新的方式使用所述工作,将工作集成到更大的项目中或基于原始工作获得新工作。通过消除创新者之间的障碍,开源促进社区内的自由思想交流,以推动创新,科学和技术进步。
虽然它常用于软件行业,但专业人员在许多行业中使用开源许可证,如:生物技术,电子,时尚,机器人和教学等等,本文将专注于软件应用程序。
通过在原始作品上放置开源许可证,个人或组织同意:
让公众可以使用整个程序代码
允许任何人修改,增强或重新设计程序代码
允许创建衍生作品
允许程序用于用户希望的任何目的
开源许可协议与“专有许可”形成鲜明对比。当用户首次启动一个专有软件(例如Microsoft Office,Adobe Photoshop,iTunes)时,用户通常不会改变或修改源代码,并且只会按照制造商规定的方式使用该软件。专有软件的后端代码对公众保密,任何试图重新设计或复制代码的人都要受到软件所有者的法律诉讼。
为何要开源?
开源的想法源于技术社区。从计算机的早期开始,程序员和工程师就通过协作开发了新技术。例如,圣何塞的程序员开发了一个新的应用程序,然后新加坡的另一个程序员研究该应用程序并发现改进它的方法。知识是共享的,整个社区都受益于集体创新。
在许多方面,开源许可证的创建是对专有制造的直接响应。非营利性开源计划(OSI)成立于1998年。它在全球范围内管理开源许可,促进开源开发,促进社区和教育计划,并举办会议。
开源周期
许多人认为创建开源产品意味着免费使用该产品,虽然许多开源应用程序是免费的,但开发人员有权向公众出售他们的作品。但是,许可证规定他们不得对衍生作品进行版权或专利,或保密其任何部分代码。因此,其他人可能会创造出更好地执行相同功能的衍生作品。
开源许可证自然传播到源自原始应用程序的所有应用程序。通过同意许可,用户也受其约束。一旦软件成为开源软件,软件的所有版本都将是永久性的开源软件。
企业倾向于在开源基础之上构建服务,而不是直接销售开源产品。更强大的基础可以改善依赖软件的所有业务。
互联网是开源的
互联网的基本功能建立在开源技术之上。Linux操作系统管理Web服务器的操作,Apache Web服务器应用程序协商全球服务器基础结构和个人设备之间的数据传输。无数的互联网应用程序也是开源的。
大型互联网公司,如Facebook和谷歌,甚至向开源社区开放了一些专有创新。通过提高效率并使整个互联网更加简化,传播技术可以改善所有用户的体验。
开源许可通过协作鼓励创新。没有它,我们今天认为理所当然的许多技术永远不会发展,或者会被专利法所束缚。开源运动是技术在过去几十年中以如此惊人的速度发展的原因。