共计 1504 个字符,预计需要花费 4 分钟才能阅读完成。
大家好,我是卡颂。
最近看公众号后盾用户数据,关注我的敌人一多半(58%)是 26~35 岁。
这个年纪,可能曾经被社会捶过几年,对 胜利 一词有了本人的了解。
尽管不晓得什么样的人生才是胜利的人生,然而有这样一个开源我的项目:
- 开发至今,保护了 25 年
- 寰球总下载量大略为 100 亿次(寰球网民均匀每人下载 2.5 次)
置信你也会批准:这是个胜利的开源我的项目,他就是赫赫有名的curl
。
接下来让咱们看看,是什么样的品质能力让一个我的项目在历史的长河中积淀下来?
后果很可能和你的直觉相同哦~
curl 的故事
curl
是一款申请数据的命令行工具,反对多种协定。它的名字是 client
+ url
的意思(客户端的 url
工具)。
作者是Daniel Stenberg
。
在 90 年代初期,正是IRC
(一种聊天协定,能够了解为命令行版本的 QQ)凋敝的期间。
Daniel
和敌人开发了一款 IRC
聊天机器人。接下来,他决定为机器人减少 汇率兑换性能。
为此,须要通过 http Get
申请调用汇率接口。为了实现这个性能,Daniel应用了一款名为 HTTPGet
的工具。
繁多的公共接口显然是不牢靠的。不久后 Daniel 又发现了一台提供货币汇率接口的 Gopher
服务器,以及一台 FTP
服务器。为此,他必须在原有工具根底上反对这两种协定。
随着反对的协定越来越多,HTTPGet
这个名字曾经徒有虚名。于是,Daniel
将其改名为curl
。
在随后的 20 多年里,Daniel
将 curl
的实现推广到全平台,围绕 获取数据 这一需要,一直迭代。
这就是 curl
的故事。
做工夫的敌人
不久前 Daniel
在推上谈到:
每天在家人劳动后,我会持续解决
curl
的工作 1~2 小时。与日俱增,在curl
上我大略花了 1.5w 小时
作家 Malcolm Timothy Gladwell
在《异类》中提出 一万小时实践:
人们眼中的蠢才之所以卓越不凡,并非天资超人一等,而是付出了继续一直的致力。1 万小时的锻炼是任何人从平庸变成巨匠的必要条件
是 Daniel
作为专家的专业性促成了 curl
的胜利吗?显然他并不这么认为。
在谈到 curl
为何能长期取得社区认可时,Daniel
总结了两点因素:
一致性
很多库作者将 curl
作为底层依赖。他们之所以这么做,是因为 curl
做出了 一致性 承诺,并在漫长的岁月中恪守了这个承诺。
curl
会不会忽然没人保护了?我承诺了不会,我恪守承诺- 这个
API
会不会忽然废除了?我承诺了不会,我恪守承诺
如果一个我的项目在 25 年间都恪守了承诺,那么大概率在将来他也是牢靠的。
当初很多大厂造的轮子,理念很棒。可一旦须要投入生产时就会让人犯嘀咕:这会不会是个 KPI
我的项目?要是当前没人保护了怎么办?
高速迭代的互联网,一致性 是稀缺的。
没有蠢才,只有保持
很多我的项目维护者不喜爱新人就 拼写错误 这样的问题提 PR
,认为这是水PR
行为。与他们相同,Daniel
很激励这种行为。
在他看来,大部分人(包含他本人)都是普通人,没有谁能一上手就对我的项目一目了然。从简略的 PR
开始是理智的抉择。
可能这个 PR
是纠正拼写错误 ,下个PR
就是 批改测试用例 ,再下一个就是批改我的项目bug
了。
久远看,胜利的我的项目没有蠢才,只有默默保持的普通人。
强如正义联盟还有战力值只有 5 的蝙蝠侠呢【手动狗头】
慢下来,一步步来
互联网真是太快了,薪资长得快,头发掉得快,老人淘汰快。
这让人产生了一个感觉:当码农就是用命换一笔快钱。
对普通人来说,年薪百万不是常态,996 也不是常态。这些都只是时代背景下,人生历程的一小站。
如果在互联网这么强调 快、精英范 的畛域,最胜利的产品反而是一群普通人、靠漫长的岁月积攒起来的。
那咱们为什么不试着和工夫做敌人?放下焦虑,你超棒的。