DEV Community

Cover image for ️🚀🚀 3 Open Source Contribution Ideas for DevOps Engineers💡
Mark Phelps for Flipt

Posted on

️🚀🚀 3 Open Source Contribution Ideas for DevOps Engineers💡

One of the toughest aspects of getting started with an open-source project is coming up with contribution ideas. And there’s little help online if you’re a DevOps Engineer.

But what if I told you that I have some ideas that you can implement in any project? It's true. The ideas that I will be sharing in this article apply to any open source project.

Before getting started, first understand why you should contribute to Open Source in the first place.

Table of Contents

Why should you contribute to Open Source?

If you are new to open source, you might be wondering why I should do it at all. Here are a few ways making open-source contributions can help your career:

  1. Learn new skills. You can work on a tech stack or a programming language of your liking, rather than one being used at work.
  2. Showcasing your skills. You can add your open source contributions to your resume or portfolio. This serves as a proof of your skill — even if you didn’t use the tech in the current job.
  3. Improve problem solving. By collaborating with developers and having community discussions over features/bugs, you gain a fresh perspective on how other developers solve problems.

Enough on the motivation. Now, let’s take a look at what actual contributions you can make to an Open Source project.

Idea #1: Modernize CI/CD Pipeline

If you’re looking to demonstrate your ability to optimize and automate processes in your resume, working on the project's CI/CD pipeline would be the best place to contribute.

A well optimized deployment pipeline will help projects with faster releases and updates. Hence, improving overall code quality and collaboration.

CI/CD is undergoing a major shift. There are several tools and startups out that are building the next generation of CI/CD.

We really love Dagger at Flipt, as it allows us to customize our CI/CD pipelines to our heart’s content, while ensuring that they can be reproduced on any machine (thanks to Docker).

Dagger cover image

No matter how well architected a project’s CI/CD pipeline is, there’s always room for improvement. For example, you could help a project speed up their builds by setting up dependency caching, or splitting up jobs to run in parallel. Any project maintainer would happily accept contributions that help speed up their project’s CI/CD pipeline.

Idea #2: Setup Dev Environments

One of the biggest challenges open source projects face is streamlining new contributors onboarding. With a dev environment, projects are easy to test and experiment. As a result, increasing overall project contributions.

Also, it’s a great way to gain experience with cutting-edge containerization tech, and deep understanding of project dependencies and setup.

GitHub Codespaces

There's a multitude of projects from startups and large companies like Microsoft that are aiming to simplify developer environments. A few of the ones we’ve tried include:

We support all 3 at Flipt, as we know developers have their own preferences, especially when it comes to their dev environments. Our goal is to allow new contributors to get up and running quickly, without limiting them to a specific toolset or workflow.

Ideas for contributing include:

  • Bootstrapping the setup these well-known tools in an OSS project
  • Updating dependencies (such as bumping base image versions)
  • Ensuring the dev environment works for new contributors, not just those who have worked on the project in the past.

Idea #3: Automate Issue/PR triaging

Issue tracking and collaboration aren’t going anywhere. So it’s better that you learn to do it right. Automating a project’s issue management is one way you can learn that.

Automated issue management helps the project by:

  • Faster issue resolution
  • Improved issue prioritization
  • Better project progress tracking

And project maintainers will love you for that.

Are you good at writing scripts? Want to build a GitHub bot? You could help project maintainers by helping them script the process of issue/PR triage to ensure:

  • Issues are marked according to the project’s standards (ie: always have bug or feature request label, etc)
  • Creating a GitHub bot to ping contributors if their PR is missing some key component (like test coverage or passing tests)
  • Propose and write a script to help ensure that there are always adequate amounts of Good First Issue labeled issues for new contributors to pick up

Flipt Good First issues
Flipt Project Good First Issues

I would suggest first opening an issue or discussion on any repo you would like to help automate, however. This will ensure that your contribution would fit with how the core team operates.

Wrapping Up

That’s it!

Now, you can choose any Open Source project of your liking and implement and start contributing.

If you need any help with that, feel free to shoot your queries on our discord. We have an awesome community there 💗

If you found this valuable, follow me for more open source related articles 🙂

Top comments (6)

debadyuti profile image

Very useful ways of getting started to contribute to open source projects. Making sure that we have a decent good first issues list is something that I am focusing on with Fluvio Open Source right now.

markphelps profile image
Mark Phelps

Thanks @deb! Fluvio looks really cool! I think it would be interesting to build a connector from our audit events in Flipt using Fluvio

srbhr profile image
Saurabh Rai

We've implemented the second part, which was a community PR. 3rd one looks worth trying.

markphelps profile image
Mark Phelps

Nice @srbhr ! Any idea on which dev env your contributors prefer (#2)?

fernandezbaptiste profile image

I'm a big believee in Idea 3: Automate Issue/PR triaging. Thanks a lot for your write-up.

markphelps profile image
Mark Phelps

Yes! LMK if you find any good bots out in open source to help!