Contributing to Open Source

Last week I wrote about how me being active in Open Source helped boost my career in several ways. Now this is all very interesting, but how to go about actually contributing to Open Source. That is the topic of this blog post. How to look for the right project to contribute to, and what ways are there of contributing? Let's have a look.

Not too long ago I was the "external expert" on the graduation project of my then-colleague Erik Baars. His topic was "contributing to Open Source" and parts of this blogpost owe some credits to Erik for inspiring me to write about this topic. Just as a FYI: Erik Baars graduated on the topic, so you can always bother him on Twitter if you want to :)

Finding the right project

First and foremost, it is important to find the right project to contribute to. This in itself is hard for some people. There are so many Open Source projects out there, big and small, in many different languages, that it is very hard to find the right project. Or is it? Of course you can just pick a random project you think is interested, and see how you can contribute to that project. But what helps a lot is to find a project that you work with on a daily basis, or that you think you will work with on a daily basis once it's more mature. That way, you won't just look at the project from the developers point of view, but also from the users point of view, which is important when contributing to a project.

You don't have to limit your contributions to a single project either. There is no limit on the amount of projects you can contribute to. And as we will see later on, contributing doesn't have to be a full-time job either. Your contributions can take perhaps only 5 minutes. So depending on the way you want to contribute to Open Source and the amount of time you're willing to spend on it, your contributions could all be to the same project, or you could contribute to hundreds of projects in some way or another.

Disclaimer

I have found that contributing to Open Source is something that can be highly addictive, and you can end up spending most of your time to contributing to Open Source in one way or another. Depending on your point of view, there might be nothing wrong with this, or this could be a big problem. Consider this before starting though ;)

How to contribute to Open Source

There are many ways to contribute to a project. Some are more obvious than others. Let's first make a small list, and then dive deeper into them:

  • Core code/patches
  • Plugins
  • Documentation
  • Promotion
  • Deliver presentations
  • Support
There may be even more ways to contribute than this, so feel free to comment on this message with your ways of contributing to an Open Source project

Core code/patches

For most developers, the ultimate way to contributing to Open Source is to contribute code into the core of a project. This can be done in several ways. Most of the times, it starts with contributing patches to the core team of a project. This can be in the form of patches that are attached to tickets in the issue tracker of the project (this may be a bugfix, or the implementation of a new feature). Usually it is good practice to discuss your proposed solution on the developer mailinglist of the project to see if your approach is the right one, before spending time on it, but of course you're free to submit patches as soon as you've written the code. Thanks to Distributed Version Control Systems and sites like Github, this process is made even easier. To take Github as the main example, they have a system of pull requests, where you can fork a project repository, push your changes to your own fork and then use the "Pull request" option to ask the maintainer of the code to integrate your changes into the main repository.

In many projects, regular contributors of good patches are invited into the project's core team (a so-called Meritocracy). Other projects have a proposal-system where you can propose your own additions and become the core contributor and maintainer of this specific part of the code.

Plugins

Another way for developers to contribute code to their favorite project is to write plugins for the project. This allows a developer to publish code for their favorite project without the need of actually getting it into the core. Sometimes this is because the code does not belong in the core, in other projects the process of getting code into the core is tedious and long, and releasing something as a plugin allows users to use it much faster and saves the developer from the process of getting it into core. Always check for your contribution what is the best way: Sometimes the project core is *the* place for it to reside, and releasing it as a plugin is a shame of the effort of writing the code.

Some examples of projects for which writing plugins would make much sense: Symfony plugins are very easy to install and use and can save users of the framework a lot of time, or browser extensions such as Firefox Add-ons are perfect for sharing your useful code with the rest of the world.

Documentation

The most underrated part of any project, be it open or closed source, is documentation. Documentation in any form, that is. And there are many forms of documentation: User manuals, reference guides, blog posts. If in some way or form, your text contributes to the users being able to find their way around the project more easy, your text can be seen as documentation.

First: User manuals. This is usually documentation written by the core team, but more often than not the documentation is either available in a repository that is open for changes (though often you have to be approved first). At least, you can always send in patches for improvements to the documentation or send your idea for changes to a mailinglist. Documentation is often one of the last activities for Open Source projects (because they usually focus on coding) so may very well be missing for (parts of) the Open Source project, so any help is very much appreciated. And your help will not just help the project, but also the rest of the community of that project, because it makes it much easier to use the product. And if that is not yet enough reason to help with the documentation, it is also very interesting for you: Writing (a part of) the user manual will force you to understand the application more than the average user, making you understand the system even more than usual. It may even help you find new features that you didn't know before.

