FreeBSD连载27:应用软件的类别

来源:岁月联盟 编辑:zhu 时间:2008-01-17
FreeBSD连载27:应用软件的类别内容简介:【FreeBSD教程】安装应用软件 FreeBSD下拥有多种预编译好的软件包,包括了从数学运算到系统维护,从图象处理到Internet服务程序等大量的软件。之所以能拥有如此丰富的软件,除了Unix本身就是一个非常流行的开发

  【FreeBSD教程】安装应用软件

  FreeBSD下拥有多种预编译好的软件包,包括了从数学运算到系统维护,从图象处理到Internet服务程序等大量的软件。之所以能拥有如此丰富的软件,除了Unix本身就是一个非常流行的开发平台之外,另一个重要原因就是每种Unix中均提供了高级语言C作为了标准开发语言,而C语言具有高度可移植性,并且随着Unix的流行它成为了最重要的一种程序设计语言。

  由于Unix运行在多种不同的平台上,而不同平台上的二进制执行文件只包含本平台上的机器指令,因此造成一个平台上的应用程序不能直接在另一个平台上运行。但是在Unix的世界中,有着通用的编程语言C和相同的系统调用,使得不同的Unix平台上程序的C代码基本相同,为一种Unix开发的应用程序,很轻易就能移植到其他Unix系统中。传统上在Unix上安装各种应用软件一般使用源代码的形式,需要治理员手工编译安装,这就要求治理员需要熟悉C语言及其开发工具。然而这样操作究竟是一个繁琐的任务,尤其对于不太熟悉C语言的使用者更为困难。因此各种Unix各自发展了一些直接安装二进制程序的机制,FreeBSD中也提供了Packages Collection── 一种治理和安装预编译好的软件包机制,来帮助使用者治理各种应用软件,使得用户不需要了解C语言及其开发工具,也能正常进行应用软件的安装和治理。

  应用软件的类别

  在安装和使用应用软件的时候,正版和盗版等版权问题总是计算机使用者需要考虑的话题之一。很多计算机使用者总以为软件的版权问题与光盘、磁带类似,不是正版就是盗版。然而情形并非绝对如此,绝大多数软件的开发者倾向于让自己开发的程序被尽可能多的人使用,当软件开发者不以软件作为获利的目的时,对软件的使用就没有采取任何限制,或者是很宽容的限制。其他使用者就可以自由使用这些软件,而不需要考虑版权问题。

  正由于软件开发者的目的不同,因此对他们的软件使用的版权保护方法也不同。有的开发者出于自己的个人爱好、需要或信仰而开发软件,希望自己的软件为更多的人使用,没有或暂时没有从软件中获利的目的,因此就鼓励其他人使用这个软件。有的开发者出于盈利的目的开发软件,因此就使用了严格的版权限制。按照不同软件的版权限制,可将应用软件可以分为两类:

  公共域软件与自由软件

  这些软件的作者对版权不加任何限制或者限制很少,属于这一类的软件通常提供源程序,答应使用者自由使用软件并任意修改。FreeBSD系统中包括的软件均属于这一类,因此使用者不需要考虑使用FreeBSD的版权问题。其中公共域软件对版权没有任何限制,可以认为是属于放弃版权的软件。很多公共域软件是科研机构和大学开发的,但也被商业公司用于自己的系统中,此时商业公司就使用了自己的版权声明,而用户却无法自由使用该软件。

  为了保护软件不被商业机构滥用,自由软件基金会的Stallman使用了GNU版权许可来保护用户自由使用软件的权利,这个版权许可答应将自由软件用于商业目的,但必须答应用户有自由使用、拷贝、修改的权利。根据这个许可,可以销售GNU软件,但必须同时包括它的源程序以便用户根据情况修改(或者在用户要求时提供)。

  GNU软件许可并不是唯一的自由软件许可权声明,FreeBSD使用的BSD许可也是另一个重要的版权许可。与GNU许可相比,BSD许可更宽松一些。BSD许可只要求必须保持显示的相关作者的声明信息,对商业使用限制更少。此外还有X的版权许可等。由于GNU软件许可最为闻名,并且也比较完善,因此很多非自由软件基金会的软件也使用这个许可权,用来保护自己软件的版权。

  事实上这一类软件在计算机发展中起了很重要的作用,它们经常最先实现很多新想法、新功能,推动软件技术的发展。自由软件的功能、效率和可靠性并不比商业软件差,有的软件甚至要好于同类的商业软件,唯一的问题是自由软件不提供技术服务,仅仅随同软件提供一些电子文档,需要使用者自己去学习安装和使用。当然,自由软件通常也有相应的商业版本,差别就在于提供了商业技术服务支持。

  共享软件与专有软件

  这些软件通常是基于商业目的开发的软件,这些软件通常使用严格的版权规定。这些软件中的大部分不答应使用者免费使用。但出于商业目的,一些软件答应使用者免费使用,但对软件的自由使用提出了一定的条件和限制。

  一些共享软件不提供源代码,一些商业软件的演示版本提供了较弱的功能和使用时间限制。还有一些软件的限制更宽松,答应个人用户自由使用软件,但不许可自由分发、拷贝软件。

  一些FreeBSD安装介质中,在基本系统之外也提供了一些共享软件,供使用者手工安装(不能使用安装程序安装)。这些软件答应使用者在一定条件下,并按照软件本身的声明使用这些软件。由于版权问题,系统不会将这些软件包括进系统内部,使用者只有在保证软件版权条件下才能运行这些软件。

  开放源码观念

  由于在Unix世界中,软件的标准为C语言,有了C源代码就能将应用程序移植到其他Unix上,因此在Uni x传统上,就有一种提供软件的同时也应该提供源码的观念。

  发布软件的源代码对用户有很多好处,一方面用户能够了解他们使用的软件是可以信赖的,即使存在问题,也能够及时发现错误,并依据源码及时纠正,这些修正返回到开发者那里,同样起到促进软件发展的目的。另一方面究竟通用软件并不一定完全适合用户的需要,发布软件的源码使得用户能够按照自己的需求定制软件。

  因此在Internet上很多软件的作者都认同这种观念,这种观念还得到了包括Netscape等商业公司的支持,进而组织了开放源码组织(Open Source)来支持这种观念。FreeBSD的众多开发者就是这个组织的坚定支持者。其网址为http://www.opensource.org

  当前开放源码得到了一些商业公司的支持,如netscape公司就公开了它们的浏览器的源代码。出于技术的发展,软件本身已经不再包括太多的技术秘密了,在Internet上可以找到各类程序的源代码,依靠未公开接口保持软件秘密的做法基本被大家抛弃。当程序设计从 “艺术” 转变为 “工程” ,重要的就不再是程序设计的秘密,而是软件工程了。商业公司也可以从开放源代码的情况下,获得使用者更多的建议,使得它的软件能进一步完善。

图片内容