《开源思索集》一Free Software vs. Open Source

Free Software vs. Open Source

开源思索集
推荐一部电视剧
很早以前看过一部港剧《龙兄鼠弟》,是万梓良、郑则仕和张卫健演的。其中万梓良饰演的雷文凤,在最后写了一本书,叫做《黑白灰》。大意是:这个世界,虽然存在黑白两色,绝大多数人,却都是灰色的。而他,却一定要坚持做一个纯白色的人。甚至在他看来,灰色的人较之黑色的人,更加罪恶。

最近刚刚读完了另外一本书《若为自由故》,则是一本Richard Stallman的传记。在这本书里,红帽公司总裁罗伯特·杨(Robert Young)总结理查德看似矛盾的政治行为时,说道:“我崇拜也尊敬理查德和他所做的一切。我对他唯一的批评就是,有些时候,他对待朋友甚至比对待敌人还要无情。”

在我看来,也许发起开源运动的那群人,大多数自认为是RMS的朋友,而对于RMS而言,他们只是一群放弃了原则而站在灰色地带的人罢了。

说实话,在自由软件与开源之间,我究竟应该持何种立场?这是一个,我一直以来,都不愿意深想的问题,实在是太难了。只是这回读了一遍RMS亲笔签名的个人传记,又了解到了很多当事人的实际言论,总觉得应该督促自己,思考出一个结论出来。

两者的分歧,首先是哲学上的:理想主义 vs. 实用主义
在RMS看来,自由是天赋人权,可以说:因为自由本身值得追求,而RMS恰好又是个软件天才,所以他才会致力于自由软件。

而在开源运动看来:吸引更多的人参与自由软件的开发,然后实实在在地拿出优秀的开源软件来,才是真正有价值的事情。

自由软件的目的,是更多的自由,而开源软件的目的,是更好的软件。

GPL是一种神奇的创造
如果RMS只是一位致力于追求软件自由的斗士,也许不会有任何人理睬他。但是他写出了Emacs、GCC这样的神级软件。以至于由此建立起了几乎无人能及的社区影响力。

因为他写的软件实在太牛,所以无论他以什么样的License来发表自己的软件,都会引发全社区的关注。

然后,GPL这种诡异的授权模式,才会有人愿意遵循。甚至,应用作为自己的开源License。

或者换句话说:RMS挂了Emacs的羊头,卖了GPL的狗肉。但是,Emacs这个羊头实在太好,买了GPL这种狗肉的人,居然也就认可了。

《大教堂与集市》对于RMS是一个重大打击
因为《大教堂与集市》一书,对于Linux成功之道的总结与宣传,使得Linus被人们提升到了世界上最知名黑客的行列。

说到底,在黑客这个圈子里,大家还是更注重实力,而非理念。当有人以完全不同的方式,创造出完全不逊于Emacs、GCC这样的开源软件时,RMS/自由软件/大教堂所代表的“道路”,就不再是唯一的选择了。

尤其是当Linus站在了开源的大旗下,更多的公司则出现在了Linux的周围。集市的胜利,不仅仅是开源相对于闭源的胜利,也是Linus相对于RMS的胜利。

在之后的世界里,虽然开源的代码越来越多,但是自由却越来越少被人提及了。

不完美的系统会激怒黑客
《公正——该如何做是好》一书中,有一个经典的伦理学命题:假设铁轨上有一辆失控的火车,在岔路的一边是一个人,而另一边则是五个人。你是一个扳道工,你会选择让火车开向一个人,还是五个人?

我曾经问过我儿子这个问题,他的回答非常有趣:“如果是五个大人,与一个大人”,那就撞一个大人。“如果是五个大人,与一个小孩”,那就撞五个大人。“如果是五个男人,与一个女人”,那就撞五个男人。“如果是五个男人,与一个胖女人”,那就撞那个胖女人……

这其实反映了一个事实:想要通过权衡利弊,来做出最有利的选择,可能会是非常没有原则的事情。即使是一个成年人,也未必能做得有多好。

对于一个像RMS这样的黑客来说:他们会被这种问题所激怒,进而会拒绝回答问题,并想尽一切办法,要hack掉这个该死的列车与轨道系统。

在这本书的第十二章“开往黑客地狱的短暂旅途”,讲了一个令RMS暴怒的故事。作者写到:“不完美的系统会激怒黑客。”史蒂芬·李维说过这样的话,这是我决定与斯托曼同坐一辆车前应该听取的另一个忠告,“这是黑客们通常不喜欢开车的原因之一:这是一个充满不确定性的程序,交通信号灯总是随机的变化,还有横七竖八的单行道,导致交通经常堵塞。这实在是太不必要了,只要让黑客们重新安排一下信号灯,打开交通灯控制盒,重新设计整个系统。”

是的,对于真正的黑客来说:适应这个不完美的世界——取舍、权衡、妥协,是别人的事情。而黑客,就一定想要改造它!

我的结论
RMS这样的人,就像是在遥远的天边,在夕阳即将落下之时,努力为我们撑起天际线上那最后一点光明的人。

我没有资格自称为黑客。哪怕是改变世界的念头,我也常常是一闪而过。但是,这并不妨碍我始终对RMS,报以最高的崇敬!

至于Open Source,那至少是个很不坏的东西吧!

时间: 2024-08-19 05:07:21

《开源思索集》一Free Software vs. Open Source的相关文章

《开源思索集》一外国大牛也不过如此——《梦断代码》读后感

