2024 will be the 12th year since I made my first open source contribution.
Since then I have:
- Contributed to a global scale infrastructure GitHub Container Registry
- Built a network of friends from all over the world
- Started an Open Source Company
In this article, I will share the top 3 out of my 9934 reasons to start contributing to open source.
If youโre looking to learn new skills, and grow your professional network and career while working on projects you care about, just hear me out for the next 3 minutes.
Letโs dive in! ๐
TL;DR
- Reason #1: You can work on whatever you want
- Reason #2: You can create value for other people
- Reason #3: You can showcase your skills
- Wrapping Up
Reason #1: You can work on whatever you want
With open source, you get the freedom to work on projects that you are passionate about. You can explore your interests, and learn new skills, without needing to meet a deadline.
This is very different from usual corporate work i.e. mostly closed source. And you are restricted to working on a specific set of technologies. In the long term, it can impact your technical growth and ability to adapt to industry changes.
It doesnโt need to be that way.
Take it from me. In previous roles, I was working in languages that I wasnโt interested in. I literally felt like my skills were stagnating. As a result, I was falling out of โloveโ with programming.
But then I started working on open source projects in my spare time. And boy that helped. I was free to learn new languages and work on projects exciting to me.
Getting started with open source was one of the best decisions of my life!
And the best part is you can start small and slowly ramp up at your own pace. At Flipt, we have good first issues
specifically for first-time contributors.
All you need to do is show your interest by commenting on the issue and we will help you out in making your first contribution.
Isnโt that amazing? ๐
Reason #2: You can create value for other people
Right now, you are sitting on a lot of static knowledge that you have gained over the years with your professional and personal experience. Open source provides you an active community of developers who you can share it with and make a positive impact on the project.
Itโs one of the most fulfilling things youโll do as a developer. Iโll take the case of our contributor Andrew Hobson as an example.
feat(fs/s3): Initial support for s3 filesystem backend #1900
This follows the same pattern as fs/git
to add support for fetching feature flag data from S3.
In an AWS environment, this would allow deploying a readonly container and not require communication to a git repository outside of the deployment environment.
Let me know if you have suggestions or thoughts on how to improve the implementation.
Thank you for flipt.
Testing
The unit tests take advantage of an existing s3 bucket, using minio to simulate it locally.
Just like for the git backend, the mage dagger:run test:unit
does the work to start, provision and configure the test suite appropriately.
However, if you do want to run this test locally to experiment or investigate, you can always do the following:
# in one terminal session
docker run -it --rm --name minio \
-e MINIO_ROOT_USER=user -e MINIO_ROOT_PASSWORD=password -p 9009:9009 \
quay.io/minio/minio:latest server /data --address ":9009"
# in another session first use the minio provisioner binary
# this pushes the contents of the provided directory into a bucket in minio
AWS_ACCESS_KEY_ID=user AWS_SECRET_ACCESS_KEY=password \
go run ./build/internal/cmd/minio/... -minio-url http://localhost:9009 -testdata-dir ./internal/storage/fs/s3/testdata
# then you can run the test for `fs.Source`
AWS_ACCESS_KEY_ID=user AWS_SECRET_ACCESS_KEY=password TEST_S3_ENDPOINT=http://localhost:9009 \
go test -v ./internal/storage/fs/s3/...
This past summer, he implemented an entirely new s3 object storage backend for our project, because it was something he wanted to use in his daily work. As the main developer of the project, itโs probably not something I would have ever thought of, but now this backend is used by many of our end users and has inspired additional functionality!
Now you must be wondering โ โBut I have nothing to shareโ.
And I bet you have. Youโre just blinded due to that knowledge being โobviousโ to you now. However, when you see anyone struggling in the community with the same problem, youโll be able to help them out with ease. And build valuable connections in the process.
Not sure still? Join our close-knit community to see it in action.
Reason #3: You can showcase your skills
Lastly, open source is one of the best ways to collect social proof.
You collaborate with the community, communicate on issues and features, and ship your code. You become a โlow-riskโ hire for any employer in comparison to one with just a resume.
Your contributions will bring you visibility and recognition that can potentially lead to job opportunities, consulting & speaking gigs, etc
Our own George MacRorie recently was invited to give a talk at GitOps Con because of his amazing work on one of our open source projects.
At Flipt we give regular shoutouts and appreciate our contributors. We are grateful for each and every contribution made to the project. These contributions have helped us scale 3K supporters on GitHub.
So are you ready to showcase your technical expertise to the world?
Make your first contribution at Flipt and weโll take care of the rest.
Wrapping Up
Thatโs it!
I hope this list sold you on making your first open source contribution soon.
Join our discord if you need help with that.
We have an awesome community there ๐
If you liked this post, follow us for more of open source related articles ๐
Top comments (0)