人们对自由软件有哪些误解
纠正对自由软件的误解。
如果程序员赚不到钱,软件产业就无法运转
我们还是从一条简单的事实出发:自由软件程序员确实也想获取报酬,某个时候他们也全都需要买午餐。
当我们提到自由软件 (free software) 时,指的是自由而非免费。实际上,为获取自由软件(或者开源软件1)以便研习,修改和任意拷贝,你也可能要破费。
这是怎么回事呢?你可以这样考虑:软件就是代码而已,代码不外乎就是数学。一旦你把软件看作是有用的数学,一门精致的语言,而非一般的财产,那就没有理由限制别人使用它。
就像数学(没有人会声称拥有对一个等式的财产所有权),软件也需要高深的知识进行改进,提高,正确应用。这才是程序员普遍的收入来源:很多客户,尤其是公司,愿意付款以获取软件的定期安全更新和性能改进。
自由软件公司得益于由大量自愿贡献者所组成的一个非常分散的开发系统。自由软件产业内部的收入少于与其相对的专有软件产业,但也不可小觑。最终,单个的用户一般不用花钱也能用上自由软件。
自由软件不是要灭除对程序员的奖赏。它是要把代码看作不应隐瞒用户的知识。它以一种不同的商业模式运作。很多已采取这种模式的公司都运作良好。
自由软件扼杀创新
普遍的观念就是如果人人都可以复制想法,创新就会受到抑制。
事实上,自由往往是催生富有创意的成功软件的关键。
- 允许且鼓励任何人研究它,开发它;
- 很多人都愿意参与进来;
- 没有重复开发的必要,可以直接在其上进行改进。
非专有软件在很多方面都很突出:稍事一想,便可举出一些例子:
- 应用程序:
- Visual Studio Code (文本编辑器)
- Chromium (网页浏览器)
- Git (版本控制系统)
- Inkscape (矢量绘图)
- Kodi (媒体中心)
- Mixxx (DJ 混音)
- Blender (3D 图形创作)
- GIMP (图像编辑器)
- LibreOffice (办公软件套装)
- Firefox (网页浏览器)
- TensorFlow (机器学习)
- Thunderbird (电子邮件客户端)
- VLC media player (多媒体播放器)
- 服务器应用程序:
- MediaWiki (内容管理系统)
- Apache HTTP Server (网络服务器)
- Nginx (网络服务器)
- Node.js (JavaScript 运行环境)
- Apache Spark (大规模数据处理)
- Discourse (留言板)
- Docker (虚拟化)
- MySQL (数据库管理系统)
- PostgreSQL (数据库管理系统)
- Wordpress (博客)
- 格式和协议:
- BitTorrent (文件共享)
- FLAC (无损音频编解码器)
- gzip (数据压缩)
- HTML (网页)
- OpenDocument Format (办公文件)
- Opus (音频格式)
- WebM (视频文件格式)
- WebRTC (网络实时通信)
- 完整的系统:
- OpenBSD (操作系统)
- 毫无疑问,GNU/Linux。
软件只要能用就行
任何人都该在乎他们的软件是否自由。
想象一下你买了一辆车却被禁止打开引擎盖。你知不知道车如何工作不要紧;问题是没人能检查引擎。如果没人能确保它可靠,它不漏油,它对社会环境无害,你如何信得过你的车?
对软件同样如此;除了代码比移动车辆做了更多。软件运行着我们的计算机,电话,电视,媒体播放器,还有更多,传载着信息和我们的文化。
自由软件与自由言论,自由市场同样重要。如果软件自由,用户就拥有驾于其上的自主和自由。
好消息是:自由软件也能正常工作 。而且事实上,它往往工作得更好。在你的电脑开启的时候,插入一个 GNU/Linux 临场 U 盘,不用安装就能尝试一下这个功能齐全、组织良好的系统,这样你就可以自行判断了。
自由软件不尊重作者的版权和专利
为了正确地回答这个问题,我们必须先区分清楚版权和专利。版权是对其创造(比如,一本书的文字,或者一个程序的源代码)赋予作者一种权利。另一方面,一项专利,是买断,注册了应用某种想法这一过程的独有控制权。
自由软件里的版权非常重要。它正是GNU通用公共许可协议,这一确保自由软件保持自由,作者的工作得到肯定的核心机制所在。程序都是受版权保护的,不管是自由的还是专有的。
任何专有软件的作者都可以很轻易地检查一个自由软件应用程序里是否有侵犯他的版权的地方,因为源代码可以轻易地获取。
另一方面,软件专利,却是一个相当有争议的概念。简而言之:根本就没有什么“专利软件”。然而,通过申请专利,某人可以宣称对一个过程的所有权。既而凡是用到这一过程的软件,不论是专有的或自由的,都受其约束。
软件专利:
- 昂贵且申请后只有几年的有效期;
- 有地域限制(在美国申请的专利在欧洲没有任何价值);
- 在快速变化产业中的有效期太长(常常是20年);
- 申请过程非常琐碎。
因此,它们很少被创造者用来获益(而且事实上,创造者们自己几乎都不用)。
可以肯定地说,在不少国家,任何中等大小的软件都侵犯了专利,不管软件本身是自由的还是非自由的。
视专利持有公司承担巨额法律费用,或回击其他专利威胁的能力而定,可对这些专利征收专利权使用费,制订相关的限制措施。
阅读更多:
自由软件像是共产主义
这种想法的支持者争辩说自由 (或者“开源”1) 软件不能专有。我们以一个例子来回应。
假设你在家里和公司使用某一自由软件程序。产生了一个妙极的改进灵感。使用改进的版本电脑工作得更好,工厂的运转速度翻了一番!
这一改进的版本是你自己的版本。无须把它告知任何人,也不必分享从中获取的好处。你就是在运用使用和修改自由软件的权力。
自由软件许可协议要求是:如果你重发布这款软件,那么必须保证它仍是自由的。也就是说,如果你要出售含它们的CD,或者让自家或公司以外的人使用,必须:
- 将获取原软件时的权利传递给所有人,让所有人都有察看、修改和重发布的自由;
- 要么,把你的保密部分跟原软件清楚地区分开(也就是,你加的部分不该包含原作的任何成分)。
因此,事实上,你对自由软件的“所有权”比对专有软件的“所有权”更多—在专有软件中,程序员决定了你可以和不能用软件做的一切。
自由软件与政治制度无关。 你可以在私有软件上运行自由软件,反之亦然。自由软件许可协议只是程序员与终端用户之间的一款既有法律效力,也符合道德准则的协议。
自由软件不可能安全
这种论点一般都是说由于自由软件的源代码可得,因此没多大可能安全。
简短的回答:大部分的服务器都运行自由软件。它们可是持有敏感或机密信息,比如你的银行帐户细节或贸易机密的联网的计算机。
一个更确切的回答是源代码可得是安全的保证,而不是隐患。软件的自由确保了它能被广泛的社区察看,测试和改进。一把好锁就算用于设计它的技术是公开的,也是安全的,因为只有钥匙持有者才能打开它。对软件也是同样的道理。
需要例子吗?看看Firefox 网页浏览器、Apache HTTP 服务器、Nginx 网页服务器、Dovecot 电子邮件服务器、Exim 邮件传输代理、OpenPGP 加密系统或OpenBSD 操作系统。而且GNU/Linux 下没有间谍软件或病毒。
用自由软件时只能靠自己了
完全不是。
- 如果你要寻求帮助,有足够多为自由(“开源”)软件而备的好文档和提供支持的论坛。
每个 GNU/Linux 发行版都有自己的社区(例如,Ask Ubuntu 或 Ask Fedora),但也有通用的 GNU/Linux 帮助社区,如 Unix & Linux Stack Exchange。 - 自由软件社区有很多实时讨论渠道。IRC,即互联网中继聊天 (Internet Relay Chat),是一种实时的、基于文本的通信形式。你可以在一个开放的频道中与多人对话,也可以与人一对一私下聊天。主要的 GNU/Linux 发行版都有自己专门的 IRC 频道,在那里你会发现用户和开发者很乐意回答你的问题。在这里你可以找到我们推荐的发行版的 IRC 频道:
- 所有主要的 GNU/Linux 发行版都通过邮件列表免费提供帮助:
- 如果你需要有人可以随时打电话协助你,大多数发行版背后的公司都会提供商业支持:参见Debian 顾问,Ubuntu 商业支持,或者Red Hat Enterprise Linux。
- ^ a b 我们这里称的“自由软件”也往往被称为“开放源代码软件”。实际使用中,两者的要求是相同的,不过由于“开放”一词并没有让人关注于自由,所以不得要领。请阅读常见问题中的“开源”与“自由软件”是一回事吗?。