当前位置:网站首页>这一次,话筒给你:向自由软件之父斯托曼 提问啦!
这一次,话筒给你:向自由软件之父斯托曼 提问啦!
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 提问的内容在评论区写下,我们将精选最有意思、有深度的问题向他采访提问。
提问方式:在评论中发出即可,最好详实、具体、有针对性。
一旦你的提问被采纳,还将有机会获得由《新程序员》编辑部提供的礼品哟~赶快行动吧!
边栏推荐
- ABAP file operations involved in the Chinese character set of problems and solutions for trying to read
- 友邦人寿可观测体系设计与落地
- 【iOS】Organization of interviews
- BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection 论文笔记
- 黑客入门,从HTB开始
- Open Office XML 格式里如何描述多段具有不同字体设置的段落
- 广东10个项目入选工信部2021年物联网示范项目名单
- 一个 CRM One Order Application log 的单元测试报表
- [219] The training course notes of the go engineer with more than 3,000 MOOCs 02 Programming ideas in the go language
- Vivado crashes or the message is not displayed
猜你喜欢
【JS高级】ES5标准规范之创建子对象以及替换this_10
Stream通过findFirst()查找满足条件的一条数据
【ECCV 2022|百万奖金】PSG大赛:追求“最全面”的场景理解
LeetCode·每日一题·640.求解方程·模拟构造
Detailed explanation of es6-promise object
Efficient and Robust 2D-to-BEV Representation Learning via Geometry-guided Kernel Transformer 论文笔记
[target detection] small script: extract training set images and labels and update the index
2022 Recruitment Notice for Academician Zhao Guoping Group of Shenzhen Institute of Advanced Technology, Chinese Academy of Sciences
Short read or OOM loading DB. Unrecoverable error, aborting now
DNS欺骗-教程详解
随机推荐
Solution for "Certificate not valid for requested usage" after Digicert EV certificate signing
Calculate the number of combinations recursively
Drive IT Modernization with Low Code
接口自动化测试基础篇
CodeForces - 811A
Makefile missing separator. Stop.怎么解决「建议收藏」
rpn:def concat_box_prediction_layers
网络安全——XSS之被我们忽视的Cookie
bgp dual plane experiment routing strategy to control traffic
Loudi Sewage Treatment Plant Laboratory Construction Management
Fragment-hide and show
代码随想录笔记_动态规划_70爬楼梯
C# error The 'xmins' attribute is not supported in this context
Basic knowledge of switches
【ECCV 2022|Millions of Prizes】PSG Competition: Pursuing the "Most Comprehensive" Scene Understanding
Reversing words in a string in LeetCode
如何完成新媒体产品策划?
指针(C语言初解)
LeetCode·每日一题·640.求解方程·模拟构造
进程和计划任务管理