When you find an open source project to which you want to contribute, you might feel ready to jump right in and start making an impact as fast as you can. That’s laudable, but there is some guidance we want to share from the Red Hat Open Source Program Office to help make your plunge into a new project a smooth one.
Finding a project to work on
Finding a new open source project might seem daunting, but it may not be as hard as you think. If you are passionate about any hobby or cause in your life, you can probably find an existing open source project that is closely related to your interests.
Do you sew clothing? Projects exist that build open source patterns or feed inputs into sewing hardware. Passionate about flight? Investigate some of the many open source drone projects. Within any of those projects, whenever you catch yourself thinking that something could be better or different, seize on that impulse. This could be your first contribution waiting to happen.
It doesn't have to be an earth-shattering change either. You might find a broken link or a typo in some of the project's text. Or you’re a user of the project and you notice something is not working as expected. This is your chance to not only start contributing and improving a project, but also making your cause or hobby that much better!
Best practices for contributing
One of the biggest mistakes new contributors can make when they try to work in open source communities is taking their code, giving it to the open source community and expecting everyone to jump right in to work on it. This is equivalent to trying to drive a car on the highway without bothering to read the manual for the car or traffic laws specific to the municipality in which you are driving. This approach, while certainly bold, can lend itself to a certain amount of chaos.
Like any other new endeavor, it's important to approach contributing to a project with deliberation and care. The most important thing a new-to-a-project contributor should do is learn. Read documentation, watch online conversations, listen in online meetings. Absorb the community in which you are about to insert yourself. Once you're ready, follow these guidelines when you make your first contribution.
-
Find a problem to solve. It should not be a major problem—as any new contributions to a project should be small—but it should be based on an actual error or missing element, rather than just changing something just because you don't like it.
-
Understand the goals of the project. This should not be a big concern for minor changes, but there still may be a broader reason why something is the way it is, and you should make sure your contribution does not go against that reasoning.
-
Prepare for the fact that not every change will be accepted. Everyone makes mistakes, and not every change will be deemed worthy. Don't take it personally, and be willing to learn.
-
Keep learning. This is a recurring theme in healthy open source communities. Be willing to listen to feedback and improve your contributions and skills.
-
Don't overcommit. Don't let your excitement about participation lead to you breaking promises.
Wrapping up
Open source contributions are varied and opportunities are plentiful. Be patient in your exploration of projects to participate in, and you should find something fun and meaningful to which you can connect. Once you find such a project, listen, learn, and then learn some more as you begin the processes of contributing to that open source project.
关于作者
Brian Proffitt is Senior Manager, Community Outreach within Red Hat's Open Source Program Office, focusing on enablement, community metrics and foundation and trade organization relationships. Brian's experience with community management includes knowledge of community onboarding, community health and business alignment. Prior to joining Red Hat in 2013, he was a technology journalist with a focus on Linux and open source, and the author of 22 consumer technology books.
产品
工具
试用购买与出售
沟通
关于红帽
我们是世界领先的企业开源解决方案供应商,提供包括 Linux、云、容器和 Kubernetes。我们致力于提供经过安全强化的解决方案,从核心数据中心到网络边缘,让企业能够更轻松地跨平台和环境运营。