你刷的外卖、用的导航,背后全是开源软件在扛着

上周六凌晨两点半,我在朋友的出租屋蹭冰可乐。 他是个做前端开发的,电脑屏幕亮得晃眼,代码滚得像瀑布。我啃着鸡翅问他,你这改了仨小时的代码,就不能找个现成的组件套上?他头都不回,甩过来一句——那是开源软件写的,我只是改个适配的小参数。 哦。 我之前对开源软件的印象,还停留在”程序员圈子里免费的玩意”,直到那天盯着他的屏幕看,才反应过来——我每天早上点的热豆浆外卖,出门刷的共享单车,小区门口扫的通行码,全都是踩着开源软件的肩膀跑起来的。

别被”免费”两个字骗了

很多人一提开源软件,第一反应就是”白嫖的代码”,甚至觉得写这些代码的人都是闲得慌,放着好好的钱不赚,把东西免费扔出来。 根本不是。 我那个朋友常用的日期选择组件,最早是2016年一个在德国读博的学生写的。当时他嫌市面上所有的日期选择器都丑得像上个世纪的网页,选个日期要跳三级菜单,索性自己熬了三个晚上写了个,扔到代码托管平台上,谁都可以拿过去改、用、甚至拿去卖钱。 没人给他发工资。 最开始那两年,他只要有空就会泡在论坛里回消息,哪个用户说在老年机上点不动,哪个公司说要适配老版本的系统,他就抽下课后的时间改代码,有时候改到凌晨,就随手在代码提交记录里写一句”改了个破bug,明天还要赶期中论文”。
程序员在GitHub提交开源代码的记录界面
程序员在GitHub提交开源代码的记录界面
后来这个组件被越来越多的团队用,有人给他们捐咖啡钱,有公司主动找过来当赞助商,甚至有个做云服务的团队,直接雇了两个全职开发者来维护这个项目。不是为了把代码锁起来收授权费,是因为他们自己的产品也在用,怕哪天项目停更了,自己的系统先崩了。 说实话,我第一次知道这事的时候鸡皮疙瘩都起来了。 这哪是免费代码。 这是一群素不相识的人,隔着大半个地球,凑出来的一砖一瓦,谁需要谁就搬两块,搬的时候还顺手把裂了的墙补上。开源软件的核心从来不是”免费”,是”你可以拿过来用,也可以反过来补一块”。

你根本逃不开它,哪怕你从来没写过一行代码

总有人觉得,开源软件是程序员的圈子,和普通用户没关系。 大错特错。 你早上出门用导航,那个能精准定位到你在小区哪栋楼的引擎,有一半的代码是开源社区贡献的;你中午点外卖,那个能算出”骑手还有3分钟到楼下”的调度算法,最早的版本也是开源社区里的人写的;甚至你手机里的安卓系统,整个底层都是基于Linux这个开源软件搭起来的。 去年我去参加一个线下的技术沙龙,有个做社区团购的小伙子站起来说,他们最开始做小区配送的时候,根本没钱买专业的库存管理系统,就是找了个开源的仓库管理软件,对着教程改了三天,把各个小区的自提点信息录进去,硬生生撑过了最开始的三个月。 省了几十万。 后来他们公司赚了钱,第一件事就是给那个开源项目捐了一笔钱,还派了个专门的技术人员,每周抽半天时间帮着改bug。
开源社区开发者线下沙龙交流的现场照片
开源社区开发者线下沙龙交流的现场照片
之前还有人跟我吐槽,说开源软件都是”野路子”,没人管,容易出安全漏洞。 真不是。 就拿Linux系统来说,从1991年林纳斯在新闻组里发的那封”我在写一个免费的操作系统,纯属爱好”的帖子开始,到现在,全球有几十万的开发者在参与维护,每一行代码的改动,都要经过至少两个开发者的审核,谁要是想偷偷塞个后门,根本轮不到上线就被人揪出来了。 人多眼杂。 反而很多闭源的商业软件,因为只有内部的开发团队能看到代码,出了漏洞反而要等厂商慢悠悠发补丁,有时候等补丁的时间,黑客都已经把用户的通讯录偷完了。越多人盯着的代码,反而越安全。

别神化它,它也会闹脾气

别神化它,它也会闹脾气
别神化它,它也会闹脾气
当然,开源软件从来不是什么完美的乌托邦。它也会闹脾气,也会掉链子。 前两年有个全球都在用的开源日志工具,就因为一个维护者觉得这个项目太耗精力了,自己还要上班赚房租,索性直接把整个项目的代码全删了,扔了个”我不干了,谁爱接谁接”的公告在仓库首页。当时全球有几百万个系统都在用这个工具,直接炸了锅。 当时我那个做开发的朋友,凌晨三点被公司的电话喊起来。 他熬了一整晚,把所有系统里的这个工具全换成了别的替代版本,眼睛红得像兔子,第二天上班的时候还在吐槽,说本来开源的东西靠的就是自觉,谁也没给那个维护者发工资,人家不想干了,你连个说理的地方都没有。 我当时问他,那你们为啥不用商业的付费软件啊,省得担惊受怕。 他翻了个白眼说,商业软件一年的授权费够我们给整个团队发三个月工资了,真算下来,哪怕哪天开源的项目停更了,我们自己花点时间改改,也比那笔钱划算。 账要算得明白。 没有谁是必须为谁免费打工的。开源社区里的贡献,从来都不是什么道德绑架,就是你用了别人的东西,觉得好用,就顺手帮着搭把手,哪天你有空了,也给后来的人铺块路。 上周我又去找那个朋友蹭可乐,他正在给一个开源的小程序框架改适配的bug。就是他自己平时常用的那个,上次他提了个适配老年模式的需求,作者说最近太忙没人抽时间做,他索性自己抽了两个晚上,把代码改完提交上去,现在那个框架的老年模式,已经有好几个社区的老人在用了。 我问他,你这改代码也没报酬,图啥啊。 他咬了一口鸡翅,说,之前我刚入行的时候,也是靠着别人写的开源教程、开源组件,才没被当时的项目逼得转行。现在我能写两行代码了,就顺手补一块,下次别人用的时候,也能省点劲。 窗外的风刮得有点大,电脑屏幕上的代码还在滚。冰可乐的气泡在杯子里滋滋响,没人提什么技术理想,也没人说什么宏大的叙事。 就是普通人,凑在一起,把好用的东西,慢慢磨得更顺手一点。

作者|科技

排版|科技

审核|阿辰

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:你刷的外卖、用的导航,背后全是开源软件在扛着
文章链接:https://m.lfdjt.com/p/keji/a/23279.html