当前位置:网站首页>这一次,话筒给你:向自由软件之父斯托曼 提问啦!
这一次,话筒给你:向自由软件之父斯托曼 提问啦!
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 提问的内容在评论区写下,我们将精选最有意思、有深度的问题向他采访提问。
提问方式:在评论中发出即可,最好详实、具体、有针对性。
一旦你的提问被采纳,还将有机会获得由《新程序员》编辑部提供的礼品哟~赶快行动吧!
边栏推荐
- Interface Automation Testing Basics
- 2022 Recruitment Notice for Academician Zhao Guoping Group of Shenzhen Institute of Advanced Technology, Chinese Academy of Sciences
- 代码随想录笔记_动态规划_70爬楼梯
- 黑客入门,从HTB开始
- WebView的优化与常见问题解决方案
- Code Casual Recording Notes_Dynamic Programming_70 Climbing Stairs
- 高数_证明_弧微分公式
- M²BEV: Multi-Camera Joint 3D Detection and Segmentation with Unified Bird’s-Eye View Representation
- Calculate the number of combinations recursively
- Basic knowledge of switches
猜你喜欢

kubernetes介绍

2022-08-09:以下go语言代码输出什么?A:否,会 panic;B:是,能正确运行;C:不清楚,看投票结果。 package main import ( “fmt“ “syn

bgp双平面实验 路由策略控制流量

shell:正则表达式及三剑客grep命令

Comparison version number of middle questions in LeetCode

网络安全——XSS之被我们忽视的Cookie

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

Reversing words in a string in LeetCode

Ethernet channel Ethernet channel

Wirshark common operations and tcp three-way handshake process example analysis
随机推荐
C# WPF image is displayed without problems, but the solution does not display the image at runtime
锂电池技术
【iOS】Organization of interviews
[target detection] small script: extract training set images and labels and update the index
【JS高级】ES5标准规范之创建子对象以及替换this_10
C#中导入其它自定义的命名空间
矩阵键盘&基于51(UcosII)计算器小项目
Comparison version number of middle questions in LeetCode
领域驱动实践总结(基本理论总结与分析V+架构分析与代码设计+具体应用设计分析)
递归递推之递归的函数
22家!北京昌平区通报存在食品安全问题餐饮服务企业
学习日记8
Ethernet channel Ethernet channel
jenkins数据迁移和备份
3DS MAX 批量导出文件脚本 MAXScript 带界面
Network Saboteur
Matlab画分段函数「建议收藏」
广东10个项目入选工信部2021年物联网示范项目名单
Blast!ByteDance successfully landed, only because the interview questions of LeetCode algorithm were exhausted
Error: Rule can only have one resource source (provided resource and test + include + exclude)