npm许可证检查

2024-05-02 21:44
文章标签 npm 检查 许可证

本文主要是介绍npm许可证检查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

node开发做项目,很少有人去纯手工打造,大多是采用一些开源框架,还会使用前人做好的轮子,所以咱们的项目文件里,除了自己编写的js文件,还会带有一些拿来主义的npm模块,从其他开源发布网站上下载的js等文件也算在内吧。
我们作为开源软件的受益者,即使可能还不能算开源的贡献者,遵守开源软件许可证协议是最基本要求,也是道德底线。开源软件的许可有很多种,公认的可能都超过80种,比较常见的MIT,BSD,Apache,GPL,Mozilla等,有些是要求如果你的项目包含了使用了该许可的软件,那么你的项目也要开源,比如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 --output=csv --csvHeaders > projnpmlics.csv

可以生成当前项目依赖包的许可证清单,这样你可以对依赖包的许可有了全面详细的报告。如果包含GPL许可的话,你的项目又不开源的话,建议换成其他能实现类似功能的模块或者干脆自己手写轮子吧。
违反许可证的要求,虽然项目能跑起来,但是会被开源社区唾弃,而这将成为开发人员身上难以洗刷的历史污点。

这篇关于npm许可证检查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/955193

相关文章

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

开放源许可证

https://opensource.org/licenses/category

锁检查脚本

--用dba用户执行以下语句,可以查看到被锁的语句。 select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in (select session_id from v$locked_object WHERE object_id='107181'))

[vue小白]npm run运行以后无法关闭

开启vue任务后,关闭git bash窗口发现端口仍然被占用,程序没有关闭 通过查询资料,大部分都说ctrl+c就可以了,但是经过实践发现并不可行,目测大部分都是复制粘贴的答案。 经过尝试,最终发现可能只能暴力关闭了 1.在cmd中输入netstat -ano查询占用端口号的pid 2. 然后在任务管理器中查询对应的任务并关闭 3. 在linux系统中更简单,直接kill -9 pid即可

浅谈NODE的NPM命令和合约测试开发工具HARDHAT

$ npm install yarn -g  # 将模块yarn全局安装 $ npm install moduleName # 安装模块到项目目录下 默认跟加参数 --save 一样 会在package文件的dependencies节点写入依赖。   $ npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm root -g

【解决bug之路】npm install node-sass(^4.14.1)连环报错解决!!!(Windows)

有关node-sass的深入分析可参考:又报gyp ERR!为什么有那么多人被node-sass 坑过? 主要有如下三方面错误,请自查: 1.node,npm版本需与node-sass版本匹配,像node-sass(^4.14.1)就得node 14.x版本才可以,node 16不行 gyp ERR! build error15 gyp ERR! stack Error: `

C++ 代码检查工具

Cppcheck : http://cppcheck.sourceforge.net/ Clang Static Analyzer https://clang-analyzer.llvm.org / sudo apt install clang cppcheck main.c输出:Checking main.c...[main.c:15]: (error) Common reallo

2024年上海松江启动建筑绿色低碳发展专项检查,共绘城市节能新篇章

2024年9月4日,2024年度松江区建筑工程绿色低碳发展工作专项检查会议正式开展,会议内容主要围绕以下三点, 1、《关于开展 2024年度本市建筑领域绿色低碳发展工作监督检查的通知》宣贯。 2、分项计量、能效测评工作验收要求介绍。 3、专项检查工作安排。 我国在早期没有高度重视建筑物的环保节能,造成了过去30年内竣工的建筑绝大多数是高能耗工程建筑,这类工程建筑在未来几十年里将耗费许多能源

相机检查内参 外参

目录 检查内参 外参 像素点投影到世界坐标系,再投回到2d坐标系: 检查内参 外参 import cv2import numpy as np# 假设我们有以下相机内参K = np.array([[418.96369417, 0.0, 489.16315478],[0.0, 419.04813353, 267.88796254],[0.0, 0.0, 1.0]], dtype=n

rust 命令行工具rsup管理前端npm依赖

学习了一年的 rust 了,但是不知道用来做些什么,也没能赋能到工作中,现在前端基建都已经开始全面进入 rust 领域了,rust 的前端生态是越来越好。但是自己奈何水平不够,想贡献点什么,无从下手。 遂想自己捣鼓个什么东西,可以帮助到日常工作的。 记录一下在完成功能时遇到的一些问题,以及是怎么解决的。 解决的需求 公司有很多项目,都是依赖公司技术部门的一个框架,虽然说不行,但还是要用,里