开源软件是指遵循开源软件促进会(Open Source Initiative,OSI)定义的十个条款的软件。这些条款包括:
自由再发布:
开源软件的许可证不应限制任何个人或团体将包含该开源软件的广义作品进行销售或赠与,且不能因销售而收取相关的著作权授权费或其他费用。
源代码开放:
开源软件的程序必须包含源代码,并允许发布源代码及编译后的程序。如果产品中没有包含源代码,则必须提供一个公开的获取源代码的方式,且这种方式的费用不得超过对源代码进行一次复制所需的合理成本。源代码的形式必须易于程序员修改,不能故意模糊化处理,也不得以预处理器或转译器输出的中间结果的形式提供源代码。
派生作品:
开源软件的许可证必须允许修改和派生作品,并且允许使用原有软件的许可条款发布这些派生作品。
作者源代码完整性:
只有在允许补丁文件和原有源代码一起发布的情况下,开源软件的许可证才可以限制源代码以修改过的形式发布。许可证必须明确地允许发布由修改后的源代码构建出的软件。
总结来说,开源软件的核心特征是源代码的开放性和自由度,它鼓励社区参与、共享和创新。通过遵循这些原则,开源软件能够促进技术的快速发展和社会的进步。