在软件产业中,免费软件、开源软件与自由软件的概念常常被不同程度地混淆起来,一般人并没有理顺其中的逻辑关系,造成了一定的误解,也引发了不少的错误决策。在计算机专业的学生中,我看尤其需要在这些概念上有更多的思考。在此抛一砖,希望引玉以得解惑。我说的也可能是错的,当你发现我的错误,请给我一个证明。谢谢。
(题图来自:opensource.com )
首先, 免费软件是否必然开源,开源软件是否必然免费?答案都是否。需要提醒,微软在中国容忍了大量的盗版,豁免了各大高校的盗版行为,大量赠送免费系统的行为就是一定程度的免费。可从来没听说过微软的系统开源。更值得注意的是,无论是盗版还是赠送,大量使用免费的微软软件,在长远上看,都对中国软件市场造成了无法估量的危害。就拿我最厌恶的MS Office软件来说,各大高校、出版社强制使用Word软件的行为已经到了令人发指的地步。可以说,这种所谓的“免费”唯一目标就是为了赚取更多的经济价值。不开源只能是让用户使用更多不安全、有错误的软件。这种流毒在三代人之内是无法扭转了。这就是微软“免费”而不开源造成的危害(实际上在很多场合它也不免费)。还需要指出的是,大量的免费软件其实是强盗、流氓软件,它们绑架了人们的自由。我们不需要它们的免费,我们要避免遭到绑架。
开源软件是否必然是自由软件?答案又是否。其微妙之处在于,我们要理解,所谓开源只是一种形式,而自由是一种观点和态度。也许你在很多网站上能收罗到大量的源代码,都是所谓的开源代码、开源软件。你能用或者不能用,你能理解或者不能理解,那就是你个人的事务,而对于提供代码的那一位而言,根本不关心。比如,在今年发生的两件事情都很可以作为例证,比特币与OpenSSL。比特币也是开源的系统,由于系统漏洞,黑客窃取了系统中的比特币导致某公司直接倒闭,也有可能导致比特币从此消亡。OpenSSL最近也因为一种实现上的错误导致了系统的安全被破坏。OpenSSL会被踢出安全系统的框架中吗?不会,以后必然会有更多的安全系统会使用它,因为它不但是开源的,而且是自由的,有非常多的团队在对它进行分析、维护、改进。为什么都是开源的代码,我会给出两种完全不同的结论呢?很简单,对于应用而言,仅仅开源是远远不够的。
自由软件必然开源, 但是自由的系统(代码)需要更多:更多的原理、更多的帮助、更多的原则、更多的分享。自由的目的是为了更好的效率、更高的安全性、更优越的跨平台。自由的态度就是要激励打破牢笼穿越围墙迎接思想的开放,努力分享展示自己的技术、原理,而不为了蝇头小利而对自己所谓的“技术”沾沾自喜而固步自封。牛顿的年代指出要站在巨人的肩膀上,而互联网时代我们需要巨人让更多的人站在他的肩膀上进行更大更深远的超越,或者我们每一个平凡的个体都在利用分享的力量催生更多的超越。自由,本质而言,就是超越。
自由软件是否必然免费呢?这就不能一概而论了。 每一位自由软件的贡献者当然是此软件的开发者和免费使用者。但对于普通用户而言,就不那么确定了,他们需要的不是软件而是服务,软件也许是免费,但是服务就从来都不是免费的了。拿目前的安全支付系统来说,服务是免费的,但软件是不自由的。这在我看来是本末倒置,因为我们需要的是更安全的自由的、开源的系统,而为此我宁愿付费。
综合而言,所谓免费或者收费在长远的发展上看,绝对都是微不足道的一点点费用。开源这种形式从长远上看,必然要走向自由,让没有价值的开源被淘汰,让有价值的开源得到更多的分享与发展。自由软件,无论免费还是收费,都必将引领软件行业的良性发展。自由是一种必然!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/54253.html