本文转载自:CSDN程序人生
(ID:
CSDNnews)
从入职大厂到后来误入歧途,从洗心革面到以一己之力全职开发一款操作系统,又到果断辞职全身心投入到浏览器项目上,势要为自己开发一款操作系统、跨平台 Web 浏览器的 Andreas Kling 正在开启人生的下一篇章。
这位名为
Andreas Kling 的程序员,
自 2019 年每次更新自己的最新动态时,似乎都能登上国外科技网站的热榜,成为众人关注的焦点。
不是因为他堪比 Linux 之父 Linux Torvalds 那样有名,也不是因为他是来自某大厂的高管,更不是因为他研发的某样工具直接改变了世界,其实严格来看,他只是
一名普通的程序员。
近日,他在职业生涯中又做了一个大胆的决定,辞去自己亲手创建的 SerenityOS 操作系统项目的 BDFL
(终身仁慈独裁者,Benevolent Dictator For Life,是少数开源软件开发者所拥有的头衔,他们通常是某一项目的创始人,并在该项目社区出现争议时拥有最终的决定权)
职务,把自己研发的浏览器项目 Ladybird 从操作系统中分叉出去,让其成为一个真正的跨平台浏览器。
这也让人好奇,为什么 Andreas Kling 的一举一动就能受到如此高的关注度,我们不妨从他过往的经历中一探究竟。
Andreas Kling
:一位从大厂离职、到误入歧途、迷途知返的程序员
Andreas Kling,
是一位来自瑞典的程序员。在他的自述中,他用了“
终身编程爱好者、有志成为通才
”来描述自己。
在外人看来,作为一个程序员,
他本来有
非常好的发展前景,毕竟
曾任职于苹果(2011-2017 年)、诺基亚(2009-2011 年)等大厂,主要负责基于 WebKit 的 Web 浏览器开发工作,非常擅长使用 C++。“现在的你,很有可能正在使用一个因为我而速度稍快的浏览器阅读本文”,
他在博客介绍页写道。
不过,遗憾的是,从苹果离职后不久的
Andreas Kling 误入歧途,直到 2018 年 10 月,他
从当地一家戒毒所完成了为期 3 个月的康复计划。
出来之后,
Andreas Kling
失业了。他与家人住在一起,无所事事。由于没有药物或其他恶习可以打发时间,他觉得日子太过漫长了。
起初,
Andreas Kling
努力寻找一些事情来打发时间。他在学校待过一段时间,发现那里并不适合自己。
「完成药物成瘾康复计划几个月后,我的心态非常开放,想要挑战自己,找到提升自己的方法。
毒品让我的生活充满了秘密和谎言,但那样的生活已经结束了。虽然我不确定下一步该怎么做,但我对秘密已经厌倦,以至于我想不出还有什么可以改变的。
我需要一些东西来打发空闲时间,同时学习如何过上正常的生活,而事实证明,构建一个新的操作系统是一项恰到好处的任务
」,
Andreas Kling 说。
这也是
SerenityOS(
“宁静”操作系统
)操作系统的由来,
Andreas Kling 希望借助
“宁静的祷告”,
或许能帮助自己更加坚信未来要走的路
。
6 个月,开发出一款操作系统的原型
Andreas Kling 对开发
SerenityOS 的
目标是——「构建一个完整的桌面操作系统,最终用作我的日常驱动程序」。
结合其
个人最喜欢的两种计算机模式
,即 20 世纪 90 年代的 GUI 和 21 世纪末 Unix 的简洁命令行,
Andreas Kling 将
SerenityOS
开发成一款适用于 x86 计算机的图形类 UNIX 操作系统。
在开发过程中,
Andreas Kling
表示:「在苹果公司任职的时候,我真的很喜欢他们大部分软件都是在同一个“屋檐”下制作的感觉。这不仅使所有的软件可以超紧密集成,还可以给开发者更大的创作空间。我想我可以尝试把同样的感觉带到开源世界,所以我决定 SerenityOS 不会是一个个拼凑起来的软件包,我们正在建立自己的一切,包括从内核到 Web 浏览器,以及两者之间的一切。」
在此之下,
通过不断地迭代,
Andreas Kling 仅用了半年的时间,研发出了 SerenityOS 的 Demo。
2018 年 10 月 10 日
,
经过六个月的独立工作之后,
Andreas Kling
将其发布到网上,并邀请其他人参与,这也是他在
GitHub 上首次提交了代码
(https://github.com/SerenityOS/serenity)
。
与此同时,Andreas Kling 为了让自己更加忙碌,也为了记录,他开始制作 YouTube 视频来记录项目开发的进度。
Andreas Kling 表示,“当时,我还在独自从事这个项目,我认为视频可能是一种引人入胜的形式。最初的视频都是简单的编程课程,充满了笨拙。我犯了很多错误,在纠正错误时含糊不清。随着时间的推移,我进步了,并且开始每月制作 SerenityOS 更新视频——这一传统至今仍在延续。”
直至今日,Andreas Kling 在 YouTube 上视频量达到了 1056 个,拥有 4.58 万的订阅者。
而 SerenityOS 从由 Andreas Kling 一个人全职参与的项目发展到数百人合作开发的开源社区。在 GitHub 上,
SerenityOS 项目从 0 获得了 29.1k Star,Fork 数量达 3.1k。
就 SerenityOS 的功能而言,其也从一个用 C 语言编写而成的小 x86 内核起步,逐渐能够在虚拟机中运行、拥有 GUI、生成多个“guitest”进程、增加壁纸支持、使用 ping 命令、构建一个 IRC 客户端、实现了一个贪吃食的游戏、编译小的 C 程序......
时下,Andreas Kling 删除了 32 位 x86 端口,使 SerenityOS 成为仅限 64 位的操作系统。还增加了对更多流行媒体格式的支持,如 VP9、WebP、JPEG、JPEG XL、TinyVG。此外,还能在 SerenityOS 上玩《超级马里奥 64》。
更值得一提的是,Andreas Kling 做到了其最初的承诺,
会从内核到 Web 浏览器,构建
SerenityOS 所需的一切。他
于 2022 年推出了一个名为 Ladybird Web 开源浏览器(https://github.com/SerenityOS/ladybird),进一步增加 SerenityOS 系统的完善性。
不止于此,
Ladybird Web 浏览器的一大特性是跨平台,这也意味着
Andreas Kling 等人的开发将跳出
SerenityOS 的桎梏。
跳出
SerenityOS 的桎梏,
一个新的跨平台浏览器项目
Ladybird 诞生
提及 Ladybird Web 浏览器的开发,在 Andreas Kling 最初设想中,Ladybird 是作为 SerenityOS 系统的 LibWeb 和 LibJS 浏览器引擎调试工具,它让人们可以更轻松地在 Linux 上工作。