我决定辞掉工作,全职开发我的操作系统!
2023-3-16 12:18:52 Author: Linux学习(查看原文) 阅读量:44 收藏

来自:码农翻身(微信号:coderising)
熟悉码农翻身的小伙伴知道,我一直在关注一个叫做SerenityOS(宁静)的操作系统。

这个OS的特点是:类似Unix/Linux的内核 + 90年代软件的外观

它野心勃勃,一切从头来过,不但要从头写操作系统内核,还要写上面所有的应用软件,不打算依赖任何第三方。 

更可怕的是,这个OS在起步阶段,完全是由是一个戒毒成功的瑞典程序员Andreas Kling单枪匹马搞定的:

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

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

你说已经有非常成熟的Linux了,为啥还有另起炉灶?这不是没事找事吗?

但是国外“闲得没事”的程序员就是多,他们在业余时间一窝蜂地向宁静OS做贡献,完全不计报酬,代码贡献者已经达到了765人,Discord server 接近7000人!除了兴趣之外我真是想不出有什么别的理由,真是腐朽的资本主义啊!

今年10月10号,是宁静OS的第4个年头,创始人Andreas Kling写了一篇纪念文章。我仔细看了一下,发现又有了非常大的进展。

宁静OS开始支持多核,多用户,开发了一个跨平台的浏览器Ladybird,为了确保内存安全,这帮人还开发了一个内存安全的新的编程语言:Jakt !

我把之前的文章也做了更新 (看过上一篇文章的可以直接拉到文末),再次强烈推荐大家关注下这个仅凭兴趣发展起来的操作系统:  https://github.com/SerenityOS/serenity

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

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

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

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

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

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

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

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

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

开工吧!

第一年, 从零到HTML!

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

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

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

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

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

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

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

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

2019-04-20:  贪吃蛇游戏

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

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

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

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

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

第二年

2019-11-04: 移植Quake

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

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

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

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

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

2020-06-22: JPEG解码器

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

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

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

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

2020-09-29:  简单版Excel !

第三年

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

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

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

2021-6-30:  支持64位

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

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

第四年

出名了以后,采访更多了

在西雅图会议上做演示,被JetBrains CLion采访,被瑞典报纸采访,自己对骨干开发着采访,在YouTube发各种宁静OS的视频......

可以看出,团队一边在努力开发,一边在努力做推广宣传。

支持多核

支持多用户桌面

Jakt: 为宁静OS设计的内存安全的编程语言

由于C++内存安全不佳,他们尝试了其他几种语言,做了原型以后都觉得不爽,那就按照宁静OS的传统,一切从头儿来吧,自己开发一个新的语言Jakt。

Jakt最早由Rust实现,现在已经可以自举了,这就意味着宁静OS连编程语言都不依赖第三方了。

Ladybird:一个跨平台的网络浏览器

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第四,宁静OS运气不佳。

为什么这么说呢?因为Linux能在90年代发展起来,有个大的历史背景,就是Unix官司缠身,而蓬勃发展的互联网急需一个开源的,免费的操作系统,Linux正逢其时,在Linus的卓越领导下一飞冲天。

而宁静OS没有这样的风口了。

但是Andreas他们根本不在乎,这就是自己的个人兴趣,我就是在玩儿,自己爽,管你外界怎么看?

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

作者简介:

本文作者刘欣,著有畅销书《码农翻身》,《半小时漫画计算机》,前IBM架构师,领导过多个企业应用架构设计和开发工作;洞察技术本质,擅长用故事去讲解复杂技术。

---END---
推荐↓↓↓

文章来源: http://mp.weixin.qq.com/s?__biz=MzI4MDEwNzAzNg==&mid=2649460132&idx=1&sn=fd4379db179718d5bcc26c71d7fc6811&chksm=f3a2acd7c4d525c13c62177a4d12d55b52b6f8cbaf4e004288db5cbb6df24d5fa4ab548d044b#rd
如有侵权请联系:admin#unsafe.sh