二、价值理念和项目性能的博弈。
为了解决这个迫切需求,两种方法导致不同的“技术导向”:
前者觉得,向社区开放了的项目,可以用众人的力量完善代码质量;后者觉得,自身公司维护项目,可以针对客户需求调整开发,同时封闭私有,可以排挤其他竞争
对手,同时拥有企业追求商业价值的最大化。前者觉得,通过众多不同类型的高质量的公开软件项目,人们可以根据自身需求而使用这些项目代码打造最适合的软件──这样可以满足许多人的不同的软件需求;后者觉得,通过众多不同公司对既定需求而开发的软件代码,销售编译后的二进制代码,可以在市场竞争中,让消费者选择最适合自身的软件产品──这样可以满足人们对不同软件的需求。
这就好像,在家烧菜煮饭跟去餐厅饭馆消费:都是满足了人们膳食需求,只是自己亲自动手,
还是支付厨师费用。当然,餐厅的厨师做的菜是适合大众或者特定某地方人的口味,而自己在家烧菜,可以考虑自己的膳食喜好:多点糖,少点盐。一般厨师不会公
开烧菜的秘诀,个人或者喜欢和邻居膳食心得。重要的是,两种填肚子的办法都不会让自己饿死。
这个是两种解决方法的共性,他们都满足了人们对软件的需求,都推动的整个社会发展。这个是必须要承认,也是必须要肯定。这个也是给那些整天扛自由开源软件大旗、无限抬高自由软件无限贬低封闭软件、外国封闭私有软件亡国论的人最深刻的警醒。
但是,计算机程序这个特殊的商品对当时法律制度提出巨大的疑问:计算机程序需要保护?是
用专利法保护?还是用版权法保护?专利法和版权法的引入,让软件程序设计原理和具体实现代码成为了绝对的商业秘密,而且在有限的时间内不公开。更可怕的
是,软件程序设计原理被专利化,寻找其他设计原理(其实就是数学模型)变得更难;商业公司发布编译后的二进制代码,几乎是不可能阅读的“文本”。
好了,我们可以阅读《哈木莱特》学习如何编剧和如何导演,但是,我们购买了一份Windows7操作系统拷贝,我们却不能学习里面的设计原理。或者我们可以加入微软公司,就可以学到相关的软件设计原理;但是,是不是等我们加入了舞团才学习编剧和排练的知识?
这两个观念,根本区别就是,人应不应该有自由发展的诉求和自由分享知识的权利:一个人很
自由地学习自己喜欢的知识,而阻碍一个人学习的,只是本身的天赋和能力,而不是外部社会环境因素约束;同时,一个人可以自愿地和其他人分享知识和技术交
流,无论知识的高深浅薄,是不受外部社会环境因素约束。自由软件最本质就是,能够提供给每一个人对软件代码学习自由、思想自由和创意自由的舞台,并且人们
在这样的知识舞台上,建立平等、协助、共进和共享等人与人社区关系。假如一开始就不理解、不认同和不承认这根本点,任何推广自由软件的讲座和活动都是徒
劳,引喻失义,甚至“挂羊头卖狗肉”。
群众的眼睛是雪亮的。社区开放的软件,让软件代码在公众面前表露无遗,人们可以修改代码适合自己使用,把不完善部分通过修改臻于完美。当然,在涉及开放项目中人与人之间的关系,为了使到项目的持续健康发展,必要时订立一些“社区契约”,让大家认同、承诺并遵循规则。这个就是开放源代码的“项目性能”导
向。开放源代码在项目实践层面上,和自由软件相差不大,两者最核心的区别:自由软件坚持者认为私有封闭软件必然灭亡,因为私有封闭软件限制人的自由发展,
必将消失在历史发展中;开放源代码拥护者认为,私有封闭软件和开放性软件可以并存,让人们有更多更好的选择,满足人们的软件需求。
一个追求自由,一个追求性能;一个追求
人与人在交流软件代码之间关系的良性发展,一个追求技术实践是否满足人们的软件需求;即使性能稍有差距,自由价值是无价;即使暂时封闭私有,性能是人们最
大取向;由于私有封闭软件的禁锢作用,人们最后将抛弃使用封闭软件,转而投奔自由软件。由于开放的软件开发模式的优越性,封闭私有软件拥有者将会逐步开放
其项目,产业得到快速良性发展。
这样更好地解释,为什么自由软件的坚持者主张使用自由/开源的硬件驱动程序,即使这些驱动程序比不上硬件厂商的驱动程序,一个例子就是NVIDIA在GNU/Linux平台的显卡驱动,而性能追求者则在这样的“情况”下,选择暂时的妥协,自由软件坚持分子则主导开发nouveau驱动;这样也解释了,为什么一些科学工作者在使用搭载INTEL芯片的计算机进行模拟计算时,优先考虑使用INTEL数学函数库,即使有很多自由软件数学库:GSL,FFTW,LAPACK等;也解释了,这些科学工作者为何选择CUDA进行高性能并行计算解决密集型计算课题
──
诚然,CUDA技术是代表一种革命性的计算方式。性能追求者可能很喜欢GNU/Linux系统,因为其表现性能在整个工业界一直处于技术尖端,但是,如果出现某些更强大更先进的封闭操作系统,性能追求者则转移视线,然则,自由软件主义者将演绎类似GNU计划(开发一个类似UNIX但不是UNIX的操作系统)的历史
──
用自由软件社区力量打造这样更强大更先进的自由操作系统。不久的之后,自由软件天然高质量的属性,使到性能追求者又回到自由软件阵营。
“Freedom
is NOT free” ──
“自由并非无价”。
所以,自由软件坚持者,认为统计GNU/Linux系统的市场占用率不能正真反应自由软件推广程度:某些人可能工作需要,安装双操作系统,一个windows,一个GNU/Linux,但是大多数时间使用windows;某些人可能在某些发行版本有新的推出时候,测试使用一段时间,之后格式化抛弃;某些人或者喜欢compize那些炫耀的三维特效,就安装上一个相对使用人数较多的发行版本。等等这些,都是对自由软件了解和尝试的感性认识,至于能不能正真体验自由软件的本质价值和核心理念
──
这个才是自由软件推广者承担更重大的责任和义务。
偏执狂热爱自由,现实者钟爱性能。
|