Retour d'expérience sur le choix d'une forge logicielle / Choosing a software forge joseph.roumier@cetic.be twitter/identi.ca: jrcetic etienne.charlier@cetic.be rmll2010 07/07/2010
CETIC, & CELLaVI CETIC - Centre of Excellence in Information and Communication Technologies http://www.cetic.be/ Applied research & Technology transfer Software engineering, service oriented technologies and embedded systems. PONTE - Efficient [P]atient Recruitment for Inn[O]vative Cli[N]ical [T]rials of [E]xisting Drugs to other Indications WP4 Leader Data Representation & Organisation. http://www.ponte-project.eu/ CELLaVI - Center of Expertise for Open Source use in Industrial Applications http://www.cetic.be/article926.html Foster OSS adoption in the Walloon region By software users (find software) and editors (develop software)
Présentation des forges logicielles, de leurs principales fonctionnalités et instances, et d'ordres de grandeur du domaine.
Software Forges Basics Collaboration tool for software development Basic Features Code hosting Mailing lists and/or forums -> communication Wiki -> documentation Web and file hosting -> downloads, comm. bug tracking -> development & feedback Software Forge & Forge Instance Famous hosting platforms Sourceforge(230 000), GitHub(919 000), Alioth(889), etc. Many free software being developed on forges: Gnome, Inkscape, amule, Emacs, etc.
Back to PALLaVI the CELLaVI forge Why another forge? Hosting local software projects Won't be lost in large hosting platforms Customized services Technical / Legal / Economic / Training -> customized forge https://forge.pallavi.be/
Some selection difficulties Name gforge/fusionforge LibreSource Savane gforge AS Collabnet SourceForge Entreprise Edition Launchpad emforge Picoforge Redmine Codeplex InDefero NovaForge Many different forges: As of ending 2008 we easily found 13! Wide range of maturity, quality Little literature even though companies/institutions have been through the process of choosing an existing OSS forges: Gforge/Fusionforge: http://gforge.inria.fr/, http://rubyforge.org/, http://forge.ow2.org/, http://www.osor.eu/ Redmine: http://sourcerepo.com/, http://forge.typo3.org/
Selection Method Identify strong exclusion criteria 13 forges -> 4 forges Generic/specific criteria Based on CELLaVI goals Define notes and weight for each forge Use an external method to strengthen the choice: QSOS method Install In a virtual machine with an install script Write down the scores for each forge Based on information from websites and test
Forge Identify strong exclusion criteria Déployable Licence Libre Maturité Activité Communauté Plateforme gforge Oui Oui Mature Haute PHP/MySqL LibreSource Oui Oui Jeune Haute Java Savane Oui Oui Mature Basse PHP/MySql Gforge AS Oui Non N/A N/A PHP CollabNet Oui Non N/A N/A Java Sourceforge EE Oui Non N/A N/A PHP Launchpad Non Non N/A N/A N/A emforge Oui Oui Jeune Moyenne Java PicoForge Oui Oui Jeune Basse PHP Redmine Oui Oui Jeune Haute Ruby/Rails Codeplex Non Non N/A N/A N/A Indefero Oui Oui Très Jeune Haute PHP NovaForge Oui Non Mature N/A Red: N/A not available as OSS Yellow: Savane: close to gforge and stalled development PicoForge: low activity at the community level and main contributors being involved in other projects Indefero: very (too) young
FusionForge/gForge - 4.8
LibreSource - 2.5
EmForge - 0.28
Redmine - 0.8
Criteria(1/2) Transform CELLaVI description into criteria API Metrics Plugin development Wiki Access Control List In order to identify non-functional requirements A mix of brainstorming & forges survey Identify existing plugins & practices Visiting projects websites, search for existing surveys Ask future users about their tools What is your preferred wiki/bugtracker/code repository/list manager/etc?
Criteria (2/2) 38 functional Example: 2.3 Remote repository Nice to Have: Some projects might have to use an existing code repository or a repository manager the forge does not provide. 20 non-functional Example: 3.1 GNU/Linux distribution supported (Debian, Ubuntu server) Required: Chosen OS is Debian GNU/Linux or Ubuntu Server
Putting weights and scores on criteria Three levels 3 weights: Required (w=4): forge removed from the list if not absent Important (w=3): important Nice to have(w=1) : not required Critère \ Score 0 1 Scores from 0 to 3: 0 : absent 1 : insufficient 2 : good 3 : excellent 2 3 Indispensable(x4) Souhaitable(x3) X Accessoire(x1) score CETIC = coef crit scorecrit crit
CETIC method results Forges comparison Gforge-4/FusionFroge Name LibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 Score CETIC 250 300 350 400
QSOS Method ATOS software Version 1.6-2006 A method for Qualification and Selection of Open Source Software
QSOS Method 1.Use existing QSOS form dedicated to forges `
QSOS Method 1.Use existing QSOS form dedicated to forges 2. QSOS editor Firefox plugin `
QSOS Method 1.Use existing QSOS form dedicated to forges 2. QSOS editor Firefox plugin ` 3. Not modified
QSOS Method 1.Use existing QSOS form dedicated to forges 2. QSOS editor Firefox plugin ` 4. comparison Of radar diagrams 3. Not modified
gforge-4.8/fusionforge
libresource-2.5
emforge-0.28
redmine-0.8
gforge-4.8/fusionforge
libresource-2.5
emforge-0.28
Forge Selection Process conclusion Remember best score for CETIC method: redmine-0.8 And best score with QSOS method: redmine-0.8 Easy choice!
https://forge.pallavi.be/ pallavi.cetic.be (public forge) 10 users 6 OSS projects 70mb backup (fichiers/svn/database) Well...
https://forge.pallavi.be/projects
Joker! (forge.cetic.be) Another redmine instance @ CETIC is more successful! forge.cetic.be (private forge) 155 users 62 projects 500MB backup (fichiers/svn/database)
Feedback (1/3) PALLaVI forge Small/Stable Open Source Software projects Customized services not yet implemented Hard without it to attract new projects
Feedback (2/3) CETIC forge Quite hard to install/configure ruby on rails + montgrel + apache + mod_proxy Stable Easy theming A lot of documentation management/filesharing: european project proposals, shared space with clients Even though wiki syntax is a not used to its full potential Competition with a plone repository Happy users Happy admin Happy clients they want their own forge at home
Feedback (3/3) Since installation (mid 2009): No time for migration to new versions Users groups, projects nesting would be useful Calendar, gantt, time management are not well used (or not at all) Most-wanted feature: Archive a project after its end. And being able to reload it or give it to the client Cross-forge migration, similar to: "Project: Cross-Forge Migration - Summary Cross-Forge Migration Tool is a concept for facilitating the migration process of project metadata between forge platforms. It uses SWRL rules for mapping and OWL-S standard for exporting mapping results." https://developer.berlios.de/projects/xfmigration/
Credits/References Full description of the forge selection process: CELLaVI Exploration du monde des forges 2008-10-20 All QSOS, oocalc files and install scripts are available on demand. Send me an email. Forge picture: Barry Ennor http://www.flickr.com/photos/ennor/175515075/ Creative Commons - Attribution-NonCommercial-ShareAlike 2.0 Generic The OSS Forge Ecosystem: Today and Tomorrow Nate Oostendorp, Product Director for SourceForge at GeekNet Inc http://oss2010.org/drupal5/node/15 Slides: http://j.mp/akhwuo QSOS Forges template: http://www.qsos.org/templates/forge_fr.qsos QSOS editor Firefox plugin: http://www.qsos.org/tools/xuleditor-firefox-0.9.xpi
Thanks! Contacts: joseph.roumier@cetic.be etienne.charlier@cetic.be CETIC a.s.b.l. Bâtiment Éole Rue des Frères Wright, 29/3 B-6041 Charleroi (Belgique) T. +32 71 490 700 F. +32 71 490 799 info@cetic.be