文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

自由软件、开源软件、免费软件,您真的分得清吗?

2024-12-11 21:52

关注

[[329546]]

自由软件、开源软件、免费软件,这三个业内最常见出现的软件术语,想必您很难用一句话就说出它们之间的区别。本文将重点和您讨论这三个术语之间的主要区别,以便您在构建技术类产品时,能够做出正确的选择。

自由软件(Free Software)

首先,我们必须弄清楚的是:所谓“Free Software”中的“free”一词强调的是自由,而不是价格上的免费。因此,为避免英语歧义,有时人们也称为:libre software。

支持自由软件开发的非营利组织--自由软件基金会(Free Software Foundation,FSF,请参见-)是这样定义的:“自由软件是指那些授予用户自由共享,学习和修改权利的软件。”该名称由FSF在上个世纪八十年代所创造。也就是说,您可以对此类软件做任何想做的事情,甚至可以对其原有版本进行改进,进而从中获利。

在FSF的定义中,自由软件必须遵守如下四个“自由支柱”(注意这些是权利而不是义务):

FSF同时强调:自由软件不仅仅局限于非商业用途。如果某个商业软件程序能够允许用户间接获取上述“自由”,那么它也属于该类型。

此外,与免费工具不同的是,由于用户可以自由地进行修改,因此自由软件允许用户访问其源代码。

从理论上说,任何自由软件的许可证,都应该使得用户能够从上述四点中受益。这些许可证既可以是保护性的,也可以是非保护性的。其中,前者将要求其使用者维持软件原有的使用,研究,分发和修改等权利(也就是业界经常提到的:著佐权,copyleft)。而后者则允许使用者在二次分发时修改这些权利。

以下是最常用来定义自由软件的三种许可证(请参见)类型:

在完全尊重自由性的方面,Linux操作系统算是自由软件领域最典型的一个范例了。其中我们比较熟悉的一个发行版便是赫赫有名的Debian。

开源软件(Open Source Software)

虽然术语名称有所不同,但是开源软件与自由软件在含义上比较相近。它们有着一套相似的许可证和软件权限。

支持开源软件开发的非营利组织--Open Source Initiative(OSI,请参见)极力倡导:任何开源软件都必须遵循如下标准:

尽管这两个术语都源于支持自由软件的思想(包括上面提到的使用,研究,共享和修改的权利),但是从历史上看,自由软件的叫法早于开源软件,而且它们的目标和理念也有所不同。

开源一词是在上个世纪九十年代后期,针对自由软件的限制而引入的。实际上,OSI让它具有了“教育和倡导开放式开发流程的优势”(请参见)。开源软件“提供了一种与潜在的软件用户和开发人员相互动的宝贵方法。通过一个具有互动参与性的社区,大家可以创建新的或改进原有的源代码。”可见,“开源”一词强调了自由软件的一个实际好处便是:支持各种软件开发项目中的协作。换句话说,开源是一种更加面向业务的开发理念,而自由软件则是一种针对社会和道德的哲学。正是由于“开源”一词较少地强调了自由性,因此它更为企业所接受。

我们以Android移动操作系统为例,它属于开放源代码类软件,但是不能被称为自由软件。其原因就在于它没有遵从上述四个“自由支柱”。

为了最大程度地减少误解,并避免自由软件和开源软件之间的术语之争,业界在后续又出现了诸如FOSS(free and open source software)和FLOSS(free, libre, and open source software)之类的其他术语。

免费软件(Freeware)

免费软件是指您可以在不产生任何费用的情况下使用某个软件。与开源软件和自由软件不同,免费软件给最终用户提供了最小的自由度。一般而言,用户虽然可以免费地使用某个软件,但是在未经作者许可的情况下,通常无法对其进行修改,调整,以及二次分发。可见,免费软件通常是在不包含其源代码的情况下被共享使用的,这是和开源软件、以及自由软件的本质区别。

Skype和Adobe Acrobat Reader是两款最常见的免费软件。它们虽然可以被免费使用,但是其源代码并不对外公开。在实际商业环境中,大多数开发人员通常会选择将免费软件作为免费增值的服务、或以共享软件的形式进行销售,以便鼓励用户购买其对应的、功能更为强大的版本。这里的免费增值服务是指那些免费提供的程序,它们往往需要用户花费更多的钱,才能获得额外的、更为全面的功能。

可见,免费共享软件就是指那些最初无需任何附加费用,即可使用的程序。它们鼓励用户去分发其副本。不过,此类不收费期往往只会持续一段时间。过期以后,用户还是需要付费才能继续使用。

结论

综上所述,无论您是在开发构建手机游戏、加密货币交易的机器人、还是网站等其他技术产品,都请确保使用正确的术语,来进行准确地描述。此外,如果您想将创建好的程序免费地发布到某个开源社区,也请确保事先进行了足够的研究,透彻了解了所选许可证的局限性和相关责任。

【原】Free Software vs Open Source vs Freeware: What's the Difference? (作者: Dr. Michael Garbade )

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

来源:51CTO.com内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