Development advice

27 views
Skip to first unread message

Sanketh Mopuru

unread,
Aug 21, 2017, 7:30:36 AM8/21/17
to mongodb-dev
Hello everyone,

I want to start contributing to mongo (open to contribute to "non-code" like documentation but would really love to contribute to code). I am fairly new to open source development in general.

How do you nice folk suggest I get started ? I work professionally on projects with huge source codes but there are usually people to help me out when I'm stuck or there is usually some work to do due to some client requirements.

How does that work in an open source project ? Who does one usually approach when some part of the code is not clear ? How does one identify what to work on ?

I understand there are several articles that answer these questions, but, I feel hearing it from people who practice them is better.

Thanks in advance,
Sanketh

Andy Schwerin

unread,
Aug 22, 2017, 12:56:45 PM8/22/17
to mongo...@googlegroups.com
The first step to contributing to MongoDB is probably to think about which project you'd like to contribute to. In addition to the database servers, there are drivers for supporting access to MongoDB from various programming languages, some object-document modeling libraries (ODMs), connectors for spark and hadoop integration, etc. There are also programming languages that lack mongodb drivers entirely. If you have experience with such a language, that would be a pretty independent project, but quite useful.

All that said, supposing you want to contribute to core server development, the first step is probably to practice building MongoDB and running the tests. The wiki on github has some instructions on building, here, and on running tests here. As you're practicing this, take notes on places where the docs are incomplete or incorrect, and help us out by submitting a pull request to update the docs. You can post questions here, but I encourage you to do some sleuthing on your own first, to see if you can figure out the problem yourself. Anything that's hard for you to figure out, write down what you learned, because it may be an indication of a way that the build or test system could be improved. Such improvements are themselves very valuable contributions.

From there, the wiki has some guidelines about contributing, including signing the contributor agreement, picking tickets and projects, etc. Tasks with the label "neweng" attached are often simple enough to be a good place to practice making contributions. They include things like deleting obsolete interfaces, fixing logging behavior, etc. They're not always intellectually challenging, but that makes them a good way to practice the mechanics of contributing.

I hope that helps!

-Andy

--
You received this message because you are subscribed to the Google Groups "mongodb-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-dev...@googlegroups.com.
To post to this group, send email to mongo...@googlegroups.com.
Visit this group at https://groups.google.com/group/mongodb-dev.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-dev/523e1c0d-7962-4768-a2a4-50fbd278db7f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages