Retour d'expérience sur le choix d'une forge logicielle...

38
Retour d'expérience sur le choix d'une forge logicielle / Choosing a software forge [email protected] twitter/identi.ca: jrcetic [email protected] rmll2010 – 07/07/2010

Transcript of Retour d'expérience sur le choix d'une forge logicielle...

Page 1: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 2: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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)

Page 3: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

• Présentation des forges logicielles, de leurs principales fonctionnalités et instances, et d'ordres de grandeur du domaine.

Page 4: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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.

Page 5: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350
Page 6: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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/

Page 7: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 8: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 9: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 10: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

FusionForge/gForge - 4.8

Page 11: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

LibreSource - 2.5

Page 12: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

EmForge - 0.28

Page 13: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

Redmine - 0.8

Page 14: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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?

Page 15: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 16: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 17: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 18: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

QSOS Method

• ATOS software• Version 1.6 - 2006• A method for “Qualification and

Selection of Open Source Software”

Page 19: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

QSOS Method

`

1.Use existingQSOS formdedicated to

forges

Page 20: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

QSOS Method

`

1.Use existingQSOS formdedicated to

forges

2. QSOS editorFirefox plugin

Page 21: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

QSOS Method

`

1.Use existingQSOS formdedicated to

forges

2. QSOS editorFirefox plugin

3. Not modified

Page 22: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

QSOS Method

`

1.Use existingQSOS formdedicated to

forges

2. QSOS editorFirefox plugin

3. Not modified

4. comparisonOf radar diagrams

Page 23: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

gForge-4.8/FusionForge

Page 24: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

libreSource-2.5

Page 25: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

emForge-0.28

Page 26: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

redmine-0.8

Page 27: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

gForge-4.8/FusionForge

0

5

10

Page 28: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

libreSource-2.5

0

5

10

Page 29: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

emForge-0.28

0

5

10

Page 30: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

Forge Selection Process conclusion

• Remember best score for CETIC method: redmine-0.8

• And best score with QSOS method: redmine-0.8

• Easy choice!

Page 31: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

• pallavi.cetic.be (public forge)• 10 users• 6 OSS projects• 70mb backup

(fichiers/svn/database)

• Well...

https://forge.pallavi.be/

Page 32: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

https://forge.pallavi.be/projects

Page 33: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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)

Page 34: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

Feedback (1/3)

• PALLaVI forge• Small/Stable• Open Source Software projects• Customized services not yet

implemented– Hard without it to attract new projects

Page 35: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 36: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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/

Page 37: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

Page 38: Retour d'expérience sur le choix d'une forge logicielle ...2010.rmll.info/IMG/pdf/forges-rmll2010-jr-v0-8.pdfLibreSource-2.5 EmForge-0.28 Redmine-0.8 0 50 100 150 200 250 300 350

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

[email protected]