2:Linux由UNIX操作系统发展而来,其1.0版本已经是一个功能完备的操作系统,其内核紧凑高效,可以充分发挥硬件的性能。
Linux加入GUN并遵循通用公共许可证(GPL),由于不排斥商家对自由软件的进一步开发,故而出现了很多Linux发行版本。
Linux操作系统具有以下特点。
1:Linux具备现代一切功能完善的UNIX系统所具备的全部特性,其中包括真正的多任务,虚拟内存,共享库,需求装载,优秀的内存管理
以及TCP/ip 络支持。
2:Linux发型遵守GNU的通用公共许可证(GPL。)
3:在源代码级上兼容绝大部分的UNIX标准,遵从POSIX规范。
为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都遵循无条件授权给所有人的协议条款——GNU通用公共许可证(
GNU General Public Liense,GPL)。
2:GNU和Linux的关系
Linux中使用了许多GNU工具,用于实现POSIX.2标准工具几乎都是GNU项目开发的。Linux内核、GNU工具以及其他的一些自由软件组成了人们常说的
LINUX.包括C语言编译器和其他开发工具及函数库x WINDOW窗口系统,各种应用软件(包括字处理软件、图像处理软件)、其他各种Internet软件(
包括FTP server,WWW server)、关系数据库管理系统。
3:通用公共许可证(General Public License,GPL)
GPL和软件是否免费无关,他的主要目的是保证软件对所有用户来说是自由的。GPL通过如下途径实现这一目标
(1):要求软件以源代码的形式发布,并规定任何用户都能够以源代码的形式将软件复制或发布给其他用户。
(2):提醒每个互用,对于该软件不提供任何形式的担保。
(3):如果用户的软件使用了受GPL保护的软件的任何一部分,该软件都会成为GPL软件。也就是说必须随应用程序一起发布源代码。
注:这句话看似很明确。但是关键是他定义的“使用”。的范畴怎么算。这里说的感觉不够详细,与其他内容有些矛盾。
(4):GPL并不排斥对自由软件进行商业性质的包装和发行,也不限制在自由软件的基础上打包发行其他非自由软件。
遵照GPL的软件并不是刻意任意传播的。这些软件都有正式的版权,GPL在发布软件或者复制软件时都会声明限制条件。用户只会收益,因为它可以确保用户获得源代码。
Linux内核也属于GPL范畴,但GPL并不适用于通过系统调用而使用内核服务的应用程序,通常把这种应用程序看做是内核的正常使用。假如
准备以二进制的形式发布应用程序(商业软件),则必须确保自己的程序未使用GPL保护的任何软件。如果软件通过库函数调用而且使用了其他软件,
则不必受此限制大多数函数库受另一种GNU公共许可证,即LGPL的保护。
注:库函数调用不算使用GPL保护的任何软件。
7:LGPL(Libraray General Public License)
LGPL允许在自己的应用程序中使用程序库,即使不公开自己的源代码。但是,LGPL还规定,用户必须能够获得在应用程序中使用的程序库的源代码。
并且允许用户对这些程序库进行修改。
在Linux环境下,使用GCC编译器建立自己的应用程序,程序所连接的多数程序库是受LGPL保护的。如果想以二进制的形式发布自己的应用程序,
则必须注意遵循LGPL有关规定。
遵循LGPL的一种方法是,随应用程序一起发布目标代码,并发布这些目标程序和受LGPL保护的、更新的Linux程序库连接起来的makefile文件。
遵循LGPL的另一种方法是使用动态链接。使用动态链接时,即使程序在运行中调用函数库的函数。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!