他靠写程序封神,买不起操作系统,就动手写一个!曾拒绝乔布斯的offer
????????关注后回复 “进群” ,拉你进程序员交流群????????
作者丨流水不争先
来源丨技术领导力(ID:jishulingdaoli)
Linus,全名 Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹)。相信程序员圈子里的读者们对他并不陌生,可能还会忍不住喊一声“爸爸”,因为他是Linux系统的创造者。而Linus除了凭Linux系统一炮成名之外,还有不少趣闻轶事。今天流水姐就给大家唠一唠关于Linus的故事。
01
买不起操作系统,自己动手写一个!
Linus最初学编程是为了帮爷爷干活。他的爷爷Leo是芬兰第一批统计学教授,厉害得连芬兰统计学会都用他的名字来成立荣誉奖,猛人实锤了。在Lunis十一岁的时候,爷爷给了他一本汇编语言教程,说:“乖孙拿着。要不你试一下学编程,然后给我做几个统计小程序吧。”
小时候的Linus还挺内向的,乖乖听话去学了,一边端着汇编语言教程书,一边在爷爷的电脑上敲代码。也许Linus真的继承了爷爷的优良基因,最终写出了不少统计学工具,可谓“编程小鲁班”了。
1991年,Linus 22岁了。他想给电脑安装系统,但当时的系统价格太贵,还是学生的他负担不起。“既然如此,那我只好自己写一个了”,于是这个IT界的少年“鲁班”就造出了Linux。
02
科技界没有人可以拒绝乔布斯,除了Linus
最初,Linus只是独自完成Linux大部分内核编程工作。后来,越来越多人知道并采用Linux系统,慢慢形成了一个小社区,里面的不少极客也创作出优化系统的补丁,在社区上分享、交流。Linus觉得这样的交流氛围挺好的,并从Linux系统建成的第二年起,开始采纳一些写得很好的补丁,提高系统迭代速度,后来还成立了Linux内核维护小组。
Linux火起来了,Linus也“封神”了。甚至在2000年,乔布斯向他发出offer邀请。Linus却不在乎,拒绝了offer后,继续乐呵地钻研Linux系统。
2002年,Linus为了保存和控制好Linux每次版本升级的代码,选择BitKeeper作为Linux的版本控制软件。但BitKeeper是封闭软件,不开源。Linux技术社区里的伙伴们就不乐意了——咱们家Linux是开源的,理应选择开源的版本控制软件呀。
Linus何尝不想呢,不过他找了一大轮都不满意。当时绝大部分开源的版本控制软件都存在问题,尤其是性能不佳。BitKeeper虽然封闭,但好歹功能过得去呀,就先用着吧。
03
只用了10天开发Git,再次封神
问题在2005年真正爆发起来,当时Linux内核开发团队里,一个叫Andrew的成员做了个简单程序,支持链接BitKeeper的存储库。BitKeeper认为他违反了使用协议,决定收回Linux无偿使用BitKeeper的许可。不管两家人怎么磋商也好,最终都无法消除分歧。
没有版本控制系统,Linux根本不敢升级版本。无奈之下,“鲁班”只好再次出手了。Linus用十天开发出Git(V1.0),作为Linux内核的版本控制系统。后来,Git和Linnux两个产品并行迭代,最终都成为成熟的软件和系统。
那么Git的强大在哪里?它可以独立用作版本控制,很多著名的软件都用它来控制版本,比如X.Org服务器和OLPC内核等。所以,塞翁失马焉知非福,Linus这十天也没有白费,在解决Linux系统迭代问题的同时,又创造出一个新的事业里程碑。
04
管理怪才,发明了“多层次小团队”模式
我们倒回来聊聊Linux内核维护小组吧,说起来它还真是个短小精悍的组织。
小组成员只有十人左右,每个人都有自己负责的开发领域和项目内容。这几位核心成员又各自管理着自己熟知又信赖的小团队,攻克团队负责领域的技术问题。这种模式也叫“多层次小团队”。
Linus很强调团队信任。他曾说:“你可能有很庞大的社交网络,比如在 LinkedIn 上你可能有 5000 个好友。但是其中有多少人是你信任的?”对他来说,真正能信任并依赖的程序员也就 10 个左右,所以这种团队模式对他来说就是刚刚好的。
现在技术领导力的读者群里不乏大型企业的CTO,管理着50人左右的团队。可能你们也会对过于冗杂、管理效率低下的组织架构而头疼。人多但干出来的事情却不多、天天在忙但又似乎没有做出什么成果来……那么不妨参考一下Linus这种管理模式吧!下面是我对“多层次小团体”团队模式做的简单梳理。
“多层次小团体”团队模式
建构过程
围绕核心目标,切分重要的任务/项目板块
根据不同板块的技术特点和复杂度,分别任命技术经验最匹配、资深、负责任的管理者
放权,让管理者各自选人,组建团队,制定团队目标和工作计划
团队成员向队长汇报,队长向你汇报
好处
目标清晰,每个人都清楚自己该专注什么任务
责任清晰,工作汇报可以落实到每个员工的人效成绩
汇报关系简单,高管无需同时管理几十人,主导宏观把控
坏处
容易形成“小团体”风气,所以要注意调节团队间的协作氛围
工作割裂,员工过于专注团队内部,不了解其他团队的项目进度
组织多团队协作任务时,可能出现权责模糊、推进困难问题
聊完Linus在事业上的成就,我们也来看看他的个性和生活。
05
褪去技术天才的“宅男本色”
为了给Linux带来更多商业化和推广的可能性,最终能成为像Unix一样知名的操作系统,在1992年,Linus决定让Linux开源。不过Linus表面很大胆,内心却很慌张。
Linus对商业公司有天然的畏惧,害怕他们要拿着开源代码乱来,做些不正当的生意,最后一堆麻烦事儿牵扯到自己身上,还辜负了用户们的信赖。不过这只是猜想,事实并非如此。随着接触越来越多公司,他发现对方也没什么坏心思,甚至挺可爱的。大家都只想在Linux的系统基础上,结合自己的创意和商业想法,开发出更多软件,实现自己的理想。
Linus坦言过,自己并不合群,也不喜欢参与太多集体行动,不过开源这个决定迫使他和形形色色的人合作。他和一些人意见不同,兴趣点不一致,甚至互相讨厌,吵得不可开交。
但经历过这个痛苦的沟通过程后,他发现分歧的原因只是不同群体的关注点不同,而解决分歧的办法就是找到共性——大家都想利用开源创造更多意想不到的软件作品,而事实也证明,这样做的效果最好。
最终,Linus经过多年磨练,成功走出“社恐”。他更愿意敞开自我,接触更多极客和厂商,交流看法,我们还是挺替他高兴的。
06
潜水狂热爱好者,喜欢穿着浴袍写代码
我们看大神都是带着“主角光环”的,但私底下的大神Linus也有憨憨可爱的一面。
Linus曾经跟记者说:“Linux第一个版本的代码是上传到 FTP 服务器上的,但是我至今也不知道怎么配置FTP,也从来没有自建web站点。”反正就是,我写出来了,不管了,让别人来弄吧。
Linus除了爱敲代码,还是潜水狂热爱好者。但是他也说过,如果潜水超过一周,还是会感觉手痒痒想编程。看来他还是爱代码多一点。
Linus第一次公共演讲时,非常害羞和紧张。“我站在台上一副张皇失措的模样,像抱着救生圈一样死死地盯着PPT幻灯片……感谢上帝让微软公司发明出了这个软件救了我一命。”Linux说话一直“毒舌”,而这句话却是发自真心的感激和夸赞。
Linus一般都独自在家办公,不用见人就很快乐。他还爱穿着浴袍写代码,越放松,越能进入状态。大家要是写不出代码了,也可以学Linus,换件浴袍换个心情,松弛松弛。
07
怼天怼地,怼杠精
Linus的性格挺两面的,一般情况下喜欢独处,寡言;但碰到不满的事情,就立刻变“辣”,公然开怼。
一次采访中,Linus直接对Nvidia表达不满的评价,甚至躲开摄像机位,说了句脏话。2018年的Linux维护者大会上, Linus对一些看不惯的事情发飙,引发现场冲突。最终他亲自为此公开道歉,并且宣布暂时离开Linux维护者团队,休假一段时间。
最近,Linux基金会正在推出全球 COVID 证书网络。这个网络能解决全球不同国家之间新冠疫苗接种有效性的认证问题,让接种了疫苗的人们出国更方便。但是,有网友跳出来批评这个网络,更准确地说,是批判新冠疫苗——他认为新冠疫苗带来了新的种族歧视。
Linus公然回怼反疫苗的谬论,不仅是为了给自家基金会的项目站台,而且是维护社会公义和公共健康,颇有社会责任感。
结语
Linus今年已经52岁了,用他的自传书名《Just for Fun》来说,人生这一回就是Just for Fun,好玩就够了。也是这种活得阔达自在的心境,让他敢创造出一般人不会想创造的系统,敢做一个爱憎分明、说话“毒舌”的人,也敢保留自己生活中可爱的那一面。何乐而不为呢?
参考资料
《Linux、Git 之父 Linus Torvalds 的别样技术人生》InfoQ
《你知道吗? Linux之父 Linus Torvalds 的10个有趣的事情》Linux公社
《探秘 Linux 之父 Linus Torvalds 的日常,一不小心就撸出两个创世神作!》运维之美
《互联网奠基人传之< Linux 之父 Linus Torvalds> 》Peter 王广忠
《爱怼人的Linux之父:操作系统不好用,就自己开发一个》异步图书
《关于要不要接种新冠病毒疫苗?Linux之父 Linus Torvalds 的态度来了》Linux公社
作者简介:流水不争先,零代码APaaS软件从业者,不安分斜杠女青年。用一笔一墨,勾勒出互联网时代的清明上河图。
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
点击????卡片,关注后回复【面试题
】即可获取
在看点这里好文分享给更多人↓↓
他靠写程序封神,买不起操作系统,就动手写一个!曾拒绝乔布斯的offer相关推荐
- 程序员的职业病(职业素养)之一:动手写业务代码之前先考虑异常处理
程序员的职业病(职业素养)之一:动手写业务代码之前先考虑异常处理.Jerry 5月份动脑部手术之前,无论是从网上搜索的资料,还是从手术医生那里亲口听到的,都提到手术有一定的风险.换句话说,我有一定概率 ...
- 计算机英语写一封邮件给汤姆作文,英语仿写一封信 介绍自己
敬爱的老师: 您好 您是我心目中最敬重的好老师,您虽然十分严厉,但是您把一颗心扑在我们身上. 您起早贪黑,琢磨着更好的教学方法. 您就像蜡烛一样,让我感到前途无限的光明,却燃烧了自己. 树木的成长,离 ...
- linux写一个最简单的操作系统,自己动手编写一个简单的操作系统
有人可能担心自己既没有学过计算机原理,也没有学过操作系统原理,更不懂汇编语言,对C语言也一知半解,能写操作系统吗?答案是没问题.我将带大家一步一步完成自己的操作系统.当然如果学一学上述内容再好不过. ...
- 原装ipad手写笔有必要买吗?第三方iPad手写笔推荐
随着科技的不断发展,各种电子产品已经和我们的生活融为一起了.现在的人们越来越多使用ipad,那么买了ipad,有必要再花上仅一千的钱去购买一支pencil吗?或者是说有第三方的ipad手写笔可以替代原 ...
- 用CIL写程序:定义一个叫“慕容小匹夫”的类
前文回顾: <用CIL写程序:你好,沃尔德> <用CIL写程序:写个函数做加法> 前言: 今天是乙未羊年的第一天,小匹夫先在这里给各位看官拜个年了.不知道各位看官是否和匹夫一样 ...
- 编程语言小传之 零.第一个研究写程序的女人
大家知道,第一次工业大革命开始于纺纱.织布机的发明应用.而现代计算机的发明,也跟织布有关系.虽然在第一次工业革命后,布匹可以用机器大规模织出来了,但如果要织出复杂图案,还是只能依赖于人工操作提花织布机 ...
- Stm32开发1-蓝牙实现STM32的无线烧写程序 ISP模式 串口1不受影响 无线下载
最近研究如何实现Stm32的无线烧写程序.从CSDN上看到大部分的无线烧写方法,大都是采用ESP8266+CMSIS-DAP的方式,其能下载也能调试程序,也能通过虚拟串口通信.但是其串口应该是用软件实 ...
- 用html设计蝙蝠侠介绍,编写你的第一行 HTML 代码,来帮助蝙蝠侠写一封情书
原标题:编写你的第一行 HTML 代码,来帮助蝙蝠侠写一封情书 编译自: https://medium.freecodecamp.org/for-your-first-html-code-lets-h ...
- 星期六没节目,只好英语写程序!英语快学,76-85句
工作七天的星期六下班,没有其他节目,只有写程序,学英语. 计划:每日50句,一个月掌握1000句高频口语,可以听读写,交流无障碍. 起床:10句: 上午上班:5句: 中午休息:10句: 下午上班:5句 ...
- Swift 语言概览 -自己在Xcode6 动手写1
Swift 语言概览 -自己在Xcode6 动手写1 原文:Swift 语言概览 -自己在Xcode6 动手写1 Swift是什么? Swift是苹果于WWDC 2014发布的编程语言,这里引用The ...
最新文章
- 搞懂深浅拷贝JavaScript内存之栈和堆
- 「Leetcode-Python」python中利用链表计算两个非负整数之和(链表类型非列表)
- 上线清单 —— 20 个 Laravel 应用性能优化项
- JavaScript 精粹 基础 进阶(5)数组
- es 怎么嵌入 算法模型_快速ES-RNN: ES-RNN算法的GPU实现
- 支付宝上线长辈模式: 字体图标加大 去除了营销推送
- (四)Locust no-web模式
- Linux chmod权限详解
- JS+CSS文章查看系统
- Anchor-Free系列之CornerNet: Detecting Objects as Paired Keypoints
- CCNP之IGP学习笔记(2022)
- Xcode 模拟器如何录屏
- pd.set_option 问题
- yaahp使用教程_如何用yaahp进行大量备选方案/评价对象的综合评价?
- AGV调度系统解决方案
- swalAlert一些简单例子
- 培训考试计算机系统,企业培训考试系统
- python将json文件转换为csv文件
- 网页部分第四次培训——JavaScript
- MySQL数据库——MySQL LIMIT:限制查询结果的条数
热门文章
- 卡耐基梅隆大学(计算机学院排名),卡耐基梅隆大学计算机系统排名2020年
- java登陆界面图片_java登陆界面如何插入背景图片
- 在Clouda中使用jQuery Mobile问题解决方案
- 什么是GSM,CDMA和3G?
- 计算机组成原理重点考试范围,计算机组成原理重点整理(白中英版) 考试必备
- 微信小程序怎么用?小程序有什么用?之501~600
- 关于RecyclerView 设置条目间距
- Android(root)设备HTTPS请求时间校准
- 积累一些平时制作Excel 表格的常用公式与方法
- 基于host的http代理--hproxy