Download presentation
Presentation is loading. Please wait.
Published byDiane Lloyd Modified over 8 years ago
1
How To Get Involved In Open Source Nick Burch Senior Developer, Alfresco Software VP ConCom, ASF Member
2
How to get involved in Open Source ● My story – How I got involved in Open Source ● More stories – How others here got involved in Open Source too ● Some general themes of getting involved ● How you can get involved too!
3
Who is this Nick guy anyway? ● Senior Developer with Alfresco ● Apache VP Conferences ● PMC member for many projects – POI, Tika, Chemistry, ConCom, ComDev, Incubator, TAC ● Involved in several others, such as ODF Toolkit, Commons, Infrastructure etc ● Contribute to many non-Apache projects too ● First open source bug report in the mid 90s, first patches in the late 90s
4
My Apache Story – Key Dates ● POI – August 2003 ● Investigated project, joined the user list ● POI – November 2003 ● First query - 4 th November ● First patch - 12 th November – 8 days later! ● Lucene – December 2003 ● POI Committer – May 2005 ● Jakarta PMC – December 2006 ● POI PMC Chair – May 2007 ● Still there, still involved!
5
My Apache Story - How ● Needed to write a simple Lucene powered spider / indexer / searcher – long before SOLR! ● Wanted to get metadata and text out of Microsoft Office documents – long before Tika! ● Looked around for good Java libraries, Apache (Jakarta) POI was active, vibrant and close to what I needed ● Read the website, downloaded the software ● Joined the mailing list, “lurked” silently
6
My Apache Story – First Patch ● Started using POI in a solution, got the basics in place ● Something seemed harder than it should be, asked for help doing it better ● No response received to my query :( ● Went ahead and wrote a patch that exposed what I needed more easily, sent it in ● Patch was ignored :( ● Other users thanked me privately though!
7
My Apache Story – Patch Applied! ● Stayed on the list, learning ● One month after my first post, began answering questions from other users based on my experience ● Hit my next problem 3 months later ● Developers were interested! ● Sent in a patch to fix it ● Developers committed a fix, which was nothing at all like my patch...
8
My Apache Story – New Feature ● Everything I needed now worked, but stayed on the list all the same ● Nearly a year later, I needed something else ● A rough version had been posted to the mailing list before, but it was hacky ● Investigated how to do it better ● Discussed it on list, ended up sending in a patch to add it as a proper new feature ● Patch was applied as-is!
9
My Apache Story - Committer ● Kept working on the feature, adding in new functionality, and sending in patches ● The developers kept adding them, and others on the list were keen on the new things ● Eventually, the developers got bored of having to apply my patches for me ● So they made me a committer! ● It was all over, I was hooked.... :)
10
My Apache Story - Member ● Initially I stuck to my little area of the codebase ● Grew more confident, branched out to helping with other areas too ● Got involved in doing releases, was elected to the PMC based on this ● Helped drive the project's graduation from Jakarta to TLP, was elected project VP ● Got involved in foundation wide things from this, later elected a Member of the ASF
11
My Apache Story - Stages ● Lurked ● Initial, small patch ● Helped others ● Another patch ● A pause ● More patches ● Committer ● Onwards to more projects!
12
Others How others got involved too
13
Getting Involved – Where to start ● It always starts with a problem or a need ● “An itch that needs to be scratched” ● It's hard to get involved in something you don't care about – it works best when you have an interest in the project or what it lets you do ● Don't come to us and say “what project should I help with?” ● Think about what you use and what interests you, and get involved there
14
Getting Involved – At the Project ● Join the mailing list ● It's fine to “lurk” and watch first, without posting ● Checkout the codebase, have a look around ● Maybe take a peek at the mailing list archives ● If the website has a getting started guide or a tutorial, try following that ● If there are examples, see what they do ● Unit tests often show you how things work, look at them if you can't find an example!
15
Getting Involved – With an “itch” ● Don't worry about asking for help – we were all in your situation once! ● Look at the code, and try to narrow down where the problem lies ● If you think there's a bug, a (failing!) unit test is a great way to identify it and help others ● If you want to add a feature, start small, and try to base it off existing things ● Share the patch, ask for feedback
16
Getting Involved – Want to learn? ● Some projects list the areas they need people to work on ● Others list bugs suitable for beginners ● All projects love help with documentation and examples! ● You can review new bugs, and help if they don't have enough information yet ● Look at queries on the mailing list and simpler bugs, and see if you can help / solve it
17
Getting Involved – First Patch ● You've found a problem / feature gap ● And you've fixed it! ● Look at the project guidelines for submitting patches – may be to issue tracker, may be to mailing list, may be via pull request etc ● Send in your patch, along with an explanation of what you've done and why ● Be aware that developers can be busy ● Don't be upset if your patch needs changes
18
Getting Involved – More Patches ● Keep at it – most projects don't grant committership immediately ● Developers usually notice people who help others, and will then have more time for them ● Sometimes your patch may be ignored, try not to loose heart – developers are probably busy elsewhere, which isn't always visible ● If you can, include unit tests, examples, documentation ● You can always do this for existing code!
19
Getting Involved – Different Ways ● Bug Fixes ● New Features ● Helping on the user list ● Helping with bug triage ● Helping supply more details, unit tests etc for bugs ● Writing documentation ● Writing examples, updating existing ones ● All important!
20
Getting Involved – Next Steps ● Find a project you're interested in ● Think about how you can best help (code, bug fixes, documentation, bug triage, helping others) ● Join the mailing list(s) ● Get the code / documentation ● It's OK to lurk for a bit while you learn ● Take a deep breath... ● … and send in your first contribution ● Then keep going!
21
Getting Involved – Different Ways ● Bug Fixes ● New Features ● Helping on the user list ● Helping with bug triage ● Helping supply more details, unit tests etc for bugs ● Writing documentation ● Writing examples, updating existing ones ● All important!
22
Warning! Contributing to Open Source can be fun and addictive!
23
Questions? Want to know more? ● http://www.apache.org/ http://www.apache.org/ ● http://community.apache.org/ http://community.apache.org/ ● dev@community.apache.org dev@community.apache.org ● @TheASF ● @Gagravarr ● @RGardler
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.