23
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 5 Edinburgh, Scotland, March 2012 Version: edinburgh-2012-03-10-g2cc65c5 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. 1 / 14

Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 2: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 3: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 4: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 5: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

The Three Stages of Quality

Pure functionalityjust the code

Software engineering best practicesCode documentationBuild systemUnit testingVersion control

Project managementCoordinating effortsProviding infrastructureMarketing/Presswork

4 / 14

Page 6: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

The Three Stages of Quality

Pure functionalityjust the code

Software engineering best practicesCode documentationBuild systemUnit testingVersion control

Project managementCoordinating effortsProviding infrastructureMarketing/Presswork

4 / 14

Page 7: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

The Three Stages of Quality

Pure functionalityjust the code

Software engineering best practicesCode documentationBuild systemUnit testingVersion control

Project managementCoordinating effortsProviding infrastructureMarketing/Presswork

4 / 14

Page 8: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

Open Source Development Models

Benevolent dictatorElected governmentMeritocracy

5 / 14

Page 9: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

Interlude: Choice of Licenses

GPL (copyleft)MIT-X, BSD Three-ClauseCreative Commons

WTFPL, BEERWARE etc...

Warning: NO CUSTOM LICENSES...

6 / 14

Page 10: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

Interlude: Choice of Licenses

GPL (copyleft)MIT-X, BSD Three-ClauseCreative Commons

WTFPL, BEERWARE etc...

Warning: NO CUSTOM LICENSES...

6 / 14

Page 11: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

Interlude: Choice of Licenses

GPL (copyleft)MIT-X, BSD Three-ClauseCreative Commons

WTFPL, BEERWARE etc...

Warning: NO CUSTOM LICENSES...

6 / 14

Page 12: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 13: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 14: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 15: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 16: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 17: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 18: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 19: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 20: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

Hosting

Outsource? or roll your own?Depends on project sizeDepends on your required redundancyTrac, Redmine...

Popular choices includeGithub (No mailinglists)Sourceforge (Slow)

...

11 / 14

Page 21: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

Online Presence

Corporate IdentityCatchy Name (Choose it wisely)Nice Logo

Register your own domain?

Important: Provide an SVG Logo

12 / 14

Page 22: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

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

Page 23: Open Source Project Management - NeuralEnsembleneuralensemble.org/media/slides/haenel-open-source-pm-edinburgh-… · Open Source Project Management ValentinHaenel

Conclusion

Open source tools used to make this presentation:Wiki2beamerLATEXbeamer

Questions?

14 / 14