凌晨三点的代码仓库里,开源软件根本不是你想的“免费白拿”

上周三凌晨两点四十,我被大学室友的微信震醒。

他做的那个给南京老小区做的便民小程序崩了——就是那个能查小区快递柜位置、报物业维修、组织邻里团购的小工具,平时也就几百个邻居用,结果那天赶上小区团购抢菜,一下子涌进来两百多个人,后台直接报了个他根本看不懂的错。

他本来都准备掏八百块买那个地图组件的商用授权了,结果顺着报错信息点进对应的GitHub仓库,发现十分钟前刚有人提了修复的commit,说是自己也遇到了一模一样的问题,已经改完了。

他拉下来代码,替换了原来的组件版本,五分钟,小程序又跑起来了。

那天他跟我吐槽到三点多,说以前总觉得开源软件就是程序员闲得慌写的玩具,真要用的时候根本靠不住。结果那天救了他一命的,就是他之前根本看不上的东西。

你以为的“免费”,其实是一群人攒出来的人情

说真的,我之前也对开源软件有过偏见。

总觉得这种没人掏钱维护的东西,肯定bug一堆,出了问题连个找售后的地方都没有。直到前年帮我表哥改他那套装在苏北农田里的智能灌溉系统——他自己连Python循环语句都写不利索,整套系统的核心控制逻辑,全是拿开源的工业控制框架改的,就对着文档调了几个土壤湿度的阈值,省下来的商用授权费,够他给整个村的灌溉网多铺三公里的滴灌带。

开源软件从来不是什么“无主的免费代码堆”,是每一个提交过代码、提过问题、甚至只是在使用文档里补了一句错别字的人,共同攒出来的公共资产。

没有谁规定你必须为它付钱。但你用的时候,总该知道这东西不是从石头缝里蹦出来的——有人为它熬过夜,有人为它跟别的开发者吵过架,有人为了让它适配新的硬件,翻了几十页的英文技术文档。

GitHub开源项目代码提交记录截图
GitHub开源项目代码提交记录截图

就拿我室友那个小程序用的地图组件来说,维护这个项目的开发者是个在杭州工作的95后,平时白天要在公司上班,只有晚上和周末有空改代码。之前有用户提issue说组件在老年机上加载慢,他连续改了三个晚上,把冗余的代码全删了,加载速度快了两倍多。也没人给他发工资,他说就是自己平时做小项目的时候需要这个组件,干脆自己写一个,省得每次都要找别人的半成品用。

那些你根本没意识到,天天在用的开源软件

好多人一听到“开源软件”,就觉得这是程序员圈子里的东西,跟自己普通人没关系。

大错特错。

你早上刷短视频用的手机系统,底层跑的核心模块有一半是开源的;你中午点外卖,后台处理订单用的服务器操作系统,是开源的;你现在打开网页看这篇文章,用的浏览器,核心渲染引擎也是开源的。

上次有个做To B产品的朋友跟我拍桌子,说他绝对不用任何开源软件,怕有安全漏洞,所有东西全要买最稳妥的闭源商业产品。结果我凑过去看他电脑上装的软件列表,数了数——他用来写方案的开源编辑器,他连公司内网用的开源VPN客户端,他用来导客户数据的开源数据处理库,甚至他电脑上跑的那个解压软件,核心代码都是开源的。

他当场愣在那儿,半天才憋出来一句:“合着我天天嘴上反开源,实际上吃的全是开源的饭?”

个人电脑桌面软件安装列表截图
个人电脑桌面软件安装列表截图

我之前也遇到过有人吐槽,说开源软件就是质量差,不如商业软件好用。这话真的站不住脚。

你现在能顺畅刷到的所有网页,大半都是靠那个开源的Web服务器转的请求;你手机上能秒开的聊天软件,底层用的网络传输协议也是开源的。这些东西每天要处理几十亿次请求,谁要是说它质量差,估计全球的互联网公司都得站出来反驳。

反倒是有些花了大价钱买的闭源软件,说不定哪天开发商经营不善倒闭了,连个给你修bug的人都找不到。之前有个开设计工作室的朋友,花了好几万买了一套商用的设计管理软件,结果用了不到两年,开发商直接把产品停更了,连客服都撤了,他存了好几年的项目文件,想导出来都找不到接口。

那时候他才反应过来,之前觉得稳妥的“付费买安心”,其实根本没那么靠谱。

别把开源软件当“免费羊毛”薅

别把开源软件当“免费羊毛”薅
别把开源软件当“免费羊毛”薅

当然,开源软件不是没有争议。

我前两年见过最离谱的一个创业团队,拿人家开源的电商系统改了个皮肤,删了原作者的版权声明,转头就敢跟客户说这是他们自主研发的核心技术,收人家二十万的系统服务费。结果后来被开源社区的人找过来,顺着代码里藏的只有原作者知道的注释揪了出来,赔了人家大几万,差点把公司搞倒闭。

好多人对开源的误解就在这儿——觉得既然代码是公开的,那就想怎么用就怎么用,想改成啥样改成啥样,甚至拿来卖钱都没人管。

开源的“开放”从来不是“无限制拿来用”,你得遵守对应的开源协议——要么保留原作者的版权声明,要么你基于它改出来的新代码,也得公开给所有人用。

说穿了,这就是个很简单的道理。你借朋友的自行车骑,总不能把车座拆了换个新的,就敢说这是你自己买的车,转头卖给别人吧?

哦对,上次我室友那个崩了的小程序,后来他顺着那个修复bug的PR,自己也改了个适配老年机字体大小的小功能,提上去被项目维护者合并了。现在他闲的时候还会帮那个项目看看用户提的简单问题,说总觉得白拿人家东西,怪不好意思的。

其实这就是开源最本来的样子。

没有什么高大上的口号,就是一群人,你写一点,我补一点,把自己平时需要的工具攒出来,大家一起用,一起改。

现在好多大公司嘴上喊着“拥抱开源”,实际上就是把自己内部用不上的边角料代码扔出来当吉祥物,真的核心技术半点儿不往外拿。转头就拿开源社区的代码吃干抹净,自己贡献的代码量连项目总提交数的零头都算不上,就敢在发布会上说自己是开源运动的坚定支持者。

说真的,我看着都尴尬。

没人逼你当圣人。但总不能一边吃着社区种出来的大米,一边站在田埂上笑话农民种的稻子长得不好吧?

你说对吧?

作者|科技

排版|科技

审核|知知

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:凌晨三点的代码仓库里,开源软件根本不是你想的“免费白拿”
文章链接:https://www.lfdjt.com/p/keji/a/9867.html