The Stack• We chose a LAMP stack (Linux, Apache, MySQL, PHP) for universal acceptance.• Difﬁcult to switch once the decision has been made.• Projects risk alienating community when changing language preference.
Version Control• Most important technology decision.• Only two serious options: • SVN - Centralized • Git - Decentralized• Distributed, decentralized version control is good for open source.
Communication• Ushahidi utilizes every channel of communication possible. • 10 Forums • 3 Mailing Lists • 1 Support Email • 6 Chatrooms (Skype, IRC) • 4 Issue Trackers• TOO MANY!
Project Teams All-Powerful Project Manager Slave Programmers
Development Workﬂow Code hosted on GitHub github.com/ushahidi
Development Workﬂow• Git informs how we manage code as a team and a community of volunteers.• Developers fork and make pull requests.• Trusted developers push directly to the repository.• Become trusted by DOING good work.
Just Do It Already!Want respect in an open source community?• Fork a repository.• Write some code. PRO TIP Do not ask• Submit a pull request. permission.• Implement feedback.• Celebrate.• Do it again.
Do-ocracy• Ushahidi rewards active volunteers.• Rarely interview new employees, simply hire the volunteers who are doing work.• I was hired via email. Committing code and active participation was all it took.
What do we need?• Testers• Bug Killers• Translators • Huge thank you to Jungkwan Kim ;)
Get To Work! Git can be scary. Be patient! help.github.com Hack our code. Fork us!github.com/ushahidi/Ushahidi_Web github.com/ushahidi/SwiftRiver .... or any of our 73 repos. Don’t listen to me.Start your own project!