“是时候为开源做贡献了”
开源
![](/data/attachment/album/202302/19/141128wxkesmzesuboso6w.jpg)


Nilesh Vaghela 是 AWS 的<ruby> 社区英雄 <rt>  community hero </rt></ruby>，也是一家云计算开源公司 ElectroMech Corporation 的创始人。据 Nilesh 说，为开源做出贡献本身就是一种有意义的事。但是它需要人们的投入和奉献，而这个过程涉及许多步骤，从选择项目到确保你的贡献成果获得关注。在与 OSFY的 Abbinaya Kuzhanthaivel 的对话中，他分享了一些关于开发人员如何帮助提高印度对开源的贡献的技巧。


![Nilesh Vaghela, AWS 的社区英雄以及 ElectroMech 公司的创始人](/data/attachment/album/202302/19/141132km52lygj0jkl8izd.jpg)


### 问：你能告诉我们一下你目前的角色和对开源的贡献吗？


**答：** 我目前是一名从事自动化工作的架构师。我领导着多个团队，并且同时主要在开源安全服务平台 Invinsense 上作出贡献。我在 1998 年初创建了开源小组，当时已经有大约 1500 名成员。我现在管理的一个小组 (<https://groups.google.com/g/vglug>) 自 2014-15 年以来一直非常活跃。


### 问：你是如何开始在开源项目中工作的？


**答：** 我是一名有着从业资格的机械工程师，当时我在我的公司 ElectroMech Corporation 负责调制解调器和 UPS 系统。我慢慢地被拖入负责 PC、网络和 Linux 等等。1996 年，我在核科学中心看到超过 150 台计算机服务器在 Linux 上运行时广受启发，之后便开始尝试。自此我将我的公司完全转变为专注于培训和支持的开源公司。


我可以自豪地说，我是最早一批使用开源的人 —— 帮助客户了解什么是开源、它有什么好处、什么是免费的、安全或代码问题等等。我们在 Vadodara 得到了至少四五个客户，并且最终通过黄页上的广告宣传自己。我们与 Red Hat 合作并且关系一直持续到现在。


### 问：自那以来你认为开源发展如何？


**答：** 我可以说，早些时候，开源是一种令人着迷的强烈爱好，吸引人们参与其中。当一些来自西伯利亚的贡献者致力于改善水资源短缺问题时，世界各地的用户都说他们的产品有多么简单易用，这给我留下了特别深刻的印象。它更像是一项企业社会责任（CSR）活动。人们和专家创建一个委员会来管理和推进项目。人们会因为对技术的热爱而加入进来，没有任何期望。


那时我并不相信开源可以商业化，但它是当今大多数创新和技术的驱动力，而且越来越多的企业正在采用它。我们期待在贡献和使用开源方面取得很好的平衡，因为我们有个人、社区和大公司参与进来。这才是开源真正的未来和力量。


### 问：你可以分享一些自己遇到的困难吗？


**答：** 最初我是单枪匹马干，但一旦人们知道我的意图是好的，他们就会加入我。我在没有任何期望的情况下创建了很多社区，但确实在声誉或名望方面间接地获得了回报；有人理解我是技术达人，并长期给我项目。在早期，人们刚开始加入社区并且不需要付出很多精力就可以做出贡献。因为我的目标不是做生意，因此可以说我没有真正面临什么障碍。


### 问：作为社区领袖，你的领导格言和经验教训是什么？


**答：** 首先，如果你想建立一个社区，那就保持中立，不要抱有偏见。虽然看起来好像是你作为领导者正在管理一个社区，但请记住，加入社区的人都是平等地做出贡献的。永远不要让成员失去动力。在发表评论和回答问题时要有礼貌。不管是什么问题，如果你不想回答，那就选择沉默。但别让人们停止提问，而是帮助他们建立专业知识。


第二，不要让社区掺杂商业。不要让社区的目标和你个人企业的目标产生混淆和互相匹配。将它们严格区分开来。


始终尝试鼓励人们参与，而不是作为专家提供指导。如果你发现人们有兴趣领导项目并采取主动，请给出舞台让他们发挥。邀请他们参与社区活动。这将帮助你培养更多的社区领袖。此外，让你的社区保持简单，不要在初始阶段让赞助商参与进来。


### 问：你从谁那里得到了灵感？


**答：** 开源运动之父 Richard Stallman 是我的灵感来源，我一直很钦佩他的项目。


除了他之外，我还有一个有趣的事要分享，它激励着我从事开源工作。在我开始从事开源工作的时候，核科学中心的大部分软件都是基于 Windows 操作系统的。然而，许多科学家希望使用基于 Linux 的软件。在两三个月内，他们实际上创建了 Linux 驱动程序。这就是让我着迷的地方——用户可以创建这些驱动程序，这在专有软件中是不太可能发生的。我真的很喜欢开源赋权用户这一点。


### 问：你对印度开源格局以及改进空间有什么看法？


**答：** 印度是使用开源的人最多的国家（LCTT 校注：或应加上“之一”），我们正致力于成为贡献者。有这么多开发者，印度却仍然没有软件巨头。我们拥有的主要是服务提供者，而不是创新者。更多的人应该成为开源的贡献者，去开发具有国际标签的东西。


为开源做贡献的想法应该从学校和大学抓起。幸运的是，古吉拉特邦政府已经在 8 年级到 10 年级里推出基于 Linux 的课程。教育年轻一代并让他们了解开源模型很重要。


其次，我们要培养好的导师。当人们开始贡献时，找到一位在这个项目中工作的开源导师很重要。导师给出了一个小任务，尝试代码然后提交。如果一切顺利，成员的贡献会逐渐增加。不幸的是，在印度导师很少。我们需要有很多导师，或者可以与世界各地的导师建立联系。


第三是要鼓励那些踊跃贡献的人。让人们发现，一旦你成为了一位广受认可的开发人员或为开源开发做出贡献的人，你在职业发展和业务上也会有所突破。


通过遵循这些简单的方法，印度可以成为开源的主要贡献者。


### 问：你如何看待为开源做出贡献时编程方面的要求？


**答：** 根据我的经验，如果你知道计算机内部的知识，如何开发应用程序，你应该维护什么样的代码标准，以及如何管理团队和其他最佳做法，你可能不必担心编程专业知识。


在设计、安全维护和整合方面还有其他角色可以担任。看看你合适什么。通过做你喜欢的事情来不断提升加强自己的技能。如果你仍然对编码感兴趣，那么你就在其他开发人员的支持下去学习。


### 问：你如何确定一个你想参与的项目？


**答：** 你需要了解你最感兴趣的几个领域，然后对围绕这些领域发生的项目进行研究。你需要弄清楚哪些领域有招募更多志愿者的需求或职位空缺。 你可以从小处着手练习，然后积累专业知识。


避免随大流；重要的是你的个人兴趣。例如，因为现在 DevOps（开发运维一体化）的需求量很大，你便可能更倾向于选择 DevOps 项目。不要犯这个错误。


你可以在云原生基金会（[CNCF](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwib2vvv3dv3AhVa7XMBHfZSCsIQFnoECAgQAQ&url=https%3A%2F%2Fwww.cncf.io%2F&usg=AOvVaw2LnRyH4SZPDHntRLJU_b3q)）、Apache、Fedora、Red Hat 等平台上找到开源项目。通过这种方式，你还可以找到已经在从事项目并可以给出适当指导的导师。


### 问：每个项目有自己的目的和目标受众，有时它们甚至与开源目标不一致。那么，在开始做出贡献之前要核实什么？


**答：** 我同意，当有人开始一个开源项目但随后又将其商业化时，你会感到为开源作出贡献也变得颇有难度。但这样的风险总是会有的，不应让你对此感到挫败。


首先试着去了解该小组 —— 小组中的贡献者有多受欢迎，他们贡献了多长时间，以及他们的声誉如何。一旦你加入，观察每一个人和每一件事是关键。尝试至少学习三到六个月，并了解一切是如何运作的。如果你发现他们的意图不对，你可以随时离开这个项目。但如果你觉得没问题，那就继续做贡献吧。


![ElectroMech 公司的团队](/data/attachment/album/202302/19/141132py0ynguz40hhvn23.jpg)


你可以看看他们是否有某些许可证，例如 GPLv3。你还可以查看未修改的许可证版本，例如 Apache 开源许可证。


### 问：你觉得大公司会接受应届生投稿吗？


**答：** 是的，当然。公司也喜欢指导新人。他们通常不允许你直接贡献，但可能先会给你一个小任务。导师会首先尝试了解你拥有什么技能以及你的能力如何。一旦他们认可你具备所需的技能，他们将继续指导你或根据你的技能将你分配给其他导师。初始阶段非常关键。很多公司都会做一些筛选，只有在你证明了自己的能力之后，你才会被允许做出贡献。


### 问：贡献者在接手项目时必须克服的最初挑战是什么？


**答：** 首先，你应该非常认真地对待你的贡献。没有书面承诺，贡献者可能倾向于对工作掉以轻心。这种想法是完全错误的。尝试每天投入 8-10 小时或任何可行的时间。如果你因为觉得没有立竿见影的回报而不愿投入其中，那么你就不是一个好的贡献者。


在最初阶段始终严格遵守导师的指导。这对于健康的贡献非常重要。有时你可能会认为自己擅长某事，而你的导师可能不会根据该技能给你分配项目。在这种情况下只需找你的导师，问他你应该做什么，你的角色是什么，以及你可以如何贡献。


### 问：许多开发人员在提交项目贡献后没有得到回复。如何让自己提交的东西被人注意到呢？


**答：** 写一篇关于你计划作出贡献的项目的小博客，包括你喜欢的方面，你不喜欢的地方，以及可以改进的地方。这种积极的推广方式可以帮到你很多。


成为小组的一员并参与与该项目相关的活动。作为贡献的替代，首先尝试参与到团队中去，这将增加你被采纳为贡献者的机会。


一旦你对项目有了更好的了解，你的工作不仅会被接受，而且你将能够更好地适应该项目。


### 问：你如何克服你的贡献不被接受的情况？


**答：** 就是理解发生这种情况的原因有很多 —— 也许你没有在合适的项目中，或者你没有做出正确的贡献。如果项目是国家驱动的，你的请求可能不会被接受。因此，如前所述，请记得列个清单。如果你的贡献没有被接受，请不要担心，因为要么你不适合该项目，要么该项目不适合你。


我会建议尝试找四到五个项目，并且至少有一个项目会接受你所做的工作。


### 问：你对我们的读者有何想说的？


**答：** 开源是当今大多数创新背后的驱动力。让我们根据自己的能力和技能试着做出贡献，而不是仅仅使用开源。贡献可以是代码、文档、测试、博客、金钱等。是时候做出贡献了。


### 问：ElectroMech 公司有招人的计划吗？


**答：** 我们在云计算 DevOps（开发运维一体化）方面有需求，正在招聘云架构师、Python 开发人员、Linux 架构师和安全专业人员。




---


via: <https://www.opensourceforu.com/2022/06/its-time-to-contributing-to-open-source/>


作者：[Abbinaya Kuzhanthaivel](https://www.opensourceforu.com/author/abbinaya-swath/) 选题：[lkxed](https://github.com/lkxed) 译者：[XiaotingHuang22](https://github.com/XiaotingHuang22) 校对：[校对者ID](https://github.com/%E6%A0%A1%E5%AF%B9%E8%80%85ID)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出


OK
*Nilesh Vaghela is an AWS community hero and founder, ElectroMech Corporation, a cloud and open source company. According to him, contributing to open source is a rewarding act in itself. However, it needs commitment and there are many steps involved in the process, right from selecting a project to ensuring your contribution is noticed. In a conversation with Abbinaya Kuzhanthaivel of OSFY, he shares a few tips on how developers can help to improve India’s contributions to open source.*

#### Q. Can you tell us a bit about your current role and contributions to open source.

**A.** I am currently an architect working on automation. I lead multiple teams and also contribute majorly to Invinsense, an open source security service platform. I started open source groups in early 1998 and had around 1500 members even then. A group (https://groups.google.com/g/vglug) I am handling now has been very active since 2014-15.

#### Q. How did you start working with open source projects?

**A.** I am a mechanical engineer by qualification, and was dealing with modems and UPS systems at my firm ElectroMech Corporation. I slowly got dragged into handling PCs, networking and Linux. I started experimenting in 1996 after getting inspired by seeing over 150 computer servers running on Linux at a Nuclear Science Centre. That’s when I converted my company entirely, focusing on open source for training and support.

I can proudly say that I was one of the first and early adopters of open source — helping customers to understand what is open source, what are its benefits, what’s available for free, security or code issues, and so on. We got at least four or five customers in Vadodara supporting us, and we eventually promoted ourselves through advertisements in the Yellow Pages. We partnered with Red Hat and the journey continues till now.

#### Q. How do you think open source has evolved since then?

A. I can say that, earlier, open source was a passion that fascinated and attracted people to participate. I was particularly impressed hearing user-friendly stories across the world when some Siberian contributors were working to improve water scarcity. It was more like a corporate social responsibility (CSR) activity. A board would be created by people and experts to govern and take projects forward. People would come in for the love of technology without expectations.

I did not believe then that open source could get commercial, but it is the driving force for most of the innovation and technology today, and many more enterprises are adopting it. We are looking forward to a great balance in contribution to and use of open source, as we have people, communities and big companies coming into play. This is the real future and power of open source.

#### Q. Could you share some of your challenges?

A. Initially, I walked alone but people joined once they knew my intentions were good. I created a lot of communities without any expectation, but did get paid indirectly in terms of reputation or fame; some people understood that I was a technical expert and gave projects in the long term. As it was very early days, people started joining the community and contributing without much effort. The goal wasn’t to get business and hence I can say I didn’t really face any hurdles.

#### Q. What are your leadership mantras and lessons from being a community leader?

**A.** First, if you want to start a community, then be neutral and don’t harbour a biased opinion. It may look like you are running a community as a leader, but remember those joining you are contributing equally. And never demotivate anyone. Be polite while making comments and addressing queries. Whatever the question, if you don’t want to give an answer, then choose to be quiet. But don’t stop anyone from asking. Help them build expertise.

Second, don’t involve the community in business. Do not mix and match the goals of your business and community. Have a clear differentiation.

Always try to encourage people to participate instead of delivering instructions as an expert. If you find people are interested to lead and take initiatives, then give them the stage. Invite and engage them in the community. That will help you to make more community leaders. Also, keep your community simple and don’t involve sponsors in the initial stages.

#### Q. Who do you look up to for inspiration?

**A.** Richard Stallman, the father of the open source movement, is my inspiration and I have always admired his projects.

Apart from him, I have an interesting incident to share that inspired me to work on open source. At the time when I started working on open source, most of the software for the Nuclear Science Centre was based on the Windows OS. However, many scientists wanted to work with Linux based software. And within two or three months, they actually created Linux drivers. This is what fascinated me – that the user can create these drivers which may not be possible in the case of proprietary software. I really liked the fact that open source empowered the user.

#### Q. Your thoughts on the open source landscape in India and the scope for improvement.

**A.** India is the largest consumer of open source and we are focusing on becoming a contributor. With so many developers around, we still do not have software giants in India. What we have mostly are service providers and not innovators. More people should become contributors to open source and develop something with international labels.

The very thought of contributing to open source should begin from the level of schools and colleges. Fortunately, the Gujarat government has already introduced lessons based on Linux from Class 8 to Class 10. It is important to educate and make youngsters aware of open source models.

Second, we have to develop good mentors. When people start contributing, it is important to find an open source mentor working in that particular project. The mentor gives a small assignment, tries the code and then commits it. If everything goes fine, the contribution is increased gradually. Unfortunately, we have very few mentors available in India. We need to prepare a lot of mentors or maybe connect to those across the world.

Third, we need to encourage those who come forward to contribute. Once you are a recognised developer or a person contributing to open source development, you also progress in your career and business.

India can be a major contributor to open source by following such simple methods.

#### Q. What do you think about the coding requirements to contribute to open source?

**A.** From my experience, if you know the internal parts, how to develop the application, what code standard you should maintain, and how to manage the team and other best practices, you may not have to actually worry about coding expertise.

There are other roles too with respect to designing, security maintenance and integration. See what works for you. Develop and strengthen your skill in what you like to do. If you feel coding still interests you, then take the support of fellow developers to learn it.

#### Q. How do you shortlist a project you would like to contribute to?

A. You need to understand your top few interest areas and then do your research on the projects happening around them. You need to figure out the area of requirements or openings for contributors and more volunteers. You can start small to practice and then build expertise.

Avoid going by the trendy topics; what’s important is your individual interest. For instance, DevOps is in high demand now and you may tend to go for a DevOps project. Do not make this mistake.

You can find open source projects on Cloud Native Computing Foundation ([CNCF](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwib2vvv3dv3AhVa7XMBHfZSCsIQFnoECAgQAQ&url=https%3A%2F%2Fwww.cncf.io%2F&usg=AOvVaw2LnRyH4SZPDHntRLJU_b3q)), Apache, Fedora, Red Hat, and so on. This way you can also find mentors who are already working on projects and can get proper guidance.

#### Q. Projects have their own purpose and target audience. Sometimes they even misalign with open source goals. So, what does one check before contributing?

A. I agree it becomes challenging when somebody starts an open source project and then commercialises it. But this is always a risk, and should not discourage you.

First try to check out the group — how popular are the contributors working in the group, how long have they been contributing, and how reputed are they. And once you join, observing everyone and everything is the key. Try to learn at least for three to six months, and understand how everything works. You can always leave the project if you find the intention is wrong. But if you feel it’s all right, then go ahead and contribute.

![The team at ElectroMech Corporation](https://www.opensourceforu.com/wp-content/uploads/2022/05/The-team-at-ElectroMech-Corporation.jpg)


![The team at ElectroMech Corporation](https://www.opensourceforu.com/wp-content/uploads/2022/05/The-team-at-ElectroMech-Corporation.jpg)

There are certain licence checks that you can do, say, like GPL version 3. You can also look at unmodified licence versions like the Apache open source licence.

#### Q. Do you think big companies will accept contributions from freshers?

A. Yes, of course. Companies also like mentoring. They usually don’t allow you to contribute directly, but may give you a small assignment initially. A mentor will first try to understand what skill you have and how good you are at it. Once they recognise you have the kind of skill that is needed, they will continue to guide you or assign you to some other mentor based on your skill. The initial stages are very crucial. Many companies do some sort of screening, and you may be allowed to contribute only after you have proved your ability.

#### Q. What are the initial challenges that contributors have to overcome when picking up projects?

A. First, you should be very serious about your contribution. There are no written commitments and contributors may tend to take the work lightly. That’s totally wrong. Try to dedicate 8-10 hours or whatever is feasible each day. If you are skipping this commitment because you feel there are no immediate returns, then you will not be a good contributor.

Always adhere to a mentor’s guidance strictly at the initial stages. This is very crucial for a healthy contribution. Sometimes it may happen that you believe you are good at something, while your mentor may not assign a project based on that skill. Simply approach your mentor in such scenarios and ask him what you should do, what is your role, and how you can contribute.

#### Q. Many developers do not get replies after submitting the contribution to a project. How does one make a submission noticeable?

A. Write a small blog on the project you are planning to contribute to, covering aspects like what you like in it, what you don’t like, and what can be improved. Such a positive and promotional approach can greatly help you.

Be a part of the group and be involved in activities related to that particular project. Instead of contributing, first try to engage with the group, and this will increase the chances for you to get adopted as a contributor.

Once you have a better understanding of the project, not only will your work be accepted but you will be able to better align yourself with that project.

#### Q. How do you overcome a situation where your contribution is not accepted?

A. Just understand that this can happen for many reasons — maybe you are not in the right project or you have not contributed correctly. If the project is country driven, your request may not be accepted. Hence, remember to have a checklist as stated earlier. Don’t worry if your contribution is not accepted because either you are not fit for the project or the project is not fit for you.

All I would recommend is try to identify four or five projects, and at least one among those projects you work on will probably be accepted.

#### Q. What is your message for our readers?

A. Open source is the driving force behind most of the innovation happening today. Instead of just using open source, let us try to contribute according to our capacity and skills. Contributions can be in terms of code, documentation, testing, blogs, money, etc. It’s time to contribute.

#### Q. Any hiring plans for ElectroMech Corporation — what are the roles and skill expectations?

We have requirements in cloud DevOps, and are hiring cloud architects, Python developers, Linux architects and security professionals.