4

【外评】什么是开源贡献,什么不是开源贡献?

 2 months ago
source link: https://www.techug.com/post/what-contributing-to-open-source-is-and-what-it-isnt/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我已经成为一名资深开发人员有一段时间了,但我最近才理解了在我职业生涯之初就有人给我的一些建议:

参与开源!这对你的职业生涯大有裨益!

就其本身而言,这是个极其糟糕的建议。

如何以错误的方式为开源做出贡献

我明白了。你是一名学生或初级开发人员。外面的环境很艰苦,你想提升自己的职业生涯。你不知道该怎么做。或者,你只是热衷于开源,并希望做出贡献。

那么,你可能不应该这样做。

让我们共建一所“学校”!

在法语中,我们有一个成语来表示贡献:”为大楼添砖加瓦”。

想象一下,如果您所在城市的人们决定聚集在一起,为社区建造一所学校。这是多么鼓舞人心的合作努力!

于是,你带着砖块和满腔热情来到建筑工地。但你对建筑的实际工作原理知之甚少,对这座特殊建筑的建造过程更是一无所知。

好吧,老实说,尽管你有很好的意愿,但你可能会成为这里的一个麻烦。

现在想象一下,如果不只是你这样做,还有两千多人和你一起来。这不仅会降低学校建成的几率,最终的结果很可能是一所没有孩子应该踏足的学校。

黑客节(Hacktoberfest )及其后果是人类的灾难

我参加过三次黑客节(Hacktoberfest ),所以我拥有三件他们的T恤衫(我现在就穿着一件,非常舒适)。

正如你在我的 Github 个人主页在新窗口打开(去赞和订阅©)中看到的,我是一个巨大的开源贡献者。其实也不算是。我是一名自由职业者,我的大多数客户都开源了他们的产品。这就是我的谋生之道。所以这不算吧?(稍后再谈)。

Hacktoberfest 是一项伟大而又漏洞百出的活动。试图让人们为开源做出贡献是非常值得称赞的。但这也是绝对不应该做的事情。你不能让人们拿着砖头随便找个学校帮忙。这样做只会让事情变得更糟。

有经验的建设者会因为垃圾邮件而失去时间和耐心,年轻的建设者会痛苦地离开,认为开源不受欢迎和/或不适合他们。

Hacktoberfest 试图做好事,但它却在宣扬一种非常错误的想法,即青少年应该去找个地方放一块砖头。

那么,学校应该由谁来建?

就是孩子们将在学校上学的家长们。还有老师。毕竟,他们才是学校的使用者。

哎呀,在适当的监督下,孩子们自己也可以帮忙。初学者也可以做开源项目,不一定非得是高年级学生。

但你需要参与到项目中,并采取相应的行动,而不是一味地抛砖引玉。

开源与编码无关

初级开发人员很难被录用。你既要提高技术水平,又要展示自己的技术水平。开源贡献被视为职业生涯的潜在助推器,这是因为它们确实如此(稍后详述)。但这并不意味着这是贡献的好理由。

为什么要建校?因为你希望建一所学校。因为你需要一所学校。因为你相信,在教育越来越昂贵的今天,免费的公立学校非常重要。

你建造学校是为了享受最终产品,而不是为了建造而建造,或者(主要)是为了锻炼你的建造技能。你可以享受建造,这很好,但这不是重点。你对建造的热爱最终不会造出好产品。

opensource_oglaf.webp

如何以正确的方式为开源做出贡献

下面这一点是本文迄今为止最重要的部分。

如果你不使用它,你就会失去它

要想为开源做出贡献,最好的办法就是实际使用开源产品。

成为一名开源用户,你就有可能成为一名开源贡献者。遇到恼人的错误?报告它,让它得到修复,这样你和其他用户都能享受到更好的产品。

你希望产品具备什么功能?提出要求!

没有人修复那个错误,没有人添加你的功能?那么,我想是时候自己动手了。

这就是开源的方式。你要遵循开源的目的,而不仅仅是你对构建的热爱。

当然,在做任何事情之前,一定要询问其他贡献者(通常是通过打开一个问题)。请记住,这是一项团队工作。

为开源做贡献意味着承担责任

我是 Arch Linux 用户,最近才开始在 AUR(一个由社区管理的软件包集合)上维护一个软件包。

我一直需要这个软件包,但没有人维护它。真让人生气!我不能使用无人维护的软件包!要是有解决办法就好了!

对了,差点忘了。我可以自己做。

当你觉得开源是件苦差事时,你就知道它是好的、有用的开源。你做这项工作是因为,嗯,你有点不得不做。事实上,开源只是意味着其他人会免费享用你的工作,反过来,你也会免费享用他们的工作。

题外话:你知道松鼠记不住在哪里储存橡子过冬吗?它们通过集体努力解决了这个问题。如果所有松鼠都在森林里储备橡子,那么当冬天来临时,它们就很容易找到橡子了。

让贡献见鬼去吧,做你自己的东西。

当有抱负的初级开发人员问我 他们应该做什么时,我总是回答:”好吧,你需要什么?

仔细想想。你可能需要这样的工具

  • 或者作为付费服务存在
  • 或者它是免费的,但在监视你的数据
  • 或者最常见的情况是,它已经存在,但被删除了在新窗口打开。

好了,快去做吧,顺便打开你的代码。恭喜你,你在做开源,而且做对了!

或者只是为了得到报酬

我为法国政府做软件已经很多年了。我一直与该客户合作的原因之一是,我们生产的所有代码都是默认开源的。

我最早开发的项目之一是一个用于查询公共数据的公共应用程序接口。这个开源项目已被数千家私营公司使用,其中一家公司甚至最终聘用了我。

所以说,开源确实可以帮助你的事业。对我来说,从事开源工作既是一种意识形态,也是一种职业精明之举。我在帮助自己的同时,也帮助了大众。你获得报酬并不意味着你没有开源,而且做得不对。

所以,我要留着那些黑客节 T 恤衫。

本文文字及图片出自 What contributing to Open-source is, and what it isn't


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK