我决定辞掉工作,全职开发我的操作系统!(续)

去年给大家讲了一个瑞典程序员的故事, 他在短短半年的业余时间内、一个人单枪匹马构建了普通程序员几年、甚至十几年的业余时间才能搞定的东西:

操作系统内核、TCP/IP协议、GUI框架、进程管理器、文件浏览器、文本编辑器、界面编辑器、贪吃蛇游戏、绘图工具...... 

这家伙就是传说中的10倍速,甚至100倍速程序员

再加上后续的浏览器, JS引擎、CSS、C++ IDE、HTTP服务器、电子表格...... 虽然功能还不完善,但是项目展示出的范围宽广得可怕!  

这不但要重写操作系统,还要重写上面的所有软件! 

d3ac656c79af5119991630a743d0154e.png

这个叫宁静OS的操作系统已经到了第4个年头,今年清明假期我又关注了一下,发现进展不错,他的GitHub已经有了2K的fork,和18.8k的star。

并且,项目已经有了三个靠接受赞助开发宁静OS的程序员,有趣的是,其中有个人叫Linus866737ea6b24f264cb306adbb80a252f.png ,还有数百个贡献者,一个活跃、成熟的社区已经成型。

最近的里程碑是,宁静OS上的浏览器通过了Acid3的测试。Acid3虽然比较老,但是对JavaScript,DOM的要求是很高的。

我把之前的文章也做了更新,再次强烈推荐大家关注下这个仅凭兴趣发展起来的操作系统:  https://github.com/SerenityOS/serenity

下面以第一人称,讲述一下他的故事。

2018年10月,我刚刚在瑞典的一家戒毒所完成了为期3个月的康复计划, 我失业了,和家人在一起,无事可做。 

日子太漫长了,我得找点儿事儿做。

之前我在Apple 和诺基亚工作,主要做基于WebKit的Web浏览器,  但是我对底层的东西特别感兴趣,我写过ELF的解析器,Ext2 文件系统浏览器,有着事件循环的GUI 框架......

慢慢地,一个操作系统居然开始成形了,我把它取名为SerenityOS (宁静操作系统)。 

你可能要问了,为什么要搞个新的操作系统呢? 

答案很简单,我想构建一个我日常使用的梦想的操作系统:结合上世纪90年代的GUI和Unix严肃的命令行。

在Apple工作的时候,我很享受苹果软件那种都在一个“屋檐”下的感觉,不但所有的软件可以超级紧密地集成,并且可以让程序员尽情地去“折腾”。 

我决定把这种感觉带给开源世界:我的SerenityOS不再是由一个个软件包“拼凑”起来的,我要重新构建所有的东西:从内核到浏览器,以及中间层的所有东西!

开工吧!

第一年, 从零到HTML!

2018-11-08: 在虚拟机中运行

b2cf98eb8f784bbee4e3298dc7f6102b.png

2019-1-09 ,开始对Widget(窗口,按钮,CheckBox等)开始测试

083d10718559c1084639842bb3c38f80.png

2019-01-21:  创建多个"guitest"进程

003f8a305881432a13d64540b8817072.png

2019-02-03:   增加字体编辑器、时钟

64d0585c302b45db32f14507f1189559.png

2019-02-11:  实现菜单!早期的文件管理器

3624f7009af2aaaa2c4e4037b4f8fb7d.png

2019-02-28: 早期的进程管理器

8712b136f48ea2514fc59d2840ee76de.png

2019-03-15:  TCP协议栈搞定了,实现一个IRC玩玩

60ad022a56ad7ee1452775c54fdb62b1.png

2019-04-11: 创建VisualBuilder,  创意来源于Visual Basic

326e24e918b84a0c7e300fc9f422f674.png

2019-04-20:  贪吃蛇游戏

64238582400683dee33d1373a2747011.png

2019-04-22: GCC基本上可以工作了

628d69aa56ef8f046e1b44c9aecd67e8.png

2019-06-14:  简单的绘图程序

997a88e8927c7bfe03daa9ed865e7eaf.png

2019-09-09: 女士们先生们,我们有 DOOM了!

4bcc42956012736f708d2ed8ce82d3c0.png

2019-09-29: 在LibHTML中实现基本的CSS

a1ed0e72af802486cf2aaad12418abd8.png

2019-10-10  第一个浏览器实现了!

dfa833260af95d36fad4a1ce6bf6cdd6.png

第二年

2019-11-04: 移植Quake

08c41ef4b40a7ef57afa7c73ed579f20.png

2019-11-30:  整一个 C++ IDE吧:  HackStudio IDE

57e02a71ecf55db2a45084865fc1febb.png

2019-12-30: SerenityOS 在 36c3 上被“黑”,我开始发疯似地学习安全知识来保护它

15836a99b875b60b99e72e8899af7d88.png

2020-02-29:  一个简单的HTTP服务器(为了庆祝我的生日)

ba2537812d3ae04d7618b5de0a9aa99b.png

2020-03-31: JavaScript 支持初见雏形

c0503f7ee518d4ae8282745060513064.png

2020-05-30: 支持TLS(和HTTPS)

5bc329f8c3e8e9bddc53643f4326a785.png

2020-06-22: JPEG解码器

2362a3340056faacd323d61913b3ef86.png

(想知道图片中这位美女是谁的,可以参考这篇文章《计算机女神,互联网第一夫人!》)

2020-06-30: 努力通过Web浏览器的CSS兼容性测试(ACID2)

fc29d95d54f13d713c830c37ad5d5208.png

2020-08-30: 更多的桌面游戏 (Chess and 2048)

db790da871a42bd5e885627f395248f7.png

2020-09-22: C++ IDE HackStudio 开始支持Git

bdcae0483b682b04851577dbc8f28420.png

2020-09-29:  简单版Excel !

c739881d04e62e279d9bd0cf7be32a79.png

第三年

从这一年开始,采访明显增多

2021-03-6:  移植经典游戏:暗黑破坏神

921eea71d64c200cb4fd6aaca877bc5a.png

2021-05-28:  重大里程碑,收到了足够的捐款,可以真正在宁静OS上全职工作!

2021-6-30:  支持64位

0c65fba41ac2c78858cb59428911a4a8.png

2021-6-30:  构建“设置”应用程序

b863ad3cb3ce041f95e54e82a0c571a3.png

2021-8-10:致力于多核稳定性

b374d4ba9014e9ea743c19d4f51e4201.png

随着时间的推移,越来越多的人发现了我这个小项目(和我在GitHub上的视频),也引起了不少人的共鸣,比如:

我很喜欢你这个项目,有着Unix风格的内核,混搭的GUI,一个Mac OS的菜单栏, Windows GUI界面,一个NextSTEP风格的Laucher , 你把其他系统中你最喜欢的部分给拿了过来。 

越来越多的人参与进来, 宁静操作系统,已经从一个不起眼的小项目,发展成为一个活跃的开源社区,全世界有几百个贡献者,在GitHub上收获了11.9K的star 和 1.1k 的fork 。 

2021年5月28号,我辞职了,全心全意地投入到这个操作系统的开发中。 

这主要得益于大家慷慨的支持,我现在每月收到来自Patreon, GitHub 和PayPal的2000美元的捐赠,YouTube也有少量收入(每月150美元),再加上宁静OS的商品销售(每月100美元)。 

这虽然不足以完全维持我和我的家庭的开销,但也差不到哪儿去。 

正如你看到的,我并不想通过这个操作系统发财, 我只想成为一个健康的、神智健全的人, 碰巧我的“自我治疗”项目吸引了这么多人的注意和支持。 

我是Andreas Kling, 一个瑞典程序员。

63b0d3099eda6723857649f2999f7912.png


故事看完了,不知道各位小伙伴有什么感受? 

说实话,我看了以后首先的感觉就是特别震惊!

文章开头已经提过,这家伙在短短的半年时间内、一个人单枪匹马构建了普通程序员几年、甚至十几年的业余时间才能搞定的东西, 这家伙就是传说中的10倍速,甚至100倍速程序员

其次,Andreas真是敢想敢干,从内核到应用,都要重新搞一遍。Linux发展这么多年,大家都觉得一统天下了,都去研究Linux就好了,有个别爱好者也就是写个玩具操作系统,但是Andreas却有自己独特的想法,走出了一条独特的道路,并且培育了一个良好的开源社区。

第三就是兴趣真是最好的老师,他完全是凭借个人兴趣把这个系统开发出来的, 在起步阶段,所有的代码都是一个人写的。 一般人写操作系统,估计也就开个头,能够启动,抄几个例子也就算了,更不会搞这么多复杂的GUI框架和程序了。

他在油管上发了700多个视频!让人叹为观止,把自己的开发过程,对操作系统的理解都讲了出来。 

9ad82af4ad1086dff3f1f6409bf74b26.png

不过, 这几年他衰老速度也肉眼可见

fab9e097a1e7758b99a38ed89cc51698.png

第四,为什么又是北欧? 

Linux是芬兰人Linus写的

MySQL是瑞典人Monty开发的。

Minecraft 是瑞典人Markus写的

......

SerenityOS 虽然没法和上述产品相比,但也是一个非常有影响力的项目了 。 

为什么这些产品没有出现在中国? 

如果说Linux, MySQL, Minecraft开发的比较早,那时候中国程序员还不多,水平可能还不高, 但是现在已经是21世纪20年代,SerenityOS涉及到的技术早已普及,为什么没人去做呢? 

我想最有可能的原因是:中国有很多像Andreas这样的天才程序员,只不过他整天被需求压得喘不过气来,业余时间被996榨干,回到家中,累得根本没有时间和精力去鼓捣自己的兴趣和爱好了......

最后一个问题:如果有个机会,你每月也可以收到一笔赞助,可以维持不错的生活,只能租房子,但是不用担心医疗,你会去做类似的事情吗?

3af3b1d4627f22270da379ea15106599.gif

码农翻身3年精华文章(必读!)

漫画 | 老婆离家三周,我写了一个操作系统!

漫画 | Linux之父:我财务自由以后,失眠了

漫画:打死我也不搞负载均衡了

漫画:兄弟,今晚又得熬个通宵了!

程序员的宿命

宇宙第一IDE到底是谁?

如何降低程序员的工资?

程序员,你得选准跑路的时间!

Javascript: 一个屌丝的逆袭

我是一个线程

TCP/IP之大明邮差

一个故事讲完Https

CPU 阿甘

aece8aa4259e15ba0ebde0b421e3d700.png

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值