本文目录导读:

MIT协议(Massachusetts Institute of Technology License)是一种非常宽松、限制极少的开源软件许可证,它允许任何人自由地使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,只要保留原始的版权声明和许可声明。
它的核心特点就是“自由”和“无责任”。
核心条款
MIT协议主要包含两个部分:
- 版权声明:在软件的副本或实质性部分中,必须包含上述的版权声明和许可声明,这是使用者必须履行的唯一义务。
- 免责声明:软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性,在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责。
通俗理解
- 你可以做什么? 几乎可以做任何事。
- 商用:可以把它整合到你的商业软件里,甚至直接卖这个软件。
- 修改:可以随意修改代码,然后发布你自己的版本。
- 闭源:可以把它作为你闭源商业项目的一部分,不需要公开你的源代码。
- 再许可:可以把它和你的代码一起,采用其他更严格的许可证(如GPL)发布。
- 你必须做什么? 只做一件事。
- 保留声明:在你的软件副本或相关文档里,必须包含原始作者的版权声明和MIT许可协议文本,这通常是一段简短的文字,放在代码文件的头部或项目根目录的LICENSE文件中。
- 作者不承担什么责任? 什么都不承担。
- 无担保:如果这个软件有Bug导致你的服务器崩溃、数据丢失,或者使用了它导致任何法律问题,作者和贡献者一概不负责。
一个典型的MIT协议文本
协议文本非常简短,通常如下:
MIT License
Copyright (c) [年份] [版权持有人]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
与其他常见许可证的对比
-
MIT vs. GPL (GNU General Public License)
- GPL 是“copyleft”许可证,具有“传染性”,如果使用了GPL的代码,你的整个衍生作品也必须以GPL许可证发布,并公开源代码,这限制了商用闭源。
- MIT 是“宽松”许可证,没有传染性,允许闭源商用。
- 如果你想保护开源成果,确保它永远开源,用GPL,如果你想最大程度地推广代码、吸引开发者,不怕别人用它赚钱(甚至闭源),用MIT。
-
MIT vs. Apache 2.0
- MIT 更简单,只有版权声明和免责声明。
- Apache 2.0 更复杂,除了版权声明,还明确授予了专利授权,这意味着代码贡献者不能因为你用了他的代码而起诉你专利侵权,Apache 2.0还要求修改后的文件要有修改说明。
- 如果你特别担心专利问题,或者项目规模大、涉及公司背景,Apache 2.0更严谨,如果只是个人小项目或想极致简化,MIT就够了。
-
MIT vs. BSD (Berkeley Software Distribution License)
- BSD 3-Clause 与MIT非常相似,只是多了一个禁止背书条款,即不允许使用项目名称或作者姓名来推广衍生产品,除非获得书面许可。
- BSD 2-Clause 则与MIT几乎完全等价。
- 从效果上看,MIT和BSD 2-Clause基本可以互换使用,BSD 3-Clause比MIT多了一个保护名誉的条款。
谁在使用MIT协议?
非常多著名的开源项目使用MIT协议,
- jQuery、Node.js、React、Angular、Bootstrap、X11 (即原始X Window System,MIT协议得名于此)。
MIT协议是一种极简、宽松、友好、商业友好的开源许可证,它唯一的硬性要求就是保留版权和许可声明,不限制使用者的任何其他行为,它是最流行的开源协议之一,特别适合那些希望代码被广泛使用、不受商业限制的项目。