Reference guides are usually automatically generated by the project, or sometimes they are enriched afterwards by users. But there are many other forms of "reference", such as code snippet systems and complete reference books. Most of the times, there is room for user contributions in the form of comments, patches, and code snippets, which are usually contributions that don't take much time to write. If you're interested in more work, then sometimes it is possible to contribute to the project of writing a book or more verbose reference guide.

Another way of documenting which some people don't really consider documentation but definitely is, is writing a blog post. You can write blogposts about new technologies that you find, solutions to annoying problems you encountered, cool new ways of using an Open Source project, and many more topics. All of these will usually contribute to the project either by promoting the project or helping users find the solution to their problem or inspiration for something new they want to do. So even though these blogposts are usually not published on the project website (except perhaps a blog aggregator/planet), it can still be considered a contribution to the project because your blog will be findable through search engines and might even be linked on the project website.

If you are good at writing, you could even write an article for a magazine (either print or digital). Most magazines have ways of submitting article ideas for publishing in the magazine, so if you are interested in that, find a suitable magazine and submit your idea for an article for consideration to the editors of the magazine.

Promotion

Promoting a project is always a good way of contributing. There are many ways to do that, including writing blog posts, convincing your manager the Open Source project should be used for work, visiting local (user group) meetings, organizing local introduction nights or training sessions, speaking at user group conferences or conferences, anything basically that points some more attention to the project. Always do this in a friendly way and respect it when people choose not to use the project, either because they don't need it or they choose another (competing) product. In the end it's always their choice, but it is good to have heard your opinion/story.

In a more practical way as a direct contribution, some projects have a section on their website where the project publishes case studies of the use of the project in real-world situations. If you have a good example for the use of the project and the project has such as section on their website, do not hesitate to contact the project team to see if they want to publish your case study. Usually they will be happy to work with you on getting the case study published on their site.

Deliver presentations

If you feel comfortable speaking to a group of people, you could consider delivering presentations on your favorite project at (user group) meetings and bar camps or conferences. When you're just starting off as a speaker, it is usually a good idea to either get in touch with your local usergroup to see if they have a meeting scheduled for which they are still looking for speakers, or to visit a bar camp. These events are a very informal environment in which a starting speaker can get some practice and often also get very good feedback from attendees. First, think of a good subject to speak on, work this out into at least a basic summary of which topics you want to cover and then contact those who organize the meeting/bar camp to see if you can speak there.

Once you have some speaking experiences in front of smaller groups of people, then start submitting your proposals to conferences. Submitting to conferences local to you has the most chance of you being selected because it's cheaper for the organization to get you in than to fly someone from the other side of the world. Of course this does not mean you should not submit to conferences further away, but the chances are smaller to get accepted there because of the high cost involved in getting you to the conference. In the Open Source world, conferences usually don't pay their speakers a fee for speaking (aside from reimbursements for travel and hotel, which is usually arranged for speakers). As soon as you've spoken at a few conferences and you've made a bit of a name in the speaking world, chances will be bigger that you get accepted at confererences across the ocean. If you want to get accepted for such conferences, it is usually a smart move to submit multiple proposals. Because the price for overseas speakers is higher than for local speakers, conference organizers usually try to get overseas speakers for at least two talks because the price per talk is lower in that way. Personally, I usually submit between 4 and 7 proposals for most conferences, to give the conference organizers a good range of topics to choose from, and also to get the chance to be accepted for more than one talk.

Where user group meetings and bar camps are informal and usually free or cheap to attend, be aware that in the case of conferences, people usually pay to attend the conference. Their expectations will be higher, they will expect more quality from your talk. So make sure you come well-prepared and know your topic well.

Support

Whether you're just starting out with a project or you've used it for years, support is one of the easiest ways of contributing to a project. As soon as you have at least some basic experience with the project, you can answer questions of other (starting) users on the mailinglist, in the IRC channel and/or on project forums. When someone asks a question that you know the answer to (or know where to find it), just respond with your answer. Be clear, be friendly and make sure you understand the question before answering, and people will appreciate your response a lot. It will help them out in solving a problem or finding a good solution to a challenge they were facing, so your response will be very welcome. Even if it doesn't fully solve their problem it might just give them a new insight into where the solution may lie.

