什么叫开源软件?

1997春天,自由软件社团的一些领导者聚集到加利福尼亚州。这个社团包括EricRaymond,TimO’Rerlly,VA Research的总裁Larry Augustin等人,他们所关心的是一种寻找方式,来向以前躲避自由软件思想的人们推广这种思想。他们担心,自由软件基金会的反商业信条会让人们对自由软件敬而远之。

在Eric Raymond的坚持下,这群人同意他们所缺乏的是市场营销活动,这个活动的目的是赢得思想,而不仅仅是市场份额。最后讨论的结果产生了一个新的术语来描述他们所推进的软件:Open Source(开烦扰软件)。他们制定了一系列的指导原则,用来描述哪些软件可以有资格被称为开源软件。

Bruce Perens 为制定开源软件的定义做了很多基础性的工作。GNU工程的正式目标之一就是创造一个自由可用的操作系统,以作为平台来运行GNU软件。从软件引导(softwera boottstrapping)的传统观点来看,Linux已经成为那个平台,L inux是在GNU工具的帮助下创造出来的。Perens曾经是Debian工程的领导者,它所管理的Linux发行版本,只包括那些符合GNU精神的软件。Perens已经在“Debian社会契约”(Debian Social Contract)中明确地阐明了这一立场。开源软件的定义是“Debian社会契约”的直接产物,因此开源软件是与GNU的精神一脉相承的。

与GPL相比,开源软件的定义允许更大授权自由。特别是当软件中混合了专有软件和开源软件时,开源软件的定义允许在它们的基础上生成更大的混合。

结果是,开源软件许可证能令人信服地允许使用和再分开开源软件,而不必考虑补偿或者信用问题。举例来讲,你可以得到伟大的Netscape浏览器的源代码,并且把它作为连同另一个软件(可能是专有软件)一起发布出去,而用不着去通知网景(Netscape)公司。网景为什么会希望如此呢?原因很多,最引人注目的是,这样做可以为他们的客户端代码赢得更大的市场份额。这些代码与他们的商业软件一起工作得的非常好。从这个角度来说,奉送源代码是建立平台的一个很好的方式。这也是网景的人不使用GPL的原因之一。

这在社团中可不是小事一桩。1998年下半年,曾经有一场重要的争论对Linux威胁极大,几乎Linux社团破裂。裂痕是因出现了两个软件系统GNOME和KDE而引发的,它们两者都试图建立一个面向对象的桌面界面。一方面,KDE利用了Troll Technology公司的Qt库,其中的一部分属于专有代码,但是很稳定、很成熟。另一方面,GNOME决定使用GTK+库,尽管它不如Qt成熟,但是它是完全自由的库。
过去,Troll Technology不得不在使用GPL和维持他们的专有软件立场之间进行选择。GNOME和KDE的裂痕本来会持续下去。然而,在开源软件出现后,虽然Troll仍然控制他们想要的技术,但是Troll可以为希望Qt符合开源软件定义的人改变他们的许可证。Linux社团两个重要部分的裂痕看来要弥合了。

时间: 2024-10-05 15:56:10

什么叫开源软件?的相关文章

Facebook、微信团队、Twitter、微软开源软件列表一览

  编者按:本文来自微信公众号"InfoQ"(ID:infoqchina),编辑小智:36氪经授权发布. 对于为什么要发布开源项目,Facebook开源项目负责人曾经解释过:一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼Facebook的工程师写出更好的代码.三是开源能够更有效利用社区的力量,帮助Facebook一起解决难题.开源,让世界更美好,不是吗? Facebook开源软件列表 从Facebook的GitHub账户中可以看到,Face

开源软件的时代来临

在将来的五年中,有一半的IT软件将是开源软件.开源软件引领这云计算,大数据,移动互联网和企业移动时代的发展.在调查中,MichaelSkok(NorthBridgeVenturePartners合伙人)表示根据目前移动应用和云计算应用的部署情况来看,我们正在进入一个令人激动的开源创新时代.这不仅仅是说开源软件的创新会更快,更是意味着这些软件可以在云端快速的部署,并且作为一项服务被使用. 其他接受调查的人表示,软件的质量是他们选择开源软件的最重要的三个原因之一.他们同时认为软件的成熟度也同样重要.