外国大牛也不过如此--<梦断代码>读后感 开源思索集花了一周的时间,看完了<Dreaming in Code>(梦断代码),看得我心潮起伏.对里面那帮家伙的评价也起起落落.最终的结论是:外国大牛也不过如此. 别看他们名头那么响,做了那么多超有名的项目,实际的能力(软件开发能力与项目管理能力)看来相当有限.感想很多,想到一点说一点吧. 1.以前有一篇文章叫<谦卑的程序员>,有这么一段话:"优秀的程序员很清楚自己的能力是有限的,所以他对待编程任务的态度是完全谦卑的

《开源思索集》一三代开源社区的协作模式

三代开源社区的协作模式 开源思索集一.研发工具与研发模式据说,人之区别于禽兽,最大的特征在于利用,甚至发明工具.在没有任何其他工具时,我们只能借助于自己的肢体,一旦有了工具之后,我们的能力将会大大地增加. 但是,从另一个角度来看,工具也同时在限制我们的能力,甚至限制了我们的行为模式与思维模式.有一句俗话说得好:"手里拿着锤子,看见什么都像钉子." 而在研发工具的领域,我们观察到另外一些有趣的现象:因为软件研发工具的开发者,同时也是工具的使用者.因此,他们不仅仅会受制于工具,也往往会由此

《开源思索集》一开放源码是开源软件吗? - 简书

开放源码是开源软件吗? - 简书 开源思索集开放源码和开源软件的不同是什么?开放源码不能叫做开源软件吗?所谓开源,仅仅是指符合OSI定义的Open Source吗?Open Source的来历1997年,埃里克·雷蒙(Eric Raymond)出版其著作<大教堂和市集>,探讨黑客社区与自由软件原则.1998年初,该论文受到极大的关注,成为促成网景通讯公司将其受欢迎的互联网套装软件<网景通讯家>(Netscape Communicator)释放成为自由软件的因素之一.这些代码即为今日

《开源思索集》一开源项目成功的十条准则(修订版)

开源项目成功的十条准则(修订版) 开源思索集Everyone wants it, lots of people try it, yet doing it is mostly painful and irritating. I'm speaking about free software aka open source. Today I'm going to summarize 30 years of coding experience in ten management-proof bullet

《开源思索集》一企业开源杂谈

企业开源杂谈 开源思索集这篇文章的缘起,是一个朋友的约稿.但是,这篇约稿,实在是太难写了.打了3个礼拜的腹稿,还是一肚子杂乱的思绪.感想以及不吐不快的槽!可是文章不能这样来写呀,必须得有点条理啊.我试着按照某种"介绍–总结–反思–分析–杂谈"的逻辑来写吧. 介绍我曾经在一家公司负责"开发者关系管理(DRM)"的工作,而运营一个公益性质的开源社区,是这个"DRM"工作的其中一部分.简而言之,公司的目标很简单,办一个开源社区,在技术圈子里树立良好的形

《开源思索集》一Java社群该向Ruby on Rails学习些什么?

Java社群该向Ruby on Rails学习些什么? 开源思索集 软件开发者是分社群的,大多数时候都是按照语言来划分大的派别,门派不同的人,很少相互交流--"跟那种用XXX的有什么好说的".越是这门语言足够的自给自足,越是懒得看别的语言的东西.作为一个次新兴语言,Java社群已经足够封闭了.自己内部热闹非凡,新技术.新名词.新战争.新领袖层出不穷,哪里有空去理会Java以外的世界? 可是最近的事情有点奇怪了,Java社群在非常热烈的讨论另外一个语言的项目"Ruby on R

《开源思索集》一聊聊Github的方法与哲学

聊聊Github的方法与哲学 开源思索集 开源已经是一场革命,但是在开源的发展历史上,其实依然在不断地发展,甚至革命.简单地回顾一下: 最早的开源,仅仅是把自己的源代码开放出来,或者让别人用磁带复制带走,或者放在Server上供人下载. 再后来,关于这个项目的代码与功能,就浮现出来了两个问题:代码大家都能改,如何整理与汇总各自的工作成果?功能大家都有想法,最后应该做成什么样? 于是,源代码版本管理工具与各种在线讨论的方式,开始了一轮又一轮的演进.具体的项目就不再一一列举,但是其中最大的一次创新,

《开源思索集》一当我谈开源时,我谈些什么?

当我谈开源时,我谈些什么? 开源思索集 这本来是一篇打算投稿给<程序员>杂志的稿子,可惜他们用不上了.于是我就打算发在这里,欢迎大家多多批评. 关于开源,我有很多的感想,但是在一篇文章之中,我可以谈些什么呢?在与程序员杂志的编辑杨爽聊天时,我虽尚未理清自己的思路,却想到了一个听起来不错的标题<当谈开源时,我谈些什么>.因为像这样一个看起来完全开放的标题,似乎什么都可以往里面装,简直可以随便涂涂就写出一篇形散神不散的散文了. 一.关于创新 那么,到底应该如何看待开源呢?近日我在读的一

《开源思索集》一“我们的开源项目”活动发起人——庄表伟专访

"我们的开源项目"活动发起人--庄表伟专访 开源思索集 1. 先来个自我介绍吧! 庄表伟,盛大创新院高级研究员.1997年毕业至今,始终战斗在编程的"第一线",2009年加入盛大创新院.一直致力于推广并服务开源,热爱社区,热衷参与各种社区的交流活动.对于开源的事业贡献度很低,目前稍微能够拿得出手的项目,是一个正在进行中的写作计划:<借助开源项目,学习软件开发>. 为什么要发起"我们的开源项目"活动? 这个活动,最初是因为即将召开的QC