Open Source Project Management

Open Source Project Management

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?! 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 Speciality of science: Death by PhD Common features of Open Source Projects Highly decentralised and multinational Varying degrees of expertise Weak commitment («Scratch your own itch») Shallow hierarchies Usually not profit oriented Flexible deadlines 3 / 14 Common features of Open Source Projects Highly decentralised and multinational Varying degrees of expertise Weak commitment («Scratch your own itch») Shallow hierarchies Usually not profit oriented Flexible deadlines Speciality of science: Death by PhD 3 / 14 Software engineering best practices Code documentation Build system Unit testing Version control Project management Coordinating efforts Providing infrastructure Marketing/Presswork The Three Stages of Quality Pure functionality just the code 4 / 14 Project management Coordinating efforts Providing infrastructure Marketing/Presswork The Three Stages of Quality Pure functionality just the code Software engineering best practices Code documentation Build system Unit testing Version control 4 / 14 The Three Stages of Quality Pure functionality just the code Software engineering best practices Code documentation Build system Unit testing Version control Project management Coordinating efforts Providing infrastructure Marketing/Presswork 4 / 14 Open Source Development Models Benevolent dictator Elected government Meritocracy 5 / 14 WTFPL, BEERWARE etc... Warning: NO CUSTOM LICENSES... Interlude: Choice of Licenses GPL (copyleft) MIT-X, BSD Three-Clause Creative Commons 6 / 14 Warning: NO CUSTOM LICENSES... Interlude: Choice of Licenses GPL (copyleft) MIT-X, BSD Three-Clause Creative Commons WTFPL, BEERWARE etc... 6 / 14 Interlude: Choice of Licenses GPL (copyleft) MIT-X, BSD Three-Clause Creative Commons WTFPL, BEERWARE etc... Warning: NO CUSTOM LICENSES... 6 / 14 Important feature: Async Avoid having too many channels Twitter, Facebook, Identi.ca, Jabber, Aim, Google-Talk, Skype, SILC... Distributed Communication E-Mail / Mailinglists IRC / IM Project Wiki Issue-Tracker Doodle 7 / 14 Distributed Communication E-Mail / Mailinglists IRC / IM Project Wiki Issue-Tracker Doodle Important feature: Async Avoid 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 Acknowledge contributions e. g. AUTHORS file All contributions: bug-reports, feature-requests, Logos... When to consider someone «a (core-)developer or contributor» Check up on missing contributors Human Resources Reduce the barrier to entry Low hanging fruit in the issue tracker Provide timely feedback on patches Adhere to standards Open development mailinglist 9 / 14 Human Resources Reduce the barrier to entry Low hanging fruit in the issue tracker Provide timely feedback on patches Adhere to standards Open development mailinglist Acknowledge contributions e. g. AUTHORS file All contributions: bug-reports, feature-requests, Logos... When to consider someone «a (core-)developer or contributor» Check up on missing contributors 9 / 14 Automate the process Tag the release Generate the distribution tarballs Upload the tarballs Update the documentation Submit *.dsc file to NeuroDebian ... Announce the release Mailinglist, blogpost, frontiers social network... Release Management When to release «Release early, release often» «but... don’t release too early» «Release it when it’s done» 10 / 14 Announce the release Mailinglist, blogpost, frontiers social network... Release Management When to release «Release early, release often» «but... don’t release too early» «Release it when it’s done» Automate the process Tag the release Generate the distribution tarballs Upload the tarballs Update the documentation Submit *.dsc file to NeuroDebian ... 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 process Tag the release Generate the distribution tarballs Upload the tarballs Update the documentation Submit *.dsc file to NeuroDebian ... Announce the release Mailinglist, blogpost, frontiers social network... 10 / 14 Hosting Outsource? or roll your own? Depends on project size Depends on your required redundancy Trac, Redmine... Popular choices include Github (No mailinglists) Sourceforge (Slow) ... 11 / 14 Online Presence Corporate Identity Catchy Name (Choose it wisely) Nice Logo Register your own domain? Important: Provide an SVG Logo 12 / 14 Dissemination Conferences Talk or Poster Run a Booth Merchandise Leaflet Meet the developers Website Overview of functionality Contact email Documentation Reviews and interviews in Journals and Magazines e. g. Frontiers in [...] Provide a NeuroDebian package 13 / 14 Conclusion Open source tools used to make this presentation: Wiki2beamer LATEXbeamer Questions? 14 / 14.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    23 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us