The Fox is watching you.

常见开源协议

基本上都随便用(小声),要做的基本上就是包含版权声明和许可文本。

开源协议许可条件商业使用复制修改再分发专利权利补充条款
MIT必须包含原始版权声明和许可文本。允许允许允许允许
Apache 2.0必须包含原始版权声明、许可文本、通知文件和修改说明;提供明确的专利授权。允许允许允许允许
GPLv3修改和分发必须开源,且需保留相同许可证;必须提供源代码。允许允许允许允许
LGPLv3类似于GPLv3,但允许链接到非LGPL软件中。允许允许允许允许
BSD 3-Clause必须包含版权声明、许可文本和免责声明;不得使用作者名字进行背书。允许允许允许允许
MPL 2.0修改后的文件必须开源并保留MPL许可证;允许与其他许可证混合。允许允许允许允许
Unlicense完全放弃版权,进入公有领域。允许允许允许允许

主要开源协议的详细说明

  1. MIT License

    • 简介:一个非常宽松的许可证,只要保留原始的版权声明和许可文本,你可以自由地使用、复制、修改和分发代码。
    • 主要用途:常用于小型项目和库,因为它简单且对使用者限制最少。
  2. Apache License 2.0

    • 简介:除了MIT的许可条件,还包括明确的专利授权,并要求在分发的每个文件中附上变更说明。
    • 主要用途:常用于需要明确专利权保护的大型项目,如Apache基金会的项目。
  3. GPLv3 (GNU General Public License v3)

    • 简介:要求任何修改后的版本也必须开源,并且使用同样的许可证(即“传染性”许可证)。同时,必须提供源代码。
    • 主要用途:保护用户自由,确保软件和修改版一直是开源的。常用于需要强制开源的项目。
  4. LGPLv3 (GNU Lesser General Public License v3)

    • 简介:允许链接到非LGPL的软件中,但对修改后的LGPL库本身仍要求开源和使用相同许可证。
    • 主要用途:常用于开源库,允许它们被非开源软件使用,同时保护库本身的开源性。
  5. BSD 3-Clause License

    • 简介:要求保留版权声明和许可文本,不得用作者名字为衍生作品做宣传或背书。
    • 主要用途:类似MIT,但增加了一些限制条件。常用于需要更严格控制名称使用的项目。
  6. MPL 2.0 (Mozilla Public License 2.0)

    • 简介:要求修改后的文件开源并保留MPL许可证,但允许与其他许可证的代码混合使用。
    • 主要用途:常用于需要混合开源和闭源代码的大型项目,如Mozilla Firefox。
  7. Unlicense

    • 简介:将代码完全放弃版权,投入公有领域,无需保留版权声明或许可文本。
    • 主要用途:用于完全放弃版权的项目,允许任何人以任何目的使用代码。

添加新评论