当前位置:网站首页>这一次,话筒给你:向自由软件之父斯托曼 提问啦!
这一次,话筒给你:向自由软件之父斯托曼 提问啦!
2022-08-10 13:23:00 【CSDN资讯】

亲爱的各位开发者朋友们,大家下午好啊~
近年来开源热潮席卷全球,但许多人可能不太了解,其实在开源软件之前还有另一个很重要的概念——自由软件,而 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 的授权办法,即可以拷贝、修改、甚至出售自由软件,但关于源代码所有的改进和修改都必须对外公开,以此确保自由软件传播的延续性。
到了 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 感到羞耻。
那些沉迷于非自由游戏的人,实际是在一起做有损自己利益的事情。
……
至此,在初步了解了这位圈内传奇且颇具脾性的自由软件之父后,接下来让我们更进一步走近他的世界吧!现在,把你最想向 Richard M. Stallman 提问的内容在评论区写下,我们将精选最有意思、有深度的问题向他采访提问。
提问方式:在评论中发出即可,最好详实、具体、有针对性。
一旦你的提问被采纳,还将有机会获得由《新程序员》编辑部提供的礼品哟~赶快行动吧!
边栏推荐
- 友邦人寿可观测体系设计与落地
- 开源SPL消灭数以万计的数据库中间表
- 神了!阿里数据库专家纯手写了这份604页的Oracle+MySQL攻坚指南
- Have you guys encountered this problem?MySQL 2.2 and 2.3-SNAPSHOT are like this, it seems to be
- Requirements for the construction of Loudi stem cell preparation laboratory
- 2022-08-09: What does the following go code output?A: No, it will panic; B: Yes, it can run correctly; C: Not sure, see the voting result.package main import (“fmt“ “syn
- Matlab画分段函数「建议收藏」
- 高数_证明_弧微分公式
- 【mysql索引实现原理】
- 递归递推之Fighting_小银考呀考不过四级
猜你喜欢

高数_证明_弧微分公式

3DS MAX 批量导出文件脚本 MAXScript 带界面

开源SPL消灭数以万计的数据库中间表

系统的安全和应用(不会点安全的东西你怎么睡得着?)

Solution for "Certificate not valid for requested usage" after Digicert EV certificate signing

Nanodlp v2.2/v3.0 light curing circuit board, connection method of mechanical switch/photoelectric switch/proximity switch and system state level setting
WebView的优化与常见问题解决方案

BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection 论文笔记

浙大、阿里提出DictBERT,字典描述知识增强的预训练语言模型

A unit test report for CRM One Order Application log
随机推荐
2022-08-09: What does the following go code output?A: No, it will panic; B: Yes, it can run correctly; C: Not sure, see the voting result.package main import (“fmt“ “syn
Short read or OOM loading DB. Unrecoverable error, aborting now
SenseTime self-developed robotic arm, the first product is an AI chess-playing robot: Guo Jingjing is also invited as an endorsement
A can make large data clustering method of 2000 times faster, don't poke
用低代码驱动IT现代化
Inventory of Loudi Agricultural Products Inspection Laboratory Construction Guidelines
Overview of Loudi Petrochemical Experiment Design and Construction Planning
Lithium battery technology
Matlab画分段函数「建议收藏」
大佬们有遇到过这个问题吗? MySQL 2.2 和 2.3-SNAPSHOT 都这样,貌似是
实现一个深克隆
X5WebView使用
3DS MAX batch export file script MAXScript with interface
NodeJs原理 - Stream(二)
tampercfg内核模块导致机器频繁crash
C# WPF image is displayed without problems, but the solution does not display the image at runtime
学习日记9
C#中导入其它自定义的命名空间
bgp dual plane experiment routing strategy to control traffic
MySQL面试题整理