亲爱的各位开发者朋友们,大家下午好啊~
近年来开源热潮席卷全球,但许多人可能不太了解,其实在开源软件之前还有另一个很重要的概念——自由软件,而 Richard M. Stallman 就是自由软件运动的发起人,即“自由软件之父”。
恰逢最近 CSDN《新程序员》即将采访自由软件之父 Richard M. Stallman,在此面向所有开发者征集“你最想问 Richard M. Stallman 的 1 个问题”,欢迎各位程序员们留言提出自己最为关心的问题!
文章图片
从上面这张照片可以看出,与传说中容易脱发的程序员不同,Richard M. Stallman 拥有一头浓密的头发,在技术圈中也颇有名望:Richard M. Stallman,代号“RMS”,世界神级程序员之一,自由软件基金会 FSF(Free Software Foundation)创办人,也是 Emacs 的构建者、软件自由的传教士。
一、起底这位“自由软件之父” 从小,Stallman 就对计算机有着浓厚的兴趣,高中时期便开始学习 IBM 7090 手册研究计算机入门,也参加了一些编程课程。到了 1970 年,Stallman 考入哈佛大学,偶然成为了麻省理工学院(MIT)人工智能实验室的一名程序员,同时经常以“RMS”之名活跃在黑客社区。
1974 年,从哈佛大学毕业的 Stallman 决定去麻省理工读研,之后在攻读物理学博士学位一年后选择了放弃,决定专注于他在麻省理工学院人工智能实验室的工作,深入 AI、软件项目等方向的钻研。
然而进入 80 年代后,计算机行业中商业化和软件专有化盛行,在 Stallman 看来,专有软件是一种“为分离人类而砌造的壁垒”。因此,他在 1983 年决心创建一个完全自由软件组成的类 Unix 计算机操作系统,GNU 项目由此发起,旨在倡导软件用户能够对软件自由进行使用、学习、共享和修改。
一开始,GNU 计划只有他一个人,甚至在想为 GNU 系统引入一个编译器遭对方无情拒绝后,Stallman 也是凭一己之力从头编写了全新的编译器 GCC(GNU Compiler Collection)。
随后在 1984 年 9 月,Stallman 开始编写 GUN Emacs,到次年年初该工具就已经可以使用了,并迅速在开发者之间流行开来,如今更是业界公认最受专业程序员喜爱的代码编辑器之一——广为使用的 GNU 通用公共协议证书(GNU General Public License, GNU GPL)也在那时诞生。
彼时,Stallman 为防止不法厂商将自由软件专有化,与许多律师一同起草了 GNU GPL 协议,创造了 Copyleft 的授权办法,即可以拷贝、修改、甚至出售自由软件,但关于源代码所有的改进和修改都必须对外公开,以此确保自由软件传播的延续性。
【新程序员|这一次,话筒给你(向自由软件之父 Richard M. Stallman 提问啦!)】到了 1985 年,Emacs 的成功推动 Stallman 创建了自由软件基金会(Free Software Foundation,简称 FSF),致力于消除对计算机程序在复制、分发、理解和修改方面的限制。
二、作为自由软件倡导者,拒绝倡导开源 可能对于许多开发者来说,以上 Stallman 的这些事迹并不属于他们熟知的范围,但如果说 Linux 操作系统的诞生至少有他一半的功劳呢?
在很多人的认知中,1991年 Linus Torvalds 设计编写了 Linux 系统内核,但实际上仅内核并不能代表整个操作系统,其中还包含大量用于编译、项目管理、运行的各种工具和各种函数库,而它们大多都源于 GNU 项目——所以,Stallman 一直认为,将 Linux 操作系统称为 GNU/Linux 更为合适。
此外,尽管如今开源之势盛行,但作为自由软件的倡导者的 Stallman 却一直将自由软件和开源划清界限,甚至还有些抵制。这一点在 Stallman 邮件回复 CSDN 的采访邀约中再次提到:
“开源”的关键在于忘记自由。开源重复了自由软件的次要方面,却压制了它的关键之处。这就是我拒绝提倡开源的原因。除了拒绝倡导“开源”,Stallman 还曾说过许多语出惊人的言论,每次几乎都能引起开发者们的激烈讨论:
- Mac 正朝着“监狱”的方向发展。用户越来越难安装自己的可执行程序。这理应是非法的。
- Ubuntu 是一个非自由发行版,我不建议任何人使用它。
- 如果学校不得不使用 Zoom 之类的非自由软件,那么老师们应该在每一堂课上说自己为使用 Zoom 感到羞耻。
- 那些沉迷于非自由游戏的人,实际是在一起做有损自己利益的事情。
- ……
提问方式:在评论中发出即可,最好详实、具体、有针对性。
一旦你的提问被采纳,还将有机会获得由《新程序员》编辑部提供的礼品哟~赶快行动吧!
推荐阅读
- Other|自由软件之父Richard Stallman及其思想
- java|幸福里 C 端 iOS 编译优化实践-优化 40% 耗时
- spring|Java 微服务的QPS上不去(试试这些办法)
- java面试题|Linux面试专题总结
- java开发工具|Java 程序员开发常用的工具推荐
- 搭建Zabbix监控系统
- 达内云计算培训笔记|47( 监控概述 、 Zabbix基础 、 Zabbix监控服 、 总结和答疑)
- linux防护与群集|搭建Zabbix监控平台
- 网络安全学习笔记|网络安全学习(系统文本编辑命令)