
How do you identify Open Source projects to contribute to? - zerogvt
I&#x27;m looking around for Open Source projects where I could contribute to. There are tons of them with varying degrees of maturity, wild variance of tech stacks (and hype). It is a tough decision since my time&#x2F;energy is limited and the opportunity cost weighs heavy in my mind.<p>I am personally working in the DevOps&#x2F;CICD space so it would probably make more sense to invest time&#x2F;effort in a project in that space. I was looking to  kubernetes -I want to get experience in Golang as well- but I was somewhat deterred by the complexity of it. Both functionally and -perhaps more importantly- the developing-experience complexity. Anyhow, I&#x27;m now at the &#x27;paralysis by analysis&#x27; stage and I&#x27;m wondering how other people have dealt with this chaos of options.<p>Do you contribute to OS? How did you go about selecting where you&#x27;d contribute to? How did you get past the no-joy initial stages where all you got was a steep learning curve with little or no help?
======
gus_massa
Pick some of the projects you are using. For most projects you have to
understand the philosophy and what is the central idea, and it is very
difficult if you are not using it.

Start with a small part. You are never sure if the maintainers are going to
merge it, or if the maintainers are crazy or morons. So pick a small task that
is useful but you don't be too sad if it not merged. I recommend to not invest
more than two days initially, but perhaps two days is too much.

Also each project has unofficial rules about rebasing, code style, commit
message style, test coverage, documentation. Try to follow the style of the
project, but be prepared to make a few fixes.

The best time to start contributing to open source was 20 years ago. The
second best time is now.

PS: (Just in case) Don't expect to make money for this. It is posible if you
reach the Linus status, or you get hired to contribute to a project, but in
most cases don't expect to get money.

PS2: Typos in docs, comments, and error message are a good starting point.
It's easy, and after looking at the code you will understand it more and
perhaps notice something you can improve.

PS2: Since you know CICD ... do you know how to run gcc with -ubsan in travis-
ci? I tried to configure it, but I failed and gave up. Warning: it may be
harder than you think.

PS4: Configuring the CI of some projects may he helpful. Perhaps try some
project you are interested and they have a clear set of test but don't have
the CI enabled.

~~~
zerogvt
Thanks for the advice.

PS2: Haven't used C/C++ in our tech stack for quite a while now but from what
I see it should work if you provide the relevant switch '-fsanitize=undefined'
plus a gcc version that supports Undefined Behavior Sanitizer (gcc 4.9 and
later).

~~~
gus_massa
I tried again, it was a problem with the -fuse-ld=gold flag. I was trying to
set it as an argument from the build script, but the solution was to configure
it inside one of the internal files. I don't understand the details, but IWOMM
:). Now that it is working, let's hope that one of the main developers with
more understanding of the internal parts of the build process can cleanup it
before merging.

If you want to take a look
[https://github.com/racket/racket/pull/2441](https://github.com/racket/racket/pull/2441)

------
Jefro118
I made a project just for this, here's a list of Go and Kubernetes OS projects
with instructions and issues for new contributors:
[https://www.sourcesort.com/?refinementList%5Blanguages%5D%5B...](https://www.sourcesort.com/?refinementList%5Blanguages%5D%5B0%5D=Go&refinementList%5Btopics%5D%5B0%5D=kubernetes&refinementList%5Btopics%5D%5B1%5D=golang&refinementList%5Btopics%5D%5B2%5D=go&page=1&configure%5BhitsPerPage%5D=36&toggle%5BhasContributionInstructions%5D=true&toggle%5BhasDocumention%5D=true)

That search turns up 32 results, but you could narrow that down more according
to your needs using the other filters.

Things to check for: how long does it take for new contributors to get
responses to their pull request? how many first time pull requests are
accepted? (there's a filter for this too if you scroll down)

Before tackling an issue or getting involved, it's a good idea to give a heads
up or introduce yourself. You might be able to do this on the GitHub repo or
possibly on a mailing list, etc. if they run the project via a separate
communication platform.

Good luck!

~~~
zerogvt
sourcesort is really cool. Hope you have submitted it in 'show HN'.

Thanks!

~~~
Jefro118
I tried a couple of weeks ago but it went nowhere :(

I think repeat submissions are allowed for relevant projects that didn't get
any traction on here so I'll try again soon.

