OS + opensource protocol / GNU GPL / GNU LGPL / Mozilla MPL / Eclipse EPL / MIT License / Apache License / BSD License / Creative Commons / CPL / SWL / NDL / COSCL / Mulan License

s

 

许可证名称主要特点例子
GNU General Public License (GPL) 强调开源,要求源代码可用,要求修改的代码也是开源的。 Linux内核,GNU工具,MySQL(GPLv2),WordPress
GNU Lesser General Public License (LGPL) 类似GPL,但允许与非开源代码链接。 glibc(以及与其他应用程序链接的库)
Mozilla Public License (MPL) 鼓励开源,要求修改的部分也是开源的,但有一些特殊规定。 Mozilla Firefox,Thunderbird
Eclipse Public License (EPL) 专为Eclipse项目设计,允许闭源插件。 Eclipse IDE,BIRT,Mylyn
MIT License 简洁,允许自由使用,修改和重新分发,只要包含原始版权声明。 Node.js,jQuery,Ruby on Rails
Apache License 强调贡献者的特许,允许私有修改,要求保留原许可证和声明。 Apache HTTP Server,Hadoop,Kafka
BSD License 灵活,只要保留版权声明,允许私有修改和闭源分发。 FreeBSD,NetBSD,Nginx,SQLite
Creative Commons 用于非软件内容,允许制定不同的授权级别和使用条件。 文档,照片,艺术品,教育资源
Beerware许可证 一种轻松幽默的许可证,允许你在请作者喝啤酒后使用代码。  
中国公共许可证(CPL) 基于Mozilla Public License(MPL),适用于中国法律。 RuoYi(Java后端框架),WeBASE(区块链平台)
软件著作权许可证(SWL) 鼓励开源,但有特定约束,如商业使用需要授权。 华为的一些开源项目,如MindSpore深度学习框架
非商业软件独立开发者许可协议(NDL) 针对非商业软件独立开发者,允许非商业用途。 适用于一些个人开发者的小型项目。
中国开源社区合作协议(COSCL) 适用于开源社区合作,鼓励代码共享和贡献。 中国开源社区项目可能采用此许可证。
木兰协议(Mulan Permissive Software License)

一种鼓励开源但也允许商业使用的开源许可证,为开发人员提供了在保护他们的知识产权的同时分享代码的机会。

主要特点是鼓励开源,但也允许在某些情况下将软件用于闭源目的。

  1. 开源性质:木兰协议要求源代码必须是开放的,即使用于商业项目。这符合开源精神,鼓励源代码的可访问性。

  2. 商业使用:与一些其他开源许可证不同,木兰协议允许将软件用于商业目的,包括闭源软件项目,而不需要在某些情况下公开闭源代码。这使得它在商业环境中更具灵活性。

  3. 衍生作品:木兰协议还规定,对软件的修改或衍生作品必须发布源代码。这有助于确保任何基于该软件的进一步开发仍然是开源的。

 

 

 

问题1:could not open session 解决办法

https://blog.csdn.net/qq_40809549/article/details/82658720

解决1:

配置limits.conf时,原计划配置:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
手闲,在每个后面都加了一个0,然后.......就各种进不去了,报错“could not open session”
因为是虚拟机,参考下述文章中的办法二,成功解决,抄录一下。
https://blog.csdn.net/yjh314/article/details/50834003

 

tar 文件批量解压缩。

ls *.tar.gz|xargs -n1 tar tvfz

xargs的- n1参数

http://blog.163.com/squall_smile/blog/static/603498402013122570281/

下载LOFTER 我的照片书 |
[本文已迁移至http://www.swmemo.com/448.html,可能有更新内容哦,欢迎查看]

起因在对一堆*.tar.gz文件解压缩时,发现tar xvfz *.tar.gz不管用,一查,原来是tar xvfz *.tar.gz会被shell给拆成tar xvfz a.tar.gz b.tar.gz c.tar.gz,而在a.tar.gz中不存在b.tar.gz,当然会报错。

解决方法是使用脚本,写法很多,其中一种是:
for i in $(ls *.tar);do tar xvf $i;done
或:for tar in *.tar.gz; do tar tvfz $tar;done

另还有一种使用xagrs的写法:

ls *.tar.gz|xargs -n1 tar tvfz

关键就在于这个xagrs的-n1参数是什么意思呢?

n1应该是指每次只传递一个参数给args命令,有高人写过如下脚本对比,非常能说明问题:

echo "1 2 3 4"|xargs -n1
1
2
3
4
echo "1 2 3 4"|xargs -n2
1 2
3 4

这样,若加n1参数,则*.tar.gz会拆成每个tar.gz文件后,一个一个传给tar tvfz命令,这样就解决了问题。

end

 

posted @ 2018-07-14 10:40  siemens800  阅读(152)  评论(0)    收藏  举报