涡阳做网站,上海静安做网站多少钱,网站上线 备案,哈尔滨最新消息node开发做项目#xff0c;很少有人去纯手工打造#xff0c;大多是采用一些开源框架#xff0c;还会使用前人做好的轮子#xff0c;所以咱们的项目文件里#xff0c;除了自己编写的js文件#xff0c;还会带有一些拿来主义的npm模块#xff0c;从其他开源发布网站上下载的…node开发做项目很少有人去纯手工打造大多是采用一些开源框架还会使用前人做好的轮子所以咱们的项目文件里除了自己编写的js文件还会带有一些拿来主义的npm模块从其他开源发布网站上下载的js等文件也算在内吧。 我们作为开源软件的受益者即使可能还不能算开源的贡献者遵守开源软件许可证协议是最基本要求也是道德底线。开源软件的许可有很多种公认的可能都超过80种比较常见的MITBSDApacheGPLMozilla等有些是要求如果你的项目包含了使用了该许可的软件那么你的项目也要开源比如GPL许可所以GPL也被称为带有传染性如果你的项目现在不适合开源不想开源那么就不要在项目里包含GPL许可的软件其他许可还好了大多没有要求开源你可以认为是比较友好和宽松没有强制开源的要求。 如果项目可以开源希望所有人都能受益开源社区繁荣项目开源并采用GPL许可也挺好没有开源打算的那从一开始构建项目就要回避GPL的npm模块如果需要一个有成熟的框架不用手工重新发明轮子那么应该在可选的范围里有意识筛去GPL的选择对闭源友好的许可证的框架。 那怎么识别这些开源的许可呢 1.下载前看开源软件会在官网和软件介绍的醒目位置标识其使用的开源许可证。 2.已经下载到本地了的话可以在其node_modules目录下的软件模块的文件夹下的package.json文件里也会在license字段标识其许可证。 3.之前没有太注意正式发布前检查这时项目可能已经有很多依赖包了node_modules下可能有很多文件夹了一一看来检查效率太低这时推荐一个npm工具license-report 推荐安装全局生效
npm install -g license-report在项目目录下执行
license-report --outputcsv --csvHeaders projnpmlics.csv可以生成当前项目依赖包的许可证清单这样你可以对依赖包的许可有了全面详细的报告。如果包含GPL许可的话你的项目又不开源的话建议换成其他能实现类似功能的模块或者干脆自己手写轮子吧。 违反许可证的要求虽然项目能跑起来但是会被开源社区唾弃而这将成为开发人员身上难以洗刷的历史污点。