如果这个人出门被车撞了,互联网就崩溃了...

在软件的世界,有很多关键软件是由一个小型、无薪团队(或者更糟糕,一个人)维护和管理的。

而我们互联网恰恰构建在这些关键软件之上。

19a980dcee8b1cbe865fc4190815f4de.png

当这个人对项目感到厌倦时会发生什么? 

他会不会做些恶意的事情?就像最近XZ压缩工具的后门事件?

或者说得“恶毒”一些,他万一被公交车撞了怎么办?

一个小小的偶然事件,就会导致现代计算设施的积木轰然倒塌

这种情况有多可怕?这里举两个普通人可能根本就不知道,但是极其关键的项目。

01

TZ数据库

世界各地的时区和夏令时规则由各自的政府独立管理,他们经常在有限的通知下进行变更,这让处理时区时很麻烦。

幸运的是,我们有一个标准的TimeZone数据库,可以让软件轻松进行时区处理和转换。

a7911ec5d6bbab22ecd5c72046c3e4a1.png

许多软件项目依赖TZ数据库:

  • BSD 及其衍生系统:FreeBSD、OpenBSD、NetBSD、macOS、iOS

  • Linux

  • Android

  • GNU C 库和使用它的系统

  • 各种编程语言:Java、PHP、Perl、Ruby、Python、Javascript、Go、Rust

  • 各种数据库:Oracle、MySQL、PostrgreSQL、MongoDB、SQL Server

我们的世界基本上是由上述软件编写的。

每当时区详细信息发生变化时(每年可能发生几次),数据库就需要更新一下。

如果没有及时更新,不但会引发时间混乱,甚至会扰乱安全功能(因为某些加密工具需要紧密同步的时间)。

对于如此重要的事情,肯定有来自多家公司的高薪团队负责保持更新,对吧?

不,很长一段时间内,只有两个人在维护,即 创始人Arthur David Olson 和 Paul Eggert。

d08d294b6500ce6586d13a2f24d8f2bb.png

(Paul Eggert)

Olson并不是IT界的专业人士,他只是美国国立卫生研究院的一名员工,Eggert是加州大学洛杉矶分校的教授。

2011年,Arthur David Olson宣布退休,TZ数据库的维护工作才被交给了ICANN,依然由两个人维护:Paul Eggert 和 Tim Parenti 。

02

SQLite

在之前的文章中我就提到过,SQLite世界上使用最广泛的数据库,它的使用数量超过其他所有数据库的总和。

你可能没听说过他,但是它就在你的身边的:

  • 每一台智能手机中(Android 和iOS)

  • 每一台Mac电脑中

  • 每一台Windows 10 电脑中

  • 每一个主要的浏览器中(Chrome, Firefox, Safari)

  • 大部分的机顶盒当中

  • 每个PHP和Python安装目录中

  • 很多流行的桌面应用(微信、QQ、 DropBox、 Skype、 iMessage、WhatsApp、 Adobe Acrobat Reader....)

......

不信的话可以在电脑中搜索一下 “*.db”,看看能发现多少个。

让人惊掉下巴的是,SQLite维护者仅有3个人

305f04567ff8cc919a40fa710aad949f.png

这三个人并不是像Linus那样,掌管这个一个社区,背后有大量的开发人员,他们三个就是SQLite所有的开发人员了!

这个三人团队完全处于“单干”状态,不接受外界任何补丁和代码提交(虽然SQLite本身是开源的)

Open Source ,但并不是 Open Contribution

全世界价值万亿美元的系统都在依赖SQLite,依赖这三个人。

03

大公司都依赖志愿者

将这两个项目的负责人加在一起,一共5个人,担负着世界上几乎每台计算机都使用的软件和数据。

这只是冰山一角,还有很多关键项目,例如imagemagick、 xz、FFmpeg,都是由无偿的志愿者组成的小团队在维护。

fe37dae3fe414f107152c6fdca74acce.png

它们是无数系统的核心,你很可能每天都会使用它们,只是没机会直接接触它们。

FFmpeg 背后的小团队在Twitter上所说,让这些大公司以任何有意义的方式做出贡献可能就像拔牙一样:

xz 的惨痛教训告诉我们,对无偿志愿者的依赖会导致严重问题。

那些价值数万亿美元的公司期望志愿者提供免费且紧急的支持!

微软团队在一个充满志愿者的Bug跟踪系统上发帖,宣称他们的问题是“最高优先级”  

我们在礼貌地向微软请求一份长期维护支持合同,他们只是提出一次性支付几千美元。 

这是无法接受的!

简而言之:微软希望从 FFmpeg 所做的(免费)工作中受益......但最多只愿意向团队扔一些花生。

而且,即便如此,这种(有点侮辱性的)微薄的支持也只是在微软需要帮助时才会提供。

04

写在最后

1. 巨头会毫不犹豫地向某些组织投入大笔资金(例如 Linux 基金会,该基金会每年会从 Microsoft 等公司获得数亿美元的收入),但是,对于他们直接依赖的,能给他们带来丰厚利润的项目,他们却犹豫不决,不愿意提供资金。

2. Linux桌面和服务器所依赖的那些小项目,有多少获得了Linux基金会(或者资助基金会的巨头)的定期资助?答案是:几乎没有!

3. 即使是备受瞩目的开源项目(例如 KDE 或 GNOME)也很难筹集到足够的资金,来支付两名全职开发人员的工资。

4. 到目前为止,我们全靠运气才避免了灾难。

最近的 XZ 后门是由一位孤独的开发人员发现的,他碰巧注意到半秒的速度变慢,碰巧有时间、碰巧有经验、有兴趣做进一步调查,在造成重大损害之前发现了后门。

我们的好运不会一直持续下去的.....

本文翻译自下面的文章,有改编

https://lunduke.locals.com/post/5477752/if-this-one-guy-got-hit-by-a-bus-the-worlds-software-would-fall-apart

7c011ee682217b6e384832bd30c040bf.png

我的新书《码农翻身2》近期正式出版,这本书开启了5折优惠,全彩印刷,用故事给技术加点料,原价118元,现在仅需59元,第一批仅有5000册,赶紧抄底!

深入浅出而又幽默无比”,这是读者对《码农翻身2》的最高评价。

这本书不会讲How(技术细节,安装配置),而主要讲Why(技术原理),而且是用故事的方式

你会看到著名的张大胖又会遇到各种各样的挑战,不得不“重新发明”各种知名软件和技术。

编程语言王国之间依然争斗得你死我活,今天Java向Python渗透,明天JavaScript就向Java猛烈进攻。

而C语言春节回家,发现只有自己没有对象,十分悲催。

MySQL和Redis互相看不顺眼,不断向对方使绊子。

......

当你理解了一个又一个计算机的原理和本质之后,慢慢地就会融会贯通,织成一张网,上帝视角就会开启,对于出现的任何新技术,都能迅速理解和掌握。

why 要比 how 重要得多!这是这本书最大的价值所在。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值