-
图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
GPL
GPL 是一种包括Linux都使用的开源协议,GPL和BSD及Apache licensed等协议的重用许可都不一样,用户可以拿GPL来免费使用和修改成衍生版代码以做二次开发,但是修改生成后并不能拿去作为闭源的商业软件来出售或盈利。此外,修改好的代码也只能作为GPL协议的衍生产品免费供其他用户或组织使用,绝不允许付费使用。此即GPL到“传染性”。GPL的出发点是代码的开源性和引用/修改/衍生代码的免费性,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。Linux 采用了 GPL,这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
LGPL
LGPL是GPL的一个主要为类库使用设计的开源协议。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售,但二次开发过后的代码也必须采用LGPL协议才行。
BSD
BSD开源协议:它给予用户的权限很大,可以由用户随意使用,修改源代码,修改好后还能作为开源软件重新发布。
MIT
而MIT协议虽然和BSD协议类似,但是它给予用户的权限更宽,该软件和相关文档对所有人免费任意处置,不论是复制、修改、发布、分发,还是销售都无问题,只要发布者在新的发行版里发布包含原许可协议的声明即可。
Apache Licence
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件).需要满足的条件也和BSD类似:
◆ 需要给代码的用户一份Apache Licence
◆ 如果你修改了代码,需要再被修改的文件中说明.
◆ 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明.
◆ 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence.当然你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改.
◆ Apache Licence也是对商业应用友好的许可.使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售.
Mozilla
Mozilla即MPL,同著名的GPL许可证和BSD许可证相比,MPL在许多权利与义务的约定方面与它们大致相同。但是,相比而言MPL还有以下几个显著的不同之处:
◆ MPL虽然要求对于经MPL许可证发布的源代码的修改也要以MPL许可证的方式再许可出来,以保证其他人可以在MPL的条款下共享源代码。但是,在MPL许可证中对“发布”的定义意味着MPL允许一个企业在自己已有的源代码库上加一个接口,也就是除了接口程序的源代码以MPL许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个额外选项。
◆ MPL许可证第三条第7款中允许被许可人将经过MPL许可证获得的源代码同自己其他类型的代码混合得到自己的软件程序。
◆ 对软件专利的态度,MPL许可证不像GPL许可证那样明确反对软件专利,但是却明确要求源代码的提供者不能提供已经受专利保护的源代码(除非他本人是专利权人,并书面向公众免费许可这些源代码),也不能在将这些源代码以开放源代码许可证形式许可后再去申请与这些源代码有关的专利。
◆ 对源代码的定义不同
在MPL(1.1版本)许可证中,对源代码的定义是:“源代码指的是对作品进行修改最优先择取的形式,它包括:所有模块的所有源程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的‘原本’(原文为‘Script’)。”MPL许可证第3条有专门的一款是关于对源代码修改进行描述的规定,就是要求所有再发布者都得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。 -
安装centos ubuntu系统.
安装没问题,如图
-
通过计算机基础和帮助的学习,完成学习ifconfig命令的使用。
ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。
命令格式:
ifconfig 接口 [aftype] options | address …
查看处于激活状态网络接口信息:[root@rocky8 ~]# ifconfig
显示所有接口信息:[root@rocky8 ~]# ifconfig -a
显示摘要信息:[root@rocky8 ~]# ifconfig -s
显示ens160接口信息:[root@rocky8 ~]# ifconfig ens160
关闭网卡:[root@rocky8 ~]#ifconfig ens160 down
启动网卡:[root@rocky8 ~]#ifconfig ens160 up
修改网卡ip地址掩码:[root@rocky8 ~]#ifconfig ens160 10.0.0.129 netmask 255.255.255.0
修改网卡MAC地址:[root@rocky8 ~]#ifconfig ens160 hw ether 00:0c:29:49:e3:f4
设置能通过的最大数据包大小为1490bytes:[root@rocky8 ~]#ifconfig ens160 mtu 1490
开启arp功能:[root@rocky8 ~]#ifconfig ens33 arp
关闭arp功能:[root@rocky8 ~]#ifconfig ens33 -arp
4.总结linux FHS结构
FHS:Filesystem Hierarchy Standard(文件系统层次化标准),定义了在Linux系统中的目录结构和目录内容,大多数Linux版本均采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。
/ 根目录
│
├boot/ 启动文件。所有与系统启动有关的文件都保存在这里
│ └grub/ Grub 引导器相关的文件
│
├dev/ 设备文件
├proc/ 内核与进程镜像
│
├mnt/ 临时挂载
├media/ 挂载媒体设备
│
├root/ root用户 的 $HOME 目录
├home/
│ ├user/ 普通用户 的 $HOME 目录
│ └…/
│
├bin/ 系统程序
├sbin/ 管理员系统程序
├lib/ 系统程序库文件
├etc/ 系统程序和大部分应用程序的全局配置文件
│ ├init.d/ SystemV 风格的启动脚本
│ ├rcX.d/ SystemV 启动脚本的链接,定义运行级别
│ ├rc.d/ BSD 风格的启动脚本
│ ├rc.xxx BSD 风格启动脚本,定义运行级别
│ ├network/ 网络配置文件
│ ├X11/ 图形界面配置文件
│
├usr/
│ ├bin/ 应用程序
│ ├sbin/ 管理员应用程序
│ ├lib/ 应用程序库文件
│ ├share/ 应用程序资源文件
│ ├src/ 应用程序源代码
│ ├local/
│ │ ├soft/ 用户程序
│ │ └…/ 通常使用单独文件夹
│ ├X11R6/ 图形界面系统
│
├var/ 动态数据
│
├temp/ 临时文件
5. 简要描述后期学习的计划
学习计划:
1)因为5年前学过一遍linux,此次网络班主要是快速看视频过一遍基础,理论加实践理解底层原理,主攻时下技术热点,积累项目经验,为面试打基础;
2)重点操作练习每节课中的实战案例,理解原理,加深思考能力;
3)归纳总结重点,记录平时遇到的坑,查漏补缺,多敲多打,提高原理理解能力,总结案例特点;
4)暂时没想到,边学习边总结……..
原文地址:http://www.cnblogs.com/wanglinux/p/16909928.html