2013年应该关注的10个开源软件

  本列表来自黑鸭子软件的"年度新人"奖,该奖项主要关注 JavaScript 和移动方面. 黑鸭子在周三发布了其 "2012 Open Source Rookies of the Year" ,该列表中特别指出了 10 个在 2013 年值得关注的开源软件. 这些软件包括: 1. Ansible Ansible 提供一种最简单的方式用于发布.管理和编排计算机系统的工具,你可在数分钟内搞定. Ansible 是一个模型驱动的配置管理器,支持多节点发布.远程任务执行.

.NET 将推动开源软件的发展 justleon(原作)

NET 将推动开源软件的发展    justleon(原作)         在过去的时间里,基于Windows的开源软件物数量实在太少了.在网上查找一些开发相关的网站,内容也不外乎抄来抄去那几篇怎么做三角的Button啊,怎么做不规则的窗体啊,怎么把程序放到右下角的托盘中啊.当然不是Windows的程序员就是这种水平,当然也不是Windows程序员不团结,搞不出一个开源软件.      在Windows上的开源项目的阻力来源于:1.OS的封闭:MS做了太多的东东,束缚了程序员的创造力:3.开发

初创的互联网公司是使用开源软件还是自主开发

导读:开源软件具有很大的优势,这不容否认,无论是技术上还是产品成熟度上,许多开源的网站程序都满足了大多数用户的需求.不过对于某些公司来说自主开发的程序可能更实用,这一起的出发点就在于公司对于自身需求的认识. 不可否认,经过几年的潜心研发,现在很多开源软件已经非常成熟,那么作为一家初创的互联网公司,我们是该使用开源软件还是自主开发呢? 我有一个技术出身的朋友,自己做了一个论坛,当做完后,在网上发现了开源的DZ,觉得自己的论坛太简单,功能和成熟程度远远不如DZ,于是非常后悔,每次讨论到开发的时候就谈

.NET将推动开源软件的发展

在过去的时间里,基于Windows的开源软件物数量实在太少了.在网上查找一些开发相关的网站,内容也不外乎抄来抄去那几篇怎么做三角的Button啊,怎么做不规则的窗体啊,怎么把程序放到右下角的托盘中啊.当然不是Windows的程序员就是这种水平,当然也不是Windows程序员不团结,搞不出一个开源软件. 在Windows上的开源项目的阻力来源于:1.OS的封闭:MS做了太多的东东,束缚了程序员的创造力:3.开发语言和工具太多太杂了,各种程序员之间无法顺利的交流.Linux方面天生没有这些桎梏,系统

基于开源软件在Azure平台建立大规模系统的最佳实践

前言 Microsoft Azure 是微软公有云的唯一解决方案.借助这一平台,用户可以以多种方式部署和发布自己的应用. 这是一个开放的平台,除了对于Windows服务器和SQL Server的支持,Microsoft Azure也支持了大量主流开源软件和框架,包括Linux, Tomcat, Java等.如何将一个基于开源软件的系统迁移到Microsoft Azure平台,并充分发挥云在弹性.敏捷性等方面的优势? 本文和读者分享一些最佳实践经验,并在文末以中国网络电视台的系统迁移作为参考案例.

Java开源软件六大帮派

Java开源软件千千万,就好像一个江湖,有势力的有背景的就结成了一个帮派,经过不断的竞争,淘汰,六大帮派脱颖而出. 丐帮 - Apache Software Foundation 在我开始学习Java的时候,Apache的Jakarta子项目还很弱小,Apache的头牌是Apache HTTPD Server(至今也还是头牌),如今已经成了江湖第一大帮.Apache势力庞大,背后有众多大厂商的支持,例如IBM资助了apache的好几个 project,Sun则和tomcat合作密切,而BEA砸下

云计算结合开源软件和SaaS后有什么优点

  每天使用的"百度""谷歌"就是云计算的最好应用,问题是我们如何看待云计算在企业信息化的应用前景.我想就这个问题谈一下个人看法: 1.云计算四个显著特点 云计算提供了最可靠.最安全的数据存储中心,用户不用再担心数据丢失.病毒入侵等麻烦. 云计算对用户端的设备要求最低,使用起来也最方便. 云计算可以轻松实现不同设备间的数据与应用共享. 云计算为我们使用网络提供了几乎无限多的可能. 2.基于云计算的信息系统具有 1)成本优势 2)性能优势 3)功能集成优势 4)安全优

微软、谷歌、Facebook等硅谷大厂91个开源软件盘点(附下载地址)

开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的组织.这十二个月以来,有超过 81 万的人发起了人生第一个 PR,更有 280 万人创造了他自己的第一个仓库,而中国,成为新注册增长最多的国家. Facebook开源项目负责人曾说过: 一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑.二是开源能够倒逼Facebook的工程