大家好,今天小编关注到一个比较有意思的话题,就是关于linux开源学习的问题,于是小编就整理了3个相关介绍Linux开源学习的解答,让我们一起看看吧。
为什么有管Linux叫开源的到底是什么意思?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。linux作用:linux多数适用于服务器中,提供系统支持,完成日常使用任务。
开源:(Open Source,开放源码)被非盈利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。
跑在Linux上的程序必须开源吗?
不是,只要能想办法绕过GPL就可以不开源。比如谷歌在安卓用中间层隔离内核,中间层开源,上面的驱动就不用开源了。应用层要自己写libc库,否则是绕不过,安卓、openwrt都用自己的libc,所以并不需要遵循GPL公开源码。
linux内核及众多软件***用的是gpl授权协议。gpl协议规定如果你在软件中包含了gpl授权的源代码或者调用了gpl协议的二进制库文件时就强制继承了gpl协议。根据gpl协议必须承担开源义务(gpl2.0允许自用不公开可以不开源,3.0自用也要开源)。
在linux平台上编写软件是可以不继承gpl协议的。因为你可以不调用那些gpl协议的库文件,linux下有大量的lgpl协议的底层库文件。lgpl协议规定如果以动态链接的方式使用是可以不继承lgpl协议的,也就可以不开源。
依赖gpl协议的linux内核的库文件为什么可以不继承gpl协议呢?linux内核的原作者linus解释过,使用系统调用的方式调用内核功能不算包含源码,也不算调用库文件,只算是使用内核。使用gpl软件不用继承gpl协议。
话虽如此,但linux下大量的现成软件是gpl的,如果要在linux下编一个软件除非功能很简单,否则难免会调用到一些gpl软件,除非不用那些现成软件全部自己重新写过。那样会花费大量时间、精力。
GNU计划是提倡开源的,没有强制性,其实linux也是GNU***中的众多软件中的一个软件。开源有几种形势开源,二进制码开源,汇编语言开源等,源程序语言开源等,如果是二进制码开源的话,再通过某些手段加工,就算反编译也得不到源程序。如果想分享的话,一般会以源程序的形势来开源。
对于开源就不得不提一下GPL协议,GPL协议就是GNU***提出的开源协议。linux软件分为应用软件和系统软件,应用软件可能开源限制的不多,但是系统软件就要遵循GPL(开源)协议了,例如写linux驱动程序要加一句MODULE_LICENSE("GPL");--模块许可证声明为GPL。即此驱动程序是以GPL协议开源的。
linux 开源 年限?
Linux是一个开源的操作系统,没有固定的年限,因为它是由全球各地的开发人员和社区持续维护和更新的。
Linux内核于1991年首次发布,至今已经存在了超过30年,但它的寿命和持续时间仍然取决于社区的支持和开发。
在Linux社区中,有许多企业和组织在使用和贡献于Linux,例如红帽、Ubuntu、Debian、Google、Amazon等。这些企业和组织在不断为Linux提供支持和改进,确保它能够满足不断变化的计算需求。
因此,Linux的寿命和持续时间取决于社区的参与和支持。随着技术的进步和计算机应用的发展,Linux将继续得到改进和更新,以适应新的需求和挑战。
到此,以上就是小编对于linux开源学习的问题就介绍到这了,希望介绍关于linux开源学习的3点解答对大家有用。