你手机里的App能正常打开,一半功劳藏在没人注意的开源软件文件夹里

我上周陪朋友熬到凌晨三点。

他负责的电商活动页服务器崩了。

查了俩小时日志,定位到是个三年没更新的图片压缩库出了内存泄漏。只要上传超过2M的活动海报,服务进程就直接崩溃,连个错误提示都打不出来。

没人维护。

商业支持早就停了。

作者最后一次提交代码,还是2020年疫情刚爆发的时候。

最后翻到GitHub的issue区最下面,2021年有个匿名用户贴了个十几行的补丁,连个PR都没提,就说自己遇到同样的问题,改了就能跑。

朋友半信半疑打上去。

服务器直接稳了。

就这么离谱。

你以为开源软件是程序员做公益白送的?

很多人对开源软件的印象,还停留在“一群爱好者没事干写代码免费给人用”的阶段。甚至有人觉得,用开源的就是“穷,买不起商业软件”。

真不是。

根据软件供应链厂商Sonatype2024年的公开报告,全球商业软件的代码库中,开源组件的占比平均超过75%。

你早上刷的短视频App,解码视频用的组件,大概率是开源的;你打车用的定位SDK,底层的地理坐标转换库,可能也是开源的;甚至你公司用来做考勤的系统,连数据库都是开源的MySQL或者PostgreSQL。

你根本意识不到你在用开源软件。

就像你每天呼吸空气,不会特意停下来想“我今天吸了多少氧气”一样。

开源软件组件嵌套商业应用代码库示意图
开源软件组件嵌套商业应用代码库示意图

那些被骂“没人维护”的开源项目,藏着多少隐形贡献者

刚才说的那个图片压缩库,朋友后来看了下下载量,每个月还有十几万次的拉取。

全是企业用户。

但为啥没人出来当正式维护者?

太正常了。

很多用这个库的开发者,都是公司的员工。他们改了代码,自己公司用,但是因为项目没有统一的贡献者许可协议,或者怕提交PR之后要承担后续的维护责任,就干脆不发正式的贡献,只把补丁贴在issue区,谁用谁拿。

我上次遇到个更离谱的。

一个做工业控制的开源库,核心逻辑的补丁是个刚毕业的大专生贴的。他说自己在工厂实习,遇到同样的传感器读数不准的问题,改了之后试了三个月没问题,就贴出来了。

没人给他钱。

没人给他署名。

甚至连个点赞都没几个。

但就是这个补丁,救了好几个跟他遇到同样问题的小工厂,不然他们换一套进口的控制系统,要花几十万。

开源项目GitHub issue区匿名用户贴补丁截图
开源项目GitHub issue区匿名用户贴补丁截图

很多人看到一个开源项目最后一次更新是两三年前,就直接骂“这项目死了,别用了”。

根本不是。

只是正式的维护者没出来说话而已,底下偷偷用、偷偷改的人多了去了。

别把“开源等于不安全”当刻板印象

我见过太多人一听到开源软件,第一反应就是“代码都公开了,会不会有后门?会不会被人攻击?”

说实话,真要比安全,闭源软件的坑比开源多得多。

之前的SolarWinds供应链攻击事件,受害的都是全球顶级的企业和政府机构,出问题的就是他们花大价钱买的闭源商业运维软件。黑客把后门藏在闭源的代码里,没人能看出来,等爆出来的时候,已经有几万个系统被入侵了。

开源软件的安全本质,是把“暗箱”拉到阳光下。

任何一个安全研究者,只要愿意,都能把代码翻一遍,发现漏洞了,全球的人都能帮忙修。当年Log4j漏洞爆出来的时候,不到72小时,全球的开发者就把所有相关的补丁都推完了。要是换成闭源的组件,等官方慢悠悠排期发补丁,可能黄花菜都凉了。

我见过太多公司,花几百万买的闭源ERP系统,出了问题找客服,客服说要等美国总部的技术团队排期,排了俩月还没动静,最后自己找了个开源的替代系统,一周就搞定了。

不过话说回来,开源也不是万能的。

我见过太多小公司,上来就拿最热门的开源项目当核心业务系统,连个备份都不做,项目哪天被作者删库了,直接公司倒闭。也见过很多人,把开源项目的代码改都不改,就套个皮卖钱,连个出处都不标,挺恶心的。

有次我跟一个做企业服务的老板聊天,他说开源软件就是“免费的劳动力”,我当时就怼回去了:你用人家的代码,出了问题自己修不了,找外包改一次代码的钱,够你买十年商业服务了。

对吧?

天下没有免费的午餐。

开源只是把收费的方式变了而已。你可以用免费的版本,但是要想要稳定的技术支持,要想要专人帮你修bug,还是得掏钱,或者自己贡献代码。

开源项目作者回归更新提交记录截图
开源项目作者回归更新提交记录截图

上周我又翻到那个三年没更新的图片压缩库,作者终于出来更新了。

他说自己之前得了抑郁症,在家躺了三年,现在回来了。

下面有个评论说,我这三年靠你这个库赚了几十万,要不要给你捐点?

作者说不用。

你要是遇到bug,帮着改两行就行。

作者|科技

排版|科技

审核|安然

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:你手机里的App能正常打开,一半功劳藏在没人注意的开源软件文件夹里
文章链接:https://www.lfdjt.com/p/keji/a/10926.html