Solidity中引入的SPDX是什么
起因
Solidity ^0.6.8 要求引入 SPDX 许可证,否则会出现警告:
Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: <SPDX-License>" to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
一般是在.sol文件第一句加上
不过这行到底是做什么的呢?
SPDX
首先是SPDX,这是个组织名,其网站为:
SPDX 许可证列表 |软件包数据交换 (SPDX)
SPDX-License-Identifier 组合起来就是在指SPDX的许可证列表
后面的格式为 :+ SPDX的许可证列表中的某个许可证
MIT
基本信息
全名 | 标识符 | 自由软件基金会免费/自由? | OSI 已批准? |
---|
MIT License 麻省理工学院许可证 | MIT | Y | Y |
MIT的具体内容
特此免费授予获得(“软件”)副本的任何人不受限制地处理本软件的许可,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本的权利
上述版权声明和本许可声明应包含在本软件的所有副本或大部分内容中。 (包括下一段)
本软件按“原样”提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途的适用性和不侵权的担保。在任何情况下,对于因本软件或本软件的使用或其他交易而引起、引起或与之相关的任何索赔、损害赔偿或其他责任,无论是在合同诉讼、侵权行为还是其他方面,均不承担任何责任。
总结
这行就是在指明你写的智能合约采用什么样的对外开放标准,该标准规定了别人是否拥有商业开发,学习使用等权利。MIT规定了其他人随便用该代码,但出问题不负责。
|