1990年 赫尔辛基大学 计算机系硕士Linus Torvalds开发
1 个人开发,集天下英才。
2 源码开放,允许自由分发/拷贝
3 世界各地的Minix爱好者、骇客,提出改进建议,打补丁,并且为它开发应用程序。
Linux与GNU/GPL-->Linux/GNU
GNU: GNU’s Not Unix.
GPL: General Public License.
FSF: Free Software Foundation.
POSIX: Portable Operating System Interface
任何人都可以自由地拷贝、使用修改(重新发布时必须遵从GPL)和出售Linux(但软件不可收费)。
开源协定: GPL Apache BSD
GPL:我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
Apache:Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
需要给代码的用户一份Apache Licence
如果你修改了代码,需要再被修改的文件中说明。
在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
BSD:BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
支持Linux的厂商:
IBM HP Oracle Borland Intel AMD ...
优秀的开放源代码软件:
Bash Apache Openssl Proftpd Perl Samba Gcc
Mozilla Xorg MySQL Bind OpenOffice SendMail KDE/GNOME
Linux Distribution:
1,按运营模式划分:
商业模式:Redhat , Suse...
非商业模式:Debian, Gentoo...
2,按安装包方式划分
RPM: Redhat, Suse...
DEB: Debian, Ubuntu等
Source: gentoo, LFS
主要发行版本概述:
Redhat:
强大的技术实力
优秀的技术支持
简单易用
良好的软件集成和系统框架
基于rpm的包管理系统便于管理,同时也带来了严重的依赖问题。
Yum更新系统很好的解决了依赖问题,但软件库不是特别丰富且有版本限制。
因为需对源文件进行修造成有些软件编译困难。
Mandriva:
最漂亮的linux , 好看的用户界面
基于rpm的包管理系统跟redhat有类似的问题,但urpm使用了和yum同样的方法在一定程度上解决了该问题,也存在版本间限制。
技术实力欠佳
Debian:
纯正的linux
简易的升级方法
良好的开发环境
基于apt,deb包管理系统,拥有庞大的软件仓库,依赖问题少。
配置较为复杂
Gentoo:
性能最优
高度定制
软件最新,最为丰富
基于emerge软件安装系统,可获得最优性能
安装软件时耗费的时间过长
TurboLinux:
良好的中文支持
Redflag:
较好的中文支持
Windows like 界面
仿windows 配置方法
Suse、 新华、中标等。。。
Linux吉祥物: 企鹅