在开发Node 程序时,你可能会发觉自己要比以往更加关注授权问题(我肯定是这样)。Node 生态系统的美好也体现在大量可用的开发包上。然而那些包都有其自身的授权,甚至更糟,每个包可能还要依赖其他包,也就是说要明白你写的程序各部分的授权是很难的。 然而也存在一些好消息。Node 开发包中最常见的是MIT 授权,它是毫不费力的许可,几乎允许你做任何想做的事情,包括把开发包放到闭源的软件中。然而,你不能假定使用的所有包都是MIT 授权。 npm 中有几个包会试图帮你确定项目中每个依赖项的授权。在npm 中搜索license-sniffer 或license-spelunker。 尽管最常见的授权是MIT,但你可能也会遇到下面这几种授权。 • GNU通用公共授权(GPL) GPL 是非常流行的开源授权,它为保证软件的自由做了精巧的构思。这意味着如果你在项目中用了GPL 授权的代码,那么你的项目必须也是GPL 授权的。这自然也就意味着你的项目不能是闭源的。 • Apache 2.0 这个授权像MIT 一样,你可以为自己的项目使用不同的授权,包括闭源的授权。然而,你必须对那些使用Apache 2.0 授权的组件做出声明。 • 伯克利软件分发(BSD) 与Apache 类似,这个授权允许你为自己的项目使用任何授权,只是你声明使用了BSD授权的组件。 软件有时是双授权的(有两种不同的授权)。一个非常常见的理由是允许软件用在GPL 项目和有更多许可授权的项目中。(对于用在GPL 软件中的组件而言,这个组件也必须是GPL 授权的。)我在自己的项目中也经常使用这一授权方案:GPL 和MIT 双授权。 最后,如果你在编写自己的包,你应该做个善良的人,选一个授权并在文档中正确声明。对于一个开发人员来说,没有什么比深挖源码才能确定所用开发包的授权更恐怖的了,或者更糟的情况是,发现它根本没有授权。
Node与Express开发——1.7 授权
书名: Node与Express开发
作者: [美] Ethan Brown
出版社: 人民邮电出版社
译者: 吴海星 | 苏 文
出版年: 2015-1
页数: 276
定价: 69.00元
装帧: 平装
ISBN: 9787115380333