📜
开源许可证选择器
对比并为您的项目选择合适的开源许可证
选择许可证
许可证特性
| 权限 | 商业使用 修改 分发 私人使用 |
|---|---|
| 条件 | 包含版权 |
| 限制 | 责任 保证 |
自定义信息
年份
全名
生成的许可证
❓什么是开源许可证
开源许可证是一种法律协议,定义了软件如何被使用、修改和分发。它授予用户自由,同时保护创建者的权利并确保适当的署名。许可证从高度宽松(MIT、BSD)允许几乎任何使用包括专有衍生作品,到传染性许可证(GPL)要求衍生作品保持开源。选择正确的许可证至关重要,因为它影响其他人如何使用您的代码、是否可以与其他项目合并、专利保护和商业可行性。流行的许可证经 OSI 批准,并被开发人员和法律团队广泛理解。
✨功能特点
📊
许可证对比矩阵
并排对比流行许可证(MIT、Apache、GPL、BSD、MPL),显示权限、条件、限制,使用可视化指示器快速决策
🎯
智能推荐
回答关于项目需求的简单问题(商业使用、专利保护、衍生要求),获得个性化许可证推荐及理由
📄
完整许可证文本
查看完整许可证文本及关键条款说明,主要许可证提供原始英文和翻译版本,格式化便于阅读
⚡
即时 LICENSE 文件
生成格式正确的 LICENSE 文件,自动插入年份和版权持有者,可一键下载或复制到仓库
📋使用指南
浏览许可证
浏览流行许可证或使用对比矩阵理解差异
回答问题
使用问答模式回答关于项目要求的简单问题
查看推荐
查看推荐的许可证及其适合您需求的原因说明
生成 LICENSE
生成并下载 LICENSE 文件,已填写您的姓名和当前年份
📚技术介绍
⚖️许可证类别
开源许可证分为主要类别:宽松型许可证(MIT、BSD、Apache)允许专有衍生作品,限制最小,只需署名。传染性许可证(GPL、LGPL、AGPL)要求衍生作品使用相同许可证,确保代码保持开源。弱传染性(MPL、LGPL)在特定条件下允许与专有代码混合。公有领域奉献(Unlicense、CC0)放弃所有权利。类别影响项目可重用性、企业采用和许可兼容性。
🔐关键许可证条款
权限包括商业使用、修改、分发、私人使用。条件可能要求许可证和版权声明、说明变更、披露源代码、对衍生作品使用相同许可证。限制通常包括无责任、无保证,有时无商标或专利使用。专利授权(Apache 2.0、MPL 2.0)明确许可专利,对公司很重要。一些许可证(GPL v3、Apache 2.0)包括专利报复条款,如果用户起诉专利侵权则终止许可。
🔄许可证兼容性
许可证兼容性决定不同许可证下的代码是否可以合并。宽松型许可证(MIT、BSD、Apache)通常相互兼容并与传染性许可证兼容,因为它们可以重新许可。GPL 由于要求整个组合作品都使用 GPL 许可而与许多许可证不兼容。Apache 2.0 与 GPL v2 不兼容但与 GPL v3 兼容。LGPL 允许链接专有代码。兼容性对于使用依赖项、为项目贡献和合并代码库至关重要。
📜许可证演变
许可证随时间演变以应对新挑战:GPL v3 添加了专利条款和反 Tivoization 条款。Apache 2.0 添加了明确的专利授权和贡献者协议。MIT 和 BSD 有多个变体(0-clause、2-clause、3-clause BSD)。Creative Commons 从内容转向软件许可。AGPL(Affero GPL)扩展 GPL 以涵盖网络使用(SaaS)。Blue Oak Model License 和 Parity License 等现代许可证尝试使用通俗语言和网络传染性。版本选择影响法律清晰度和兼容性。
❓
常见问题
❓
这个工具有什么用途?
这个工具可以帮助您比较和选择适合您项目的开源许可证。它提供流行许可证(MIT、Apache、GPL、BSD、MPL)的并排比较,显示它们的权限、条件和限制,并帮助您生成格式正确的 LICENSE 文件,自动填入您的信息。
💬
如何使用这个许可证选择器?
您可以浏览流行许可证并使用比较矩阵进行比较,或使用问题模式回答关于您项目需求的简单问题。工具会根据您的答案提供推荐。选择许可证后,您可以用您的姓名和年份自定义它,然后生成并下载 LICENSE 文件。
🔍
这个工具是免费的吗?
是的,这个许可证选择器完全免费。无需注册、付费或创建账户。您可以立即在线使用,没有任何限制或限制。
💡
MIT 和 Apache 2.0 有什么区别?
两者都是宽松许可证,但 Apache 2.0 包含明确的专利授权,并要求您记录源代码的更改。MIT 更短更简单,但不提供相同的专利保护。Apache 2.0 更适合有专利担忧的企业项目。
📚
什么时候应该选择 GPL?
如果您希望衍生作品在相同许可证下保持开源(强 copyleft),请选择 GPL。这确保任何修改或分发您代码的人也必须将其更改开源。对于库,LGPL 可能更灵活,因为它允许与专有软件链接。
🎯
我可以在一个项目中组合多个许可证吗?
可以,但您必须确保许可证兼容。清楚地记录哪些部分属于哪些许可证条款,并包含所有许可证文件。工具会显示许可证兼容性信息,帮助您做出明智的决定。
✨
第三方依赖项怎么办?
许可证选择器显示兼容性信息。您还应该检查 package.json、requirements.txt 或其他依赖文件中的依赖项许可证,以确保它们允许您的分发模型。某些许可证可能会限制您如何分发项目。
🔗相关文档
User Comments
Loading...