
Do one have to be an exceptional programmer to contribute to opensource projects - fauzanm
I&#x27;m fascinated by how developers are able to contribute to opensource projects. Do programmers have to really exceptional to start contributing to projects like Kubernetes, TensorFlow?
======
martell
More generally with OSS I have found that it mostly depends on the level of
contribution.

There are usually some trivial tasks around docs or simple items that can be
done with minimal knowledge of the language or project codebase, additionally
there are more low-mid tier tasks that require looking at past commits /
structure of the project but follow the same pattern.

source: I have contributed to probably close to 100 OSS projects in the last
decade varying in size and complexity.

Specifically With respect to kubernetes I have spent some time with trivial
tasks for related projects like acs-engine because I am using azure for
deployments.

I have not contributed to TensorFlow but in limited areas I imagine I could
help with bindings, cross platform support and maybe optimisations of
functions given that this is important because the compute cost involved. I
would not however be able to dig into some of the complex models the codebase
because I have not studied data-science or in any great detail.

We are in an era where OSS project organisers can now see the value and build
on these small changes. If you can get enough people interested and
contributing towards a goal you can reach a critical mass.

The one tip I would have if you were looking to get started out in OSS
development is to make some kind of assessment around how easy it would be to
work on a project.

For example: Rust is very popular right now and has been gaining traction for
awhile. This is no accident and building a programming language out in the
open is very very difficult. A number of very skilled Engineers have allocated
time to mentoring. So if you wanted to just jump in having never contributed
before you could just filter an issue by mentor. [https://github.com/rust-
lang/rust/issues?q=is%3Aopen+is%3Ais...](https://github.com/rust-
lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-mentor) Filtering this
further by E-easy to get yourself started.

This is probably not the best example as writing a programming language is not
an easy feat. The example was chosen however to more highlight what to look
for in projects if you want to get your feet wet and start contributing to
OSS.

