1_科普—什么是GNU?什么是GPL协议?GNU和Linux是怎么结合在一起的?

简介: 1_科普—什么是GNU?什么是GPL协议?GNU和Linux是怎么结合在一起的?

一、GNU


GNU是在1983年由理查德·马修斯托曼提出的一个项目计划,目标是提供一个和Unix100%兼容的自由软件的操作系统。这个系统的名字叫GNU,是GNU’s Not Unix的首字母递归缩写—这是对Unix的技术思想致敬的一种方法,同时表达GNU有所不同。从技术上说,GNU很像Unix。但是它不同于Unix,GNU给予其用户自由。


二、GPL协议


GPL(General Public License)协议是指GNU通用公共许可证。任何软件发布,都需要许可证,GNU认为任何软件都应当以自由软件发布。要让一个软件成为自由软件,就需要把它以自由软件许可证发布。我们通常使用GNU通用公共许可证GNU GPL发布软件。


简单地说,GPL授权具有以下几个特点:


1.任何软件挂上GPL授权之后,即为自由的软件,任何人均可获取,同时,亦可取得其源代码;

2.取得GPL授权的软件后,任何人均可修改源代码,以使其符合自己的喜好;

3.除此之外,经过修改的源代码应回报给网络社会,供大家参考!


注意:并非挂上GPL之后的软件就不可贩卖,这是不同的两回事!


三、GNU和Linux是怎么结合在一起的呢?


1991年,林纳斯·托瓦兹编写出了与UNIX兼容的Linux操作系统内核并以GPL授权发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。


1992年,Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux“或简称Linux。


四、Linux是什么?


严格来说,Linux只是一个操作系统内核。大多数Linux发行版是由操作系统内核加上GNU的软件或工具形成完整的操作系统,也就是GNU/Linux。GNU/Linux是一种Unix Like操作系统。


五、Linux发行版本


Linux发行版指的就是通常所说的“Linux操作系统",它可能是由一个组织,公司或者个人发布的。


通常来讲,一个Linux发行版包括Linux内核,各种GNU软件,及其他的一些自由软件。在一些特定的Linux发行版中也有一些专有软件。


发行版为许多不同的目的而制作,包括对不同计算机硬件结构的支持,对一个具体区域或语言的本地化,实时应用,和嵌入式系统。目前,数百个Linux发行版被积极的开发,被广泛应用的发行版有:·····


Ubuntu


Redhat


Fedora


openSUSE


Linux Mint


Debian


Manjaro


Mageia


CentOS


Arch


六、内核


**内核(kernel)**是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。


内核源码网址:http://www.kernel.org


自由软件意味着使用者有运行、复制、发布、研究、修改和改进该软件的自由。


操作系统=内核(内核空间)+应用程序(用户空间)


目录
相关文章
|
3月前
|
安全 Linux 开发者
Debian GNU/Linux
Debian是Linux发行版之一,其起源可以追溯到1993年,由Ian Murdock创立。Debian的名字来源于其创始人Ian Murdock的女友的名字Deb和Linux的创始人Linus Torvalds的名字的组合,即“Deb”+“ian”。Debian的目标是创建一个自由、开放、安全、稳定的操作系统,为用户提供丰富的软件资源和良好的使用体验。 特点
67 8
Debian GNU/Linux
|
10月前
|
存储 网络协议 Ubuntu
【Linux开发实战指南】基于UDP协议的即时聊天室:快速构建登陆、聊天与退出功能
UDP 是一种无连接的、不可靠的传输层协议,位于IP协议之上。它提供了最基本的数据传输服务,不保证数据包的顺序、可靠到达或无重复。与TCP(传输控制协议)相比,UDP具有较低的传输延迟,因为省去了建立连接和确认接收等过程,适用于对实时性要求较高、但能容忍一定数据丢失的场景,如在线视频、语音通话、DNS查询等。 链表 链表是一种动态数据结构,用于存储一系列元素(节点),每个节点包含数据字段和指向下一个节点的引用(指针)。链表分为单向链表、双向链表和循环链表等类型。与数组相比,链表在插入和删除操作上更为高效,因为它不需要移动元素,只需修改节点间的指针即可。但访问链表中的元素不如数组直接,通常需要从
393 2
|
9月前
|
负载均衡 网络协议 Linux
在Linux中,如何理解VRRP协议?
在Linux中,如何理解VRRP协议?
|
9月前
|
安全 算法 网络协议
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
88 2
|
9月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
115 0
|
9月前
|
Unix Linux 开发者
在Linux中,什么是GPL、GNU,自由由软件?
在Linux中,什么是GPL、GNU,自由由软件?
|
9月前
|
网络协议 Linux 网络安全
在Linux中,我们都知道FTP协议有两种工作模式,它们的大概的⼀个工作流程是怎样的?
在Linux中,我们都知道FTP协议有两种工作模式,它们的大概的⼀个工作流程是怎样的?
|
9月前
|
域名解析 网络协议 Linux
在Linux中,我们都知道,dns采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么 时候采用udp协议?为什么要这么设计?
在Linux中,我们都知道,dns采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么 时候采用udp协议?为什么要这么设计?
|
9月前
|
NoSQL Linux Shell
在Linux中,GNU项目的重要性是什么?
在Linux中,GNU项目的重要性是什么?
|
10月前
|
网络协议 Linux 分布式数据库
【Linux】DNS系统,ICMP协议,NAPT技术详解
NAPT(Network Address Port Translation),也被称为端口地址转换,是一种NAT(网络地址转换)的形式。NAPT允许多个设备在内部网络上使用私有IP地址,并通过单个公共IP地址与外部网络进行通信。NAPT通过改变传输层的端口号来实现这一点,从而允许多个内部设备共享同一个公共IP地址。
120 0