《若为自由故:自由软件之父理查德·斯托曼传》是 [[Richard Stallman]] 的个人传记,在读完 [[自由软件 自由社会]] 的时候就把这一本书加入了待看列表。《自由软件 自由社会》中只介绍了 Stallman 关于自由软件的哲学思考,没有涉及到 Stallman 是怎么形成自己的思想的原由。而这一本传记能够更清楚的看到 Stallman 如何争取一台打印机驱动,到对争取软件自由运动的全部过程。

虽然站在 2022 年再去回顾这位传奇黑客有一点晚,并且 Stallman 固执的性格也常常出现在新闻中,但是这一切都无法抹去他在自由软件运动,在 GNU 项目,在自由软件基金会的贡献。

Richard Stallman 是谁?

鉴于可能有人不认识 Stallman,那么就从他的作品,Emacs 说起,这是一款可以并肩 Vim 的编辑器,Stallman 就是 Emacs 的原始作者,Stallman 还凭借一己之力创造了 GCC 编译器,GNU 项目,并且在专业律师的帮助下制定了 [[GNU General Public License]] GNU 通用许可证。

自由软件运动

Stallman 发起的自由软件运动,无疑也蕴含着一定的哲学思考,软件代码不可能完美无缺,所以最好的办法就是通过共享代码,通过不断地修改来逐渐完善。

没有人可以写出没有错误的代码。通过共享软件代码,黑客们把不断改进程序作为终极的目标,甚至超越了个人野心。

「自由」是一个抽象的名词,多少哲学家通过不同的角度去讨论自由,社会学的自由,个人的自由,[[消极自由]],[[积极自由]],而随着计算机,软件工程的发展,在数字领域如何获得个人的自由?Stallman 无疑给了我们一种思考的路径。尤其是伴随着互联网成长的我们,见证了太多的互联网服务关闭,见证了太多的软件停止维护,最后我们自己产生的数据变得不再是属于我们自己,曾经试过的软件再也无法打开。Stallman 个人的经历告诉我们,即使互联网服务给予了我们更多的便利,即使某些软件可以让我们更快的实现目标,我们也要时刻警惕,因为我们随时会失去自由。就像哈耶克曾经说得那样,「愿意放弃自由来换取保障的人,他最终既得不到自由,也得不到保障。」

Stallman 发起的自由软件运动究竟是什么呢? 可以参考 Stallman 关于 [[自由软件]] 的四大自由定义:

  • 基于任何目的、按自己的意愿运行软件的自由
  • 学习软件如何工作的自由,按意愿修改软件以符合自己需求的自由
  • 分发软件副本的自由
  • 将修改过的软件版本再分发给其他人的自由,这样整个社区就有机会共享你对软件的修改

简单来说就是运行、复制、学习、分发、修改的自由。

大教堂与集市

之前在阅读 [[大教堂与集市]] 的时候一直以为作者 [[Eric Raymond]] 是以商业公司开发模式和开源社区开发模式作为对比才写下的[[大教堂与集市]],但看完这本书,才知道原来 Raymond 在书中所指的大教堂模式指的是在 Stallman 领导下的 GNU 项目。整个 GNU 项目就是“大教堂”的开发模式,有计划地修建而成的宏伟的黑客精神的纪念碑,经得起时间的考验。另一方面,Linux 则更像是一个“嘈杂的大集市”,它是在 Internet 去中心化的松散组织结构中开发出来的。[[Linus Torvalds]] 所创建的这种「集市」开发模式反映了 Linus 的个性,作者写到,「从 Linus 的观点来看,最好的管理工作不是要加强对事情的控制,而是要保持思维的活跃度。」

自由软件和开源

在此之前,我几乎把自由软件和开源混为一谈,但显然如果代指同一个东西,人类没有必要发明两个名字,自由软件(Free software)和开源 (Open Source),显然 Stallman 是自由软件运动的发起者,他当然更支持自由软件,他在描述二者的区别时说道,「开源软件的观念更偏向于实用主义;而自由软件的观念则更强调用户自由。」当然自由软件和开源两者有很多共性的地方,支持 Open Source 的一派,部分原因是为了避免使用 Free 一词,

谁应该看这本书

想要了解计算机,尤其是自由软件发展历程的人。

Quotes

我希望每个人都能珍视自由,也能拥有自由。 没有人可以写出没有错误的代码。通过共享软件代码,黑客们把不断改进程序作为终极的目标,甚至超越了个人野心。

书摘