1. Why Contribute to Open Source
Projects?
By
Kranti K. Parisa
NIT- Warangal Alumni Webinar
10th March 2014
2. - Lead Engineer/Search Architect, Search & Discovery Services Group @ Comcast
- Apache Solr Contributor
http://wiki.apache.org/solr/krantiparisa
- Co-author – “Apache Solr 4 Enterprise Search Server”
http://www.packtpub.com/apache-solr-4-enterprise/book
- Committer, Heliosearch - a high-performance NoSQL search server, the next generation of open source search
http://www.heliosearch.org
- Co-founder & Technical Advisor at many startups focusing on SaaS, Cloud Computing,
Enterprise Search & Discovery.
- Passionate about Enterprise Search, Big Data & Cloud Computing
- Connect @ http://www.linkedin.com/in/krantiparisa
Who am I?
3. Why would I want to contribute?
There are also many very pragmatic reasons for contributing to open source projects:
• To add a new feature / improvement to a project; or to fix an issue with a project
• To practice and learn about software development - contributing to a project is a
great way to learn about the more hands on aspects of software development like
using debuggers, version control systems, issue trackers, etc.
• To practice/learn a particular programming language or technology which you are
interested in
• To build your online presence - highlighting open source contributions relevant to the
job makes your resume stand out from the rest
Key Points:
• Give Something Back
• Get to Collaborate with Really Smart People
• Interesting and Challenging
• It's Fun!
• Great Opportunity to Learn Something New
• Looks Good on a Resume
• Doesn't Have to Be Code
8. Where to Start & Next Steps
Choose the project – May not be a bad idea to start at https://openhatch.org/
Subscribe to the Mailing lists
Read the Issues/features on the Ticketing Systems of the project, eg: JIRA
Read the Documentation, identify the gaps, propose the updates/changes on the forums
Get access to the project wiki, source code (SVN, Git) – Create your accounts
Be active in the user, developer groups of the project
Remember, use the tool/library first
- Download
- Install
- Develop simple use cases
- Understand the fundamentals of the project, read books!
Start contributing: update documentation, fix a bug in the code, write unit tests,
write technical blogs
You will be recognized & rewarded!!