关于开源开发者,我学到的 5 件事

2025-06-08

关于开源开发者,我学到的 5 件事

资料来源:
https ://xscode.com/583/5-things-i-learned-about-open-source-developers/

过去12个月,我一直与开源开发者密切合作。在之前的项目里,我和我的团队都使用过开源库,但这是我第一次真正跨越界限,从默默无闻地用git克隆代码,到真正与代码库背后的人见面。这曾经是(现在仍然是)一段充满启发的旅程。

严格来说,我自己并不是一名开发者。我可以写代码,但相信我——你不会想读它,更别说运行它了。我更适合做产品。作为一名产品经理和创业者,多年来我与许多软件开发者共事。在此期间,我对这个行业及其独特的工艺产生了深刻的理解。但开源开发者,尤其是那些从零开始开发项目的开发者,以及那些长期参与维护项目的开发者,对我来说一直是个谜。我一直惊叹于这些开发者如何花费无数的业余时间,历经数月甚至数年,完全出于自愿地创造出如此复杂的软件。

我想不出其他行业还会发生类似的事情,过去的一年真的让我措手不及。我不确定这些项目背后会有哪些人,但我告诉你——这一切都是值得的。

他们不仅仅是
聪明。开发人员很聪明,而且必须如此。编写代码是一项极其复杂的任务。即使是一些在用户看来对非程序员来说显而易见的最基本任务,也需要耗费大量的脑力,如果你不熟悉这些任务,你就会感到难以置信。我总是说,与开发人员一起工作既非常有成就感,也非常艰难,因为你需要与地球上最聪明的1%的人打交道。因此,他们要求很高,有时仅仅是努力跟上开发人员解释一些复杂概念的速度,就会让我头晕目眩。

但开源开发者却拥有一些额外的优势。许多软件开发者大部分时间都花在处理层层递交的任务上。很多情况下,开发者对于任务的“为什么”几乎没有发言权。开发者在如何执行任务方面拥有很大的自主权,但他们很少有机会参与到自己为什么要做这件事的思考中。

开源开发者不仅具备编程技能,更具备远见卓识和系统性视角,能够决定“做什么”、“怎么做”以及最重要的,“为什么”。这看似微不足道,但“为什么”却是任何软件项目中最重要的部分。如果“为什么”一无所知,整个项目可能都将化为泡影。那些从零开始项目的开源开发者通常对“为什么”有着高度的理解,他们无法袖手旁观。他们必须行动,必须编码。这种目标感,对“为什么”的理解,加上极强的技术实力和好奇心,是少数人才能拥有的稀缺品质。

他们拥有的不仅仅是热情。
我刚才提到的那种灼热感,我们很多人有时都会有。我们每个人都有自己确信很棒的想法,但只有少数人愿意真正投入时间和精力去实现它们。要让一个开源项目持续多年,需要极大的热情。只有那些真正对解决问题充满热情的人,才能完成创建和维护一个有用、稳定、生产级项目的漫长而乏味的过程。

这种解决问题的热情正是我采访过的许多开源开发者的驱动力。无论是创建项目的开发者,还是维护项目的开发者。这通常始于他们在日常工作中遇到的一个问题,这个问题让他们不禁思考“为什么这个问题没有解决方案?”。在“存在问题”和“我要解决这个问题,以便其他人可以使用我的解决方案”之间,存在着巨大的鸿沟,只有少数人能够跨越。当他们最初遇到的问题得到解决后,正是他们的热情驱使他们继续探索,开发更多功能,不断突破极限。没有老板。没有 JIRA 任务。没有截止日期,也没有客户等待构建。只有纯粹的热情。

他们不断前进
我出生在以色列。许多人称它为创业之国,因为以色列是除硅谷以外世界上人均创业公司比例最高的国家。我认为这与以色列人从出生起就被灌输的创业精神有关。但除了 Waze、Wix、Fiverr 和 Mobileye 等成功案例外,周围还有很多“想要创业的人”。这可能不是以色列独有的,但作​​为当地人,我可以告诉你,我遇到过不少这样的人。这些人认为自己有一个好主意,可以“说说而已”,但缺乏坚持不懈地“付诸行动”并真正投入工作来实现它。创造一个伟大的产品需要时间。很多时间。光有想法是不够的,你需要坚持不懈地推动事情发展。