It's not that hard

So contributing to Open Source is not that hard. It may only take you a couple of minutes a week, or even a month. It may however also completely get you involved into a project, sometimes you may even be invited to join the core team of the project. Just make sure that whatever you do, do it in a friendly and positive way. This is the way you want to be treated, so make sure you also treat others the same way. After all, they're probably also contributors to the same project you work on.


Add comment

Comments

gravatar Pablo Godel: Most people in open source do not make a living from it, so it is very nice when one receives help in any type or form.

I also found very rewarding to contribute to open source projects with code, patches, documentation or help with questions when I know the people on the other side are not just there for the money.
August 3, 2010
gravatar Christmas Status: Nice website, excellent photo gallery houses with different paintings on them.
October 26, 2011
gravatar mobile wallpapersP: I was very pleased to find this site.mobile wallpapers I wanted to thank you for this great read!! I definitely enjoying every little bit of it and I have you bookmarked to check out new stuff you post.
:evil:
October 27, 2011
gravatar Wedding shoes: :evil: :lol: :mad: 8) 8-O :( :) :?: :D :P :x :| ;) 8O :!: Great submit, very informative. I’m wondering why the other specialists of this sector do not realize this. You must proceed your writing. I’m sure, you have a huge readers’ base already!

October 27, 2011
gravatar zoloft lawsuit: I think the contributions that go into this is so good. There is so much that you can get from it. I see so much coming from it. Keep up the good work.
October 28, 2011
gravatar Online banking: I see the contributions behind this is so good. There is so many great things that come from this. Keep up the good work.
October 29, 2011
gravatar 642-447: Great submit, real consultive. I'm wondering why the separate specialists of this facet do not make this. You staleness proceed your activity. I'm trustworthy, you mortal a huge readers' number already! 8)
November 2, 2011
gravatar washington dc limo: I think many of users begins to work on Perforces because they find they need complete structures to take those releases.
November 3, 2011
gravatar Online University: Even if it doesn't fully solve their problem it might just give them a new insight into where the solution may lie.
November 4, 2011
gravatar California payday loans: I think the ideas behind this project is so good. There is so much that you can get from the open source. I see so much coming from this for people in the future.
November 5, 2011
gravatar LASIK Newport News: I have started a new project recently, I hope I have it finnished by the end of January, then I will need to worry about promotion ways, I will post on my Web 2.0 blogs and make some artticle marketing, I hope I have my firsts users on the firsts weeks.

Feel free to share promotion techniques with me, you can reach me on my email address.

Thanks
November 28, 2011
gravatar Funny Birthday Pictures: There is so many great things that come from this. Keep up the good work.
December 1, 2011
gravatar computer repair: A passive filter breaks computer repair. The humble photograph sleeps near computer repair. Computer repair ducks underneath the leather. A weasel possesses his metro next to an added chorus. Why does computer repair camp against computer repair? Why won't computer repair favor computer repair?

December 15, 2011
gravatar zakxsbnsv: because they find they need complete structures to take those releases
December 23, 2011
gravatar shjrwf: Great submit, very informative. I’m wondering why the other specialists of this sector do not realize this. You must proceed your writing. I’m sure, you have a huge readers’ base already!

December 23, 2011
gravatar eros commercial projects in gurgaon: I will be back to look at out more of your articles later!

December 29, 2011
gravatar eros lakewood city: I am really looking forward to skiing there. It is so very pretty and amazing there. Hopefully I can visit there one day.

December 29, 2011
gravatar raheja revanta gurgaon: Great Blog. I add this Post to my bookmarks.

December 29, 2011
gravatar my favorite chicago weight loss center: You have made a fan.
Please never stop posting such great articles on your website it is very helpful for us beginners.
December 29, 2011
gravatar directory submission: Took me time to read all the comments, but I really enjoyed the article. It proved to be very useful to me and I am sure to all the commenters here! It's always nice when you.
December 29, 2011
gravatar Term papers for sale: I was very pleased to find this site. I wanted to thank you for this great read!
January 1, 2012
gravatar toilet problems: I think the ideas behind this project is so good. There is so much that you can get from the open source. I see so much coming from this for people in the future.
January 3, 2012
gravatar link building services: Search Engine Optimization or SEO is extremely important if you have an online business. SEO helps your site to gain visibility among the millions of sites on the Internet.
January 3, 2012
gravatar tool steel:
I am Happy to be here! Interested parties can contact a lot!
January 4, 2012
gravatar cheap ugg boots: Great post, and great website. Thanks for the information!

