Retour d'expérience sur le choix d'une forge logicielle...
Transcript of Retour d'expérience sur le choix d'une forge logicielle...
Retour d'expérience sur le choix d'une forge logicielle
/ Choosing a software forge
[email protected]/identi.ca: jrcetic
[email protected] – 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.
• 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.
• Famous free software being developed on forges:
• 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
• 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/
Name
gForge/FusionForge
LibreSource
Savane
gForge AS
Collabnet
SourceForge Entreprise Edition
Launchpad
emForge
Picoforge
Redmine
Codeplex
InDefero
NovaForge
Selection Method
• Identify strong exclusion criteria
• 13 forges -> 4 forges
• Generic/specific criteria
• Based on CELLaVI goals
• Define notes and weight for each instance
• 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
Identify strong exclusion criteria
•Red:
•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
Forge Déployable LicenceLibre
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
SourceforgeEE
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
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
• Scores from 0 to 3:
• 0 : absent
• 1 : insufficient
• 2 : good
• 3 : excellent
Critère \ Score 0 1 2 3
Indispensable(x4)
Souhaitable(x3) X
Accessoire(x1)
scoreCETIC=∑crit
coef crit×scorecrit
CETIC method results
Gforge-4/FusionFroge
LibreSource-2.5
EmForge-0.28
Redmine-0.8
0 50 100 150 200 250 300 350 400
Forges comparison
Na
me
Score CETIC
QSOS Method
• ATOS software• Version 1.6 - 2006• A method for “Qualification and
Selection of Open Source Software”
QSOS Method
`
1.Use existingQSOS formdedicated to
forges
QSOS Method
`
1.Use existingQSOS formdedicated to
forges
2. QSOS editorFirefox plugin
QSOS Method
`
1.Use existingQSOS formdedicated to
forges
2. QSOS editorFirefox plugin
3. Not modified
QSOS Method
`
1.Use existingQSOS formdedicated to
forges
2. QSOS editorFirefox plugin
3. Not modified
4. comparisonOf radar diagrams
gForge-4.8/FusionForge
libreSource-2.5
emForge-0.28
redmine-0.8
gForge-4.8/FusionForge
0
5
10
libreSource-2.5
0
5
10
emForge-0.28
0
5
10
Forge Selection Process conclusion
• Remember best score for CETIC method: redmine-0.8
• And best score with QSOS method: redmine-0.8
• Easy choice!
• pallavi.cetic.be (public forge)• 10 users• 6 OSS projects• 70mb backup
(fichiers/svn/database)
• Well...
https://forge.pallavi.be/
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:
• 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: [email protected]@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