Why Get Involved?
- Learning something new
- No / Less deadlines and business factors to abide by
- Mentoring
- Networking
- Fostering the community
- Being invovled in something greater than yourself
- Find what you want to learn / explore
OpenMRS CPM
- CPM: Concept Proposal Module
- Allows 2 OpenMRS instances to interact and communicate
- Proposer formulates a new concept that could be useful for everybody and sends to the Dictionary Manger for review
- Dictionay Manager: Approves, Rejects / Creates concept
- Weekly hacknights hosted by Thoughtworks
- On-going for 2 years, stake holders overseas
Starting is always the hardest (1/2)
- People management
- Managing expectations
- Food helps!
- Setup / Introduction
- High barriers of entry => great killer of enthusiasm
- Vagrant
- Reproducable developer environments
- Based on versionable files: e.g. Vagrantfile
- One environment to rule them all
- (Let's see some code!)
Starting is always the hardest (2/2)
- Documentation
- Communication
How we work (1/2)
- Schedule:
- 1800: Arrivals & Food
- 1830: Stand Up
- 2100: Go home!
- Agile
How we work (2/2)
- Code Repository
- Automated Deployment
Development
- GitHub all the things
- Typical Git workflow
- Fork (on GitHub)
- Clone
- Branch
- (Code / Fix / Review) + Test
- Pull Request (on GitHub)
- Review (Back to 4. if necessary)
- Merge
- Pull request
- Not a finished code, but a start of the conversation
Problems
- People leaving after 1 meetup
- Monthly Newbie Night vs introduction every week
- Spending too much time on setup
- Lack of documentation
- Where do I start if I want to learn about x?
- Where in the code do I find x to implement y?
- Not knowing the prerequistes before implementing a fix/feature
- Disruptive behaviour
How to get the most out of it
- Stick with it for 1 or 2 months (4-8 meetups)
- Get to know the environment/culture
- See where you can contribute
- No task too small
- As long as it's beneficial to others, it's a good step forward
- Single Task: no matter the progress (or lack there of)
- Document issues with Setup for Newbies
- Deployment with Go
- Functional Tests
- Documentation
- helps me research something more before writing actual documentation
- helps identify what exactly needs to be done
- After hours
In conclusion
- For me: I've learned alot and makes me want to help on-boarding of people to projects
- For you: Go Explore, Learn and Contribute back to the community at large!
- OpenHatch is a non-profit dedicated to matching prospective free software contributors with communities, tools, and education.
openhatch.org
- CodeTriage: receive a different open issue in your inbox every day.
codetriage.com