开源开发者和维护者拥有一种独特的能力,能够长期坚持开发一个项目。没有哪个项目的 0.0.0.1 版本是完美的。持续开发并使其真正可用需要时间、精力和自律。我和一些开发者坐在一起,回顾他们最早的版本时,他们不禁会心一笑。正是这种坚持,让他们从一些杂乱无章的功能,发展成如今已应用于数千个商业应用程序的复杂项目。

他们是代码的无名英雄。
我曾与一位开发人员一起回顾一些早期提交的代码,试图了解他的项目是如何从大约100行代码发展到如今拥有庞大的Vue组件库,并且已经开发了三年多。结果发现,他开发的许多功能和组件都来自一些早期用户发给他的请求。他告诉我,他很高兴其他人使用他的代码,他觉得自己有义务帮助他们,开发他们所需的功能。

试想一下,如果把这与其他职业做个比较。除了做慈善工作的志愿者,我实在想不出有哪个专业人士会把自己辛苦赚来的专业知识和寥寥无几的空闲时间,用来帮助那些从事与他毫不相关的商业项目的人。没错,我提到的那位开发者确实在帮助那些没有直接从他的代码中赚钱的开发者同行——他们为那些赚钱的公司工作。但你见过哪个律师免费为其他不知道该写什么的律师起草合同吗?

我希望人类能够在其他领域,而不仅仅是编程领域,找到这种纯粹的无私和分享知识的能力。如果我们能用代码拯救世界,我确信开源开发者将会引领潮流。

他们得到的报酬过低
开源开发者并非为了钱。显然,目前他们什么钱都没有。他们之所以这么做,是因为我上面提到的那些原因。我们真幸运!但在采访了数十位开源开发者之后,我开始发现一些问题。他们工作过度,得不到应有的重视,有时甚至被忽视,开源开发者们正逐渐意识到,他们的努力得不到应有的报酬,这是一个残酷的现实。

开源变得如此普遍,以至于我们很少停下来思考其背后的人。在商业软件公司工作,我们几乎所有东西都使用开源组件。它们真的无处不在。我读到过,如今开发的商业软件中 90% 都依赖于开源组件或系统。这些组件变得如此普遍,以至于你甚至会毫不犹豫地使用它们。

如果您开发过任何商业软件,并使用过开源组件——您是否想过,为了得到这个节省您数月时间的神奇软件,个人或团队付出了多少时间和不眠之夜?诚然,我们中的一些人也做出了贡献,但真正从头开发代码供他人使用的人却屈指可数。

如果我们希望开源持续发展,我们就必须明白,开源背后的优秀人才并没有得到足够的报酬。实际上,他们根本没有得到任何报酬。如果开发者花时间修复错误、开发新功能、支持新的框架版本等等,却没有任何形式的报酬,这个项目可能就无法长久。我见过无数开源项目被开发者抛弃,因为他们没有时间或资源继续开发。错误报告太多,开发更多功能、处理安全问题、适应新技术的工作量太大。开源开发者从不索要报酬,但如果他们得不到继续开发所需的资源,我们都会蒙受损失。

结论:
开源是一件不可思议的事情。有时它就像电一样。我们都在使用它,却很少思考如果没有了它会发生什么。正是那些拥有上述罕见特质的人,加上独特的环境条件,才成就了如今的开源。无处不在。免费。丰富。

在我看来,软件行业需要认真审视开源的使用情况,并开始思考如何确保开源开发者有动力维护他们的项目,并确保下一代开发者能够为我们所有人创造下一代开源项目。如果我们不确保为开发者提供最佳的持续发展条件,即使是最聪明、最热情、最执着、最无私的开发者,也可能会停止发展。或者干脆将他们的代码库设为私有。

鏂囩珷鏉ユ簮锛�https://dev.to/helad11/5-things-i-learned-about-open-source-developers-4hhh
PREV
Express.js 中的 Mongoose 鉴别器入门
NEXT
程序员最佳 YouTube 频道排名前 5 位