Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Open Source Project Management
Valentin Haenel <[email protected]>Scientific Software Developer
Blue Brain Project (BBP)École Polytechnique Fédérale de Lausanne (EPFL)
BrainScaleS CodeJam Workshop 5Edinburgh, Scotland, March 2012
Version: edinburgh-2012-03-10-g2cc65c5This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License.
1 / 14
Open Source Project Management?!
Classical project management: gant charts, meetings etc..Erm.. :-/ ... and now open source – Isn’t this contradictory?Maybe just a different kind of management?
Slides based on the book by Michael ’mika’ Prokop (in German):
2 / 14
Common features of Open Source Projects
Highly decentralised and multinationalVarying degrees of expertiseWeak commitment («Scratch your own itch»)Shallow hierarchiesUsually not profit orientedFlexible deadlines
Speciality of science: Death by PhD
3 / 14
Common features of Open Source Projects
Highly decentralised and multinationalVarying degrees of expertiseWeak commitment («Scratch your own itch»)Shallow hierarchiesUsually not profit orientedFlexible deadlines
Speciality of science: Death by PhD
3 / 14
The Three Stages of Quality
Pure functionalityjust the code
Software engineering best practicesCode documentationBuild systemUnit testingVersion control
Project managementCoordinating effortsProviding infrastructureMarketing/Presswork
4 / 14
The Three Stages of Quality
Pure functionalityjust the code
Software engineering best practicesCode documentationBuild systemUnit testingVersion control
Project managementCoordinating effortsProviding infrastructureMarketing/Presswork
4 / 14
The Three Stages of Quality
Pure functionalityjust the code
Software engineering best practicesCode documentationBuild systemUnit testingVersion control
Project managementCoordinating effortsProviding infrastructureMarketing/Presswork
4 / 14
Open Source Development Models
Benevolent dictatorElected governmentMeritocracy
5 / 14
Interlude: Choice of Licenses
GPL (copyleft)MIT-X, BSD Three-ClauseCreative Commons
WTFPL, BEERWARE etc...
Warning: NO CUSTOM LICENSES...
6 / 14
Interlude: Choice of Licenses
GPL (copyleft)MIT-X, BSD Three-ClauseCreative Commons
WTFPL, BEERWARE etc...
Warning: NO CUSTOM LICENSES...
6 / 14
Interlude: Choice of Licenses
GPL (copyleft)MIT-X, BSD Three-ClauseCreative Commons
WTFPL, BEERWARE etc...
Warning: NO CUSTOM LICENSES...
6 / 14
Distributed Communication
E-Mail / MailinglistsIRC / IMProject WikiIssue-TrackerDoodle
Important feature: AsyncAvoid having too many channels
Twitter, Facebook, Identi.ca, Jabber, Aim, Google-Talk, Skype, SILC...
7 / 14
Distributed Communication
E-Mail / MailinglistsIRC / IMProject WikiIssue-TrackerDoodle
Important feature: AsyncAvoid having too many channels
Twitter, Facebook, Identi.ca, Jabber, Aim, Google-Talk, Skype, SILC...
7 / 14
Getting things done
Provide a (realistic) roadmap
Don’t flood the TODO list
Popular in scientific applications: Sprints
Don’t spend too long taking decisions
8 / 14
Human Resources
Reduce the barrier to entryLow hanging fruit in the issue trackerProvide timely feedback on patchesAdhere to standardsOpen development mailinglist
Acknowledge contributionse. g. AUTHORS fileAll contributions: bug-reports, feature-requests, Logos...
When to consider someone «a (core-)developer or contributor»
Check up on missing contributors
9 / 14
Human Resources
Reduce the barrier to entryLow hanging fruit in the issue trackerProvide timely feedback on patchesAdhere to standardsOpen development mailinglist
Acknowledge contributionse. g. AUTHORS fileAll contributions: bug-reports, feature-requests, Logos...
When to consider someone «a (core-)developer or contributor»
Check up on missing contributors
9 / 14
Release Management
When to release«Release early, release often»«but... don’t release too early»«Release it when it’s done»
Automate the processTag the releaseGenerate the distribution tarballsUpload the tarballsUpdate the documentationSubmit *.dsc file to NeuroDebian...
Announce the releaseMailinglist, blogpost, frontiers social network...
10 / 14
Release Management
When to release«Release early, release often»«but... don’t release too early»«Release it when it’s done»
Automate the processTag the releaseGenerate the distribution tarballsUpload the tarballsUpdate the documentationSubmit *.dsc file to NeuroDebian...
Announce the releaseMailinglist, blogpost, frontiers social network...
10 / 14
Release Management
When to release«Release early, release often»«but... don’t release too early»«Release it when it’s done»
Automate the processTag the releaseGenerate the distribution tarballsUpload the tarballsUpdate the documentationSubmit *.dsc file to NeuroDebian...
Announce the releaseMailinglist, blogpost, frontiers social network...
10 / 14
Hosting
Outsource? or roll your own?Depends on project sizeDepends on your required redundancyTrac, Redmine...
Popular choices includeGithub (No mailinglists)Sourceforge (Slow)
...
11 / 14
Online Presence
Corporate IdentityCatchy Name (Choose it wisely)Nice Logo
Register your own domain?
Important: Provide an SVG Logo
12 / 14
Dissemination
ConferencesTalk or PosterRun a Booth
MerchandiseLeafletMeet the developers
WebsiteOverview of functionalityContact emailDocumentation
Reviews and interviews in Journals and Magazinese. g. Frontiers in [...]
Provide a NeuroDebian package
13 / 14
Conclusion
Open source tools used to make this presentation:Wiki2beamerLATEXbeamer
Questions?
14 / 14