January 5, 2012
gravatar seratonin syndrom: I think the ideas behind this project is so good. There is so much that you can get from the open source. I see so much coming from this for people in the future.
January 9, 2012
gravatar Privacy Policy: Not all are gifted to write. Your post is exceptional. Good writing!
January 10, 2012
gravatar Best Hotel Rates: I thank you for taking your time sharing your thoughts and ideas to a lot of readers out there.
January 11, 2012
gravatar mlm secrets: Hello! I realize this is somewhat off topic but I wanted to ask which blog platform are you using for this blog? I'm getting bored of Word press because I've had issues with hackers. Cheers!
January 11, 2012
gravatar LED light bulbs: nice article
January 12, 2012
gravatar cleaning services: wonderful article
January 12, 2012
gravatar wedding invitations: positive article
January 12, 2012
gravatar smartphone clinic: iPhone Repair in miami
January 13, 2012
gravatar cheap ugg boots for sale: interesting topics, nice website thanks for sharing with us this.

January 14, 2012
gravatar Hispanic Grants: I am really looking forward to skiing there. It is so very pretty and amazing there. Hopefully I can visit there one day.
January 14, 2012
gravatar Wheat Flour Milling: Thank you for this information. I really appreciate you posting it.
January 17, 2012
gravatar 2 weeks pregnant: I think the ideas behind this project is so good. There is so much that you can get from the open source. I see so much coming from this for people in the future.
January 17, 2012
gravatar uggs outlet: Thank you for your share of your article, and it was really wonderful, very good

January 18, 2012
gravatar Flour Mill: This is a nice post in an interesting line of content, great way of bring this topic to discussion.
January 20, 2012
gravatar tool steel:

Resources like the one you mentioned here will be very useful for me!
January 20, 2012
gravatar Best Fat Burner: My brother recommended I would possibly like this website. He was once totally right. This submit truly made my day. You cann’t believe simply how much time I had spent for this information! Thanks!
January 21, 2012
gravatar social health articles: He claims to have bodyboarded down the whole river, but knowing how much of a selfpromotor he is I think he might be lying.
January 21, 2012
gravatar public school finance articles: I am working – music, news, and at the end of the day the music of the seraglio.
January 21, 2012
gravatar dissertation dissertation: I think many of users begins to work on Perforces because they find they need complete structures to take those releases.
January 21, 2012
gravatar dissertation literature review: Computer repair ducks underneath the leather. A weasel possesses his metro next to an added chorus. Why does computer repair camp against computer repair? Why won't computer repair favor computer repair?
January 21, 2012
gravatar dissertation proposal: I think many of users begins to work on Perforces because they find they need complete structures to take those releases.
January 21, 2012
gravatar allopurinol dosage: I was looking for this knowledge. Just so you know I found your web site when I was searching for blogs like mine, so please check out my site sometime and leave me a comment to let me know what you think.
January 23, 2012
gravatar king memory foam mattress : Normally I don't learn article on blogs, however I would like to say that this write-up very forced me to take a look at and do so! Your writing style has been surprised me. Thanks, quite nice article.

January 23, 2012
gravatar temporary van insurance: Awesome website! A design like yours would absolutely make my webpage shine. Please let me know the place where you bought your theme. Many thanks!
January 23, 2012
gravatar american leather comfort sleeper sale: Yes it is very difficult to find the right project. Or is it? Of course you can just pick a random project that you think you are interested in, and see how you can contribute to the project. But what helps a lot is to find a project that works with you every day, or that you think every day when more mature.
January 24, 2012
gravatar american leather sleeper: Your contribution may be 5 minutes. So depending on how you want to contribute to Open Source and amount of time you will want to spend it, your contributions can all be the same project, or you can contribute to the hundreds of projects in some way or other.
January 24, 2012
gravatar Garden Umbrella:
Great blog article about this topic,I have been lately in your blog once or twice now.I just
wanted to say hi and show my thanks for the information provided
January 25, 2012
gravatar Garden Umbrellas: The volume is nicely presented in compendium, I am exulting to see numerous worthy facts. Thanks for distribution

January 25, 2012
gravatar Pilates Class NYC: I saw a piece of open source software before I download the code, I'm looking to see how many people complain about faulty installation, or if there are questions that show poor programming skills.

January 25, 2012
gravatar Pilates NYC: Open source is a philosophy, or a pragmatic approach that promotes free redistribution and access to design a final product and implementation details. Before open source would be a phrase has been widely adopted, developers and producers used a variety of phrases to describe the concept, open source gained hold in the advent of the Internet, and the need for officers to major retooling of the source code of computing.
January 25, 2012
gravatar Silent Auction: Any open source projects that have either a public discussion forums, email or forum-based, and developers with a service mentality about it and care about the customers happy, even if They are paying customers. So, even before touching the code, I will examine the public - because there are so many codes that have a community behind it, like something people open source their work to their last job, or hack overnight no purpose to it can be used.

January 25, 2012
gravatar Golf Auction: Open-source model with the same concept but different agenda and different approaches to production, in contrast with more centralized models of development such as those commonly used in commercial software company. A basic principle and practice of open-source software development is the production of peering through barter and collaboration, the final product, material resources, "blueprint", and documentation are available at no cost to the public.
January 25, 2012
gravatar criminal attorney fort lauderdale: Open source software movement was born to describe the new environment of copyright, licensing, domain, and the problem consumers are made.
January 26, 2012
gravatar Jacksonville Criminal Defense: Open source model with the same concept but different agenda and different approaches to production, in contrast with more centralized models of development such as those commonly used in commercial software companies.
January 26, 2012
gravatar Orlando Divorce: A key principle and practice of open source software development production through peer exchange and collaboration, the final product, the source material, "plan", and papers are available at no cost to the public. Increasingly it is applied in other fields of business, such as Biotechnology.
January 26, 2012
gravatar chota bheem games: Why yes, I do have a varied taste in music. I've often said that there isn't a genre I don't listen to, and I've surprised people while proving it
January 27, 2012
gravatar What causes epilepsy: I was astounded. Because I met entropy which I looks for. We desire to displace to utter our gratuitude. Thanks alot
January 27, 2012
gravatar What is hepatitis c: First of all let me tell you, you have got a great blog.I am interested in looking for more of such topics and would like to have further information. Hope to see the next blog soon
January 27, 2012
gravatar whole life insurance quotes: Howdy! I know this is somewhat off topic but I wanted to ask which website platform you are using for this blog? I'm getting tired of Word press since I have had troubles with online hackers. Thank you!
January 28, 2012
gravatar coach outlet online: If you buy Coach items at the
coach outlet online

store, the goods will be sent out within 24 hours after confirming your payment and arrive to your door within 7 work days.No one can deny the shopping at the
coach factory outlet

is satisfactory. For the low prices and good quality.
January 29, 2012
gravatar coach outlet: coach outlet

handbags You can not just save your cash but also your time inside a convenient way to obtain the exact same bags product and do not be concerned the shippment of one's products.The
coach outlet store online

are utilized for formal event in company area that will display your excellent taste.Not only does a briefcase make is easier to carry things.
January 29, 2012
gravatar Flour Mill: Can you post more articles on this topic? Thanks for providing such an interesting article.
January 29, 2012
gravatar die steel:
Enjoyed every bit of your website.Thanks Again. Great.

January 30, 2012
gravatar Garden Umbrella:
I found your blog site on google and examine a few of your early posts. Proceed to maintain up the excellent operate. I just further up your RSS feed to my MSN Information Reader. Searching for forward to studying more from you in a while!...
January 31, 2012
gravatar Garden Umbrella: That is a really good bit of information you have written up there, I really think you have a nice site here. Thanks bud.
January 31, 2012
gravatar modern italian furniture: Excellent article my friend. This is exactly what I've been looking for for quite a time now...
Thanks for this wonderful post! It has been extremely useful. I wish that you will proceed posting your wisdom with us.

January 31, 2012
gravatar Assignment: Great submit, very informative. I’m wondering why the other specialists of this sector do not realize this. You must proceed your writing. I’m sure, you have a huge readers’ base already!
January 31, 2012
gravatar Blog Immobiliare: Its a great start of the day with a website like this. very informative, i’m now one of the regular visitor of your web.
January 31, 2012
gravatar discount uggs boots: Your first-class knowledge about this good post can become a proper basis for such people. nice one!
February 1, 2012
gravatar bank exams: It is important to choose right one since the first time. Thank you for the tips. Proper care will save money in long term.
February 1, 2012
gravatar michael kors purses: I have frequented your port before. The more I take in, the more I keep coming back! This article was vey helpful to me

February 2, 2012
gravatar cheap renters insurance: Awesome site! A design like yours would absolutely make my site shine. Please tell me the place where you got your theme. Cheers!
February 2, 2012
gravatar discounted uggs: I hope in future also i wil get these types of nice blogs...thanks alot!!

February 4, 2012

Php5_zce_logo

Upcoming events

I will be speaking 06-02-2012: D-Day
I will be speaking 17-02-2012: Techademy Trainingday February
I will be speaking 23-02-2012: Zend Webinar: Git for Subversion Users

Tags

1337 2008 2010 2011 4developers access modifiers accessibility AdaLovelaceDay09 advent agavi agile alfred amsterdam apache api apple article articles atk atkMetaNode audioscrobbler automation azure backwards compatibility barcelona barcodes bash bbc bbq beatstad belgium best practices bittorrent blogging blogs boards of canada book books bughuntday bundle caching cake cal evans calendar career cat cerf certificate cfp clear cms cologne common sense communities community components conference conferences contest continuous integration contribute contribution crisis css custom d-day datetime DbFinderPlugin decorator decorators deployment devdays development directoryindex docblox doctrine documentation download dpc dpc09 dpc10 dpc11 DPC2008 dreamhost drupal dv7 eclipse ed editors efficiency enterprise errors event events expertise ezcomponents facebook finland flickr fork framework frameworks freelance freeze frontend fun game games geoip germany getting real git github gnome-do google google calendar googletalk graceful degradation hack hackers hidden gem hiphop howto hp HR html http i386 ibuildings icann ide ideasofmarch idm imovie indy ingewikkeld integration international php conference internet interview ipad IPC ipc ipc08 ipc10 ipc11se iterm2 javascript jenkins jenkins-php job job openings jobeet john peel joomla joomladays kiva kubuntu launcher launchy left on the web libraries library lighttpd lime linktuesday linux live london loudblog m2ts mac magazines malware mambo marjolein mediterra meeting meme meta methodology micro-financing microframework microsoft migration movie music mysql namespace namespaces netbeans netherlands newsfire nllgg nos odmarco open source opinion ORM osx paradiso paris partnership pavilion pear pecl performance personal pfc10 pfc11 pfcongres pfcongrez pfz photo php php5.3 phpabstract phpazure phpBB phpbb phpbelgium phpbenelux phpbnl10 phpday phpdoc phpdocumentor phpgg phpitalia phpnw phpnw08 phpnw11 phpstorm phptek phptek09 phpuk2009 phpUnderControl phpunit php|architect php|tek podcast politics portability postcrossing presentation presentations private projects protected prototype PSR-0 public python qa qr codes re2c recruiting refactoring review rewrite ruby on rails san francisco schedule scifi script security sensio seven things sfdaycgn sflive2011 shell scripting silex simplexml slides smfony software sogeti solar sound speakers spl ssh standard standards star trek static steer strings stylesheets subversion symfony symfony live Symfony2 symfonycamp symfonyday symfonylive symfonyUnderControlPlugin talk talks techademy technology techportal tek09 telecommuting terratec terrorism testfest testing textmate textpattern the right tool timeout tips tld todo tomas tools training twig uncon unet usability usergroup validation vhost video vim vinyl virus warp webinar weblogging webservices wiki windows winphp women wordpress work workshop world world of warcraft wpi writing wunderlist xml xpath xsd yara year youtube zc11 ZCE zemanta zend zend framework zend server zend studio zendcon Zend_Form zite
© 2004 - 2012 Stefan Koopmanschap + Powered by Symfony, photos powered by Flickr, links powered by Delicious, Shanghai smilies by Iconbuffet. Feeds: rss / atom. Left on the Web v4.4.0.1