SlideShare a Scribd company logo
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion




                  Interoperability of FLOSS forges;
        lessons from the COCLICO project, implemented in
                  FusionForge and other platforms

                 Olivier Berger <olivier.berger@telecom-sudparis.eu>,
                                  Télécom SudParis
                    Christian Bayle <christian.bayle@orange.com>
                                     Orange Labs



                                        Thursday 11/10/2012
                                       Open World Forum - Paris
Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Quick Introduction


Short bio

          Olivier BERGER
          <olivier.berger@telecom-sudparis.eu>
          Research Engineer at TELECOM SudParis, expert on software
          development forges, and interoperability in Libre Software
          development projects. Contributor to FusionForge, Debian, etc.
          Participated to COCLICO project (ended 10/2011).
          Christian BAYLE
          <christian.bayle@orange.com>
          Research engineer at Orange Labs, in Grenoble (France), in
          charge of deploying FLOSS software for developers, like
          Software Forges, Continuous integration as a service.
          Contributes to FusionForge and Tuleap forges, Debian
          maintainer, and participated in COCLICO project (FUI7) in the
          previous years.



Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



FusionForge


FusionForge
      https://fusionforge.org/
              Formerly known as GForge (Libre version)
                    inherited its codebase from the initial SourceForge (year 2000)
              Host your own forge (Linux, Postgres, PHP, etc.)
              FLOSS + Open Community (loose consensus)
              Used in many academic institutes (INRIA, SourceSup
              RENATER, IFREMER, . . . ), FLOSS projects (Debian’s Alioth,
              ...)
              Boosted by project COCLICO in 2010-2011
              Christian and Olivier co-maintainers of the Debian packages
              FusionForge 5.2 released on 2012/09/28
Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Previously, at OWF


Recap 2011

      Last year at OWF 2011 (OSDCFr) :
      Jailbreaking the Forges : project export/import efforts
      Since then :
              COCLICO project finished
              Codendi -> Tuleap
              Some contributions to FusionForge in 5.2
              Some interest in OSLC
              ADMS.SW 1.0 specification released
              not much effort in ForgePlucker


Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
1/4




        Forge architecture
      Integration strategies
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Different current architectures


Architectures & development models

              From scratch / comprehensive
                     Can you compete with GitHub or other proprietary tools ?
              Integration of other FLOSS projects
                     SSO, APIs, via Unix / Apache / PHP glue/hacks
              Services
                     Components / Web Services
              Web 2+ mashups
                     REST, Ajax
              Unhosted
              (.org) ?


Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Git SCM code
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Different current architectures


Common plugins

              Common Sourceforge™ inheritance
                     Common Theme functions
                     Codendi™ /Tuleap™ plugin system derivated from Gforge
                     OSE/FusionForge
              They made it because they didn’t know it was impossible
                     Common plugin were realized for
                     Mailman/Forumml/Hudson/Mediawiki
                     Possible continuation with ADMS.SW, industrialisation of
                     Mediawiki
              But hard to industrialize and keep synced
                     Leading to duplicated effort


Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
2/4




         Hosted, cloud. . .
               Silos
      Who owns your data/code
         Can you escape ?
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Breaking forge silos with Linked Open Data approach


Data portability



              software is libre (well most of it ;-)
              (software development) data jailed in services (silos)
                    even worse at the Cloud scale ?
                            “Freedom in the Cloud” by Eben Moglen
                            “Franklin Street Statement on Freedom and Network Services”




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



How we could solve this


(Semantic) Web Standards
              REST (not yet so much of a standard. . . but LDP WG @
              W3C)
              RDF (not necessarily XML)
              Linked (Open) Data




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
3/4




      Some solutions
Intoduction       Forges architecture    Breaking silos      Integration of forges with other tools   Conclusion



Tools integration and interoperability


Software development tools integration issues

              Lots of different (legacy) systems in respective silos
              Integrated suites
                      Open Source tools or Proprietary Software alike
                      Software development forges
              Agile methodologies vs. monolithic suites
              Traceability
              Scalability
              Very poor interoperability
                      Syntactic
                      Semantic


Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction       Forges architecture    Breaking silos      Integration of forges with other tools   Conclusion



Tools integration and interoperability


Integration with silos




              Tools are “natively” integrated in isolated suites
              Ad-hoc interfaces : no standardization


Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction       Forges architecture    Breaking silos      Integration of forges with other tools   Conclusion



Tools integration and interoperability


Linked lifecycle data
      OSLC (Open Services for Lifecycle Collaboration) : http ://oslc.co/




       Source : IBM/Rational
Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction       Forges architecture    Breaking silos      Integration of forges with other tools   Conclusion



Tools integration and interoperability


Example : OSLC Compact preview of FusionForge users

      Resources linking and preview through standardized mechanism for
      URIs + AJAX preview




      http://fusionforge.org/plugins/mediawiki/wiki/fusionforge/index.php/OslcCompactPreviewTooltips



Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction       Forges architecture    Breaking silos      Integration of forges with other tools   Conclusion



Tools integration and interoperability


Continuous integration : FusionForge + JenkinsCI




      Demo : http://vimeo.com/23480321

Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



ADMS.SW


Vision EC / ISA

      Vision for an enhanced federation of software forges




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



ADMS.SW


Goal : Federations of forges / directories




      Source : SEMIC.EU D5.1.1 – “Vision document : The vision for an enhanced software description

      metadata schema and federated software catalogue”

Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



ADMS.SW


ADMS.SW


      Asset Description Metadata Schema for Software (ADMS.SW)

          Pilot : EC / Interoperability Solutions for
          European Public Administrations (ISA) -
          cf. Joinup site
          Exchanging project / packages / releases
          descriptions across development platforms
          and directories




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



ADMS.SW


Specifications + RDF Schema



              Reuse :
                    ADMS / RADion (generic meta-data for semantic assets
                    indexing)
                    DOAP (Description of a project)
                    SPDX™ ( Software Package Data Exchange ®)
                    W3C Government Linked Data (GLD) Working Group
              version 1.0 issued 2012/06/29




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



ADMS.SW


ADMS.SW main concepts




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction       Forges architecture           Breaking silos          Integration of forges with other tools   Conclusion



ADMS.SW


Implementation

              FusionForge plugin for project meta-data (reuse of the
              DOAPRDF plugin developped in COCLICO)
              Debian PTS (Package Tracking System) : 1.5 M triples
              PREFIX doap : <h t t p : / / u s e f u l i n c . com/ n s / doap>

              SELECT ∗ WHERE
              {
                GRAPH <h t t p : / / p a c k a g e s . qa . d e b i a n . o r g />
                {
                  ? dp doap : homepage ? h
                }
                GRAPH <h t t p : / / p r o j e c t s . a p a c h e . o r g />
                {
                  ? ap doap : homepage ? h
                }
              }




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



ADMS.SW


Matching packages

      Example (Matching upstream project homepages with Debian
      source packages’)
              dp                             h                             ap
              ivy                            ant.a.o/ivy/                  ant.a.o/ivy/
              apr                            apr.a.o/                      apr.a.o/
              apr-util                       apr.a.o/                      apr.a.o/
              libcommons-cli-java            commons.a.o/cli/              commons.a.o/cli/
              libcommons-codec-java          commons.a.o/codec/            commons.a.o/codec/
              libcommons-collections3-java   commons.a.o/collections/      commons.a.o/collections/
              libcommons-collections-java    commons.a.o/collections/      commons.a.o/collections/
              commons-daemon                 commons.a.o/daemon/           commons.a.o/daemon/
              libcommons-discovery-java      commons.a.o/discovery/        commons.a.o/discovery/
              libcommons-el-java             commons.a.o/el/               commons.a.o/el/
              libcommons-fileupload-java      commons.a.o/fileupload/        commons.a.o/fileupload/
              commons-io                     commons.a.o/io/               commons.a.o/io/
              commons-jci                    commons.a.o/jci/              commons.a.o/jci/
              libcommons-launcher-java       commons.a.o/launcher/         commons.a.o/launcher/
              ...                            ...                           ...




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
4/4




      Perspectives
       Conclusion
Intoduction      Forges architecture      Breaking silos          Integration of forges with other tools   Conclusion



Perspectives


FLOSS distributions ecosystem




      Source : http ://git.upsilon.cc/r/talks/20110224-evry.git
Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Perspectives


Large scale bug-tracking



               Lots of duplicate or related bug reports
               Not a single place where to monitor bugs
                    OK, launchpad, maybe. . . too much a silo anyway
               No interoperability of tools
               Manual work of maintainer / QA (bug triaging, etc.)




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Perspectives


Bugtracker interoperability prerequisite




               No existing standard for bugtracker APIs
               . . . until OSLC-CM (2009-)




Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Intoduction      Forges architecture     Breaking silos      Integration of forges with other tools   Conclusion



Perspectives


More interoperability in FLOSS tools

               Push standardization in tools development
                    Eclipse Mylyn support of OSLC (in the FLOSS parts), based
                    on Eclipse Lyo roots ? . . . When ?
               New opportunities
                    Open Linked Data for direct “mining” of FLOSS projects
                    development process metrics
               Large scale bug tracking and QA process in the FLOSS
               ecosystem
               Qui vivra verra. . .


Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora
Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
Fin




                               Merci.
                             Questions ?
      Copyright

      Copyright 2012 Institut Mines Telecom + Olivier Berger + Orange
      Labs + Christian Bayle
      License of this presentation : Creative Commons Share Alike (except
      illustrations which are under copyright of their respective owners)

More Related Content

PDF
Semantics at the multimedia fragment level or how enabling the remixing of on...
PDF
Open tok Android sdk - Droidcon
PDF
Open tok api_tutorials
PDF
Software development made serious
PPTX
Migrating from PDE to Tycho builds
PDF
Implementation of Hyperlinks in videos with HTML5
PDF
OWF14 - Plenary Session : Thibaud Besson, IBM POWER Systems Specialist
PDF
EOLE / OWF 12 - License compatibility analysis and components based systems i...
Semantics at the multimedia fragment level or how enabling the remixing of on...
Open tok Android sdk - Droidcon
Open tok api_tutorials
Software development made serious
Migrating from PDE to Tycho builds
Implementation of Hyperlinks in videos with HTML5
OWF14 - Plenary Session : Thibaud Besson, IBM POWER Systems Specialist
EOLE / OWF 12 - License compatibility analysis and components based systems i...

Viewers also liked (15)

PDF
OWF12/Open Standards for Cloud - Eu cloud strategy_sde_20121012
PDF
OWF13 - OSMeetup
PDF
OWF12/PAUG Conf Days Google tv part 1 (introduction) matt gaunt, advocate ...
PDF
EOLE / OWF 12 - Foss and competition law-benjamin jean (eole2012)
PDF
OWF12/PAUG Conf Days Framework android android annotations, pierre yves ric...
PDF
Report OWF 2013
PDF
OWF13 - October 3 - Raphael Ferreira
PDF
OWF14 - Legal and licensing aspects of Open Source - Procurement of open sour...
PDF
Owf12 open forges summit scott wilson, oss watch
PDF
OWF13 - October 3 - Philippe Montarges
PDF
EOLE / OWF 12 - Viral licences – myth or reality - patrice-emmanuel schmitz (...
PDF
OWF13 -October 3 - Open World Forum - Make It Happen!
PDF
OWF12/Foss for Humanity LIENS Technologies et Solidarités
PDF
OWF14 - When Open Source Fosters Open Innovation Track : Introduction
PDF
Open erp presentation business model_11 octobre 2012-2
OWF12/Open Standards for Cloud - Eu cloud strategy_sde_20121012
OWF13 - OSMeetup
OWF12/PAUG Conf Days Google tv part 1 (introduction) matt gaunt, advocate ...
EOLE / OWF 12 - Foss and competition law-benjamin jean (eole2012)
OWF12/PAUG Conf Days Framework android android annotations, pierre yves ric...
Report OWF 2013
OWF13 - October 3 - Raphael Ferreira
OWF14 - Legal and licensing aspects of Open Source - Procurement of open sour...
Owf12 open forges summit scott wilson, oss watch
OWF13 - October 3 - Philippe Montarges
EOLE / OWF 12 - Viral licences – myth or reality - patrice-emmanuel schmitz (...
OWF13 -October 3 - Open World Forum - Make It Happen!
OWF12/Foss for Humanity LIENS Technologies et Solidarités
OWF14 - When Open Source Fosters Open Innovation Track : Introduction
Open erp presentation business model_11 octobre 2012-2
Ad

Similar to Owf12 open forges summit interoperability of floss forges (20)

PDF
Jailbreaking the Forges : project export/import efforts
PDF
Coclico project - Forges Interoperability (OWF 2010)
PDF
Interoperability in forge - fossa2010
PPT
Semantic Interoperability problem of OSS Forges
ODP
Osor Launch, presentation at Open Source World Conference 2008 (Málaga, Octob...
PDF
Bug tracking à grande échelle et interopérabilité des outils de développement...
PPT
Summer school bz_fp7research_20100708
PDF
FORGE: BRINGING FIRE AND THE E-LEARNING SPHERES TOGETHER
PDF
The OSS Forge Ecosystem: Today and Tomorrow
PDF
Survival of the Forges: Do Language Trends Tell the Story?
PDF
OpenSource SmartGrid: Teeters tail-of-possibilities 8dec11
PDF
PROSE: Empowering FLOSS in European Projects
PDF
FOSS in Civil Engineering
PDF
FORGE project
PDF
The adoption of FOSS workfows in commercial software development: the case of...
PDF
PROSE platform webinar intro
PDF
IoT_Projects_in_FLOSS_Foundations.pdf
PDF
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
PPT
FOSS in Education
Jailbreaking the Forges : project export/import efforts
Coclico project - Forges Interoperability (OWF 2010)
Interoperability in forge - fossa2010
Semantic Interoperability problem of OSS Forges
Osor Launch, presentation at Open Source World Conference 2008 (Málaga, Octob...
Bug tracking à grande échelle et interopérabilité des outils de développement...
Summer school bz_fp7research_20100708
FORGE: BRINGING FIRE AND THE E-LEARNING SPHERES TOGETHER
The OSS Forge Ecosystem: Today and Tomorrow
Survival of the Forges: Do Language Trends Tell the Story?
OpenSource SmartGrid: Teeters tail-of-possibilities 8dec11
PROSE: Empowering FLOSS in European Projects
FOSS in Civil Engineering
FORGE project
The adoption of FOSS workfows in commercial software development: the case of...
PROSE platform webinar intro
IoT_Projects_in_FLOSS_Foundations.pdf
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
FOSS in Education
Ad

More from Paris Open Source Summit (20)

PDF
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
PDF
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
PDF
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
PDF
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
PDF
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
PDF
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
PDF
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
PDF
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
PPTX
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
PDF
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
PDF
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
PDF
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
PDF
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
PDF
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
PDF
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
PDF
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
PDF
#OSSPARIS19 - Table ronde : souveraineté des données
PDF
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
PDF
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
PDF
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...
#OSSPARIS19 : Control your Embedded Linux remotely by using WebSockets - Gian...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : RIOT: towards open source, secure DevOps on microcontroller-bas...
#OSSPARIS19 : The evolving (IoT) security landscape - Gianluca Varisco, Arduino
#OSSPARIS19: Construire des applications IoT "secure-by-design" - Thomas Gaza...
#OSSPARIS19 : Detecter des anomalies de séries temporelles à la volée avec Wa...
#OSSPARIS19 : Supervision d'objets connectés industriels - Eric DOANE, Zabbix
#OSSPARIS19: Introduction to scikit-learn - Olivier Grisel, Inria
#OSSPARIS19 - Fostering disruptive innovation in AI with JEDI - André Loesekr...
#OSSPARIS19 : Comment ONLYOFFICE aide à organiser les travaux de recherches ...
#OSSPARIS19 : MDPH : une solution collaborative open source pour l'instructio...
#OSSPARIS19 - Understanding Open Source Governance - Gilles Gravier, Wipro Li...
#OSSPARIS19 : Publier du code Open Source dans une banque : Mission impossibl...
#OSSPARIS19 : Libre à vous ! Raconter les libertés informatiques à la radio -...
#OSSPARIS19 - Le logiciel libre : un enjeu politique et social - Etienne Gonn...
#OSSPARIS19 - Conflits d’intérêt & concurrence : la place de l’éditeur dans l...
#OSSPARIS19 - Table ronde : souveraineté des données
#OSSPARIS19 - Comment financer un projet de logiciel libre - LUDOVIC DUBOST, ...
#OSSPARIS19 - BlueMind v4 : les dessous technologiques de 10 ans de travail p...
#OSSPARIS19 - Tuto de première installation de VITAM, un système d'archivage ...

Owf12 open forges summit interoperability of floss forges

  • 1. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Interoperability of FLOSS forges; lessons from the COCLICO project, implemented in FusionForge and other platforms Olivier Berger <olivier.berger@telecom-sudparis.eu>, Télécom SudParis Christian Bayle <christian.bayle@orange.com> Orange Labs Thursday 11/10/2012 Open World Forum - Paris Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 2. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Quick Introduction Short bio Olivier BERGER <olivier.berger@telecom-sudparis.eu> Research Engineer at TELECOM SudParis, expert on software development forges, and interoperability in Libre Software development projects. Contributor to FusionForge, Debian, etc. Participated to COCLICO project (ended 10/2011). Christian BAYLE <christian.bayle@orange.com> Research engineer at Orange Labs, in Grenoble (France), in charge of deploying FLOSS software for developers, like Software Forges, Continuous integration as a service. Contributes to FusionForge and Tuleap forges, Debian maintainer, and participated in COCLICO project (FUI7) in the previous years. Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 3. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion FusionForge FusionForge https://fusionforge.org/ Formerly known as GForge (Libre version) inherited its codebase from the initial SourceForge (year 2000) Host your own forge (Linux, Postgres, PHP, etc.) FLOSS + Open Community (loose consensus) Used in many academic institutes (INRIA, SourceSup RENATER, IFREMER, . . . ), FLOSS projects (Debian’s Alioth, ...) Boosted by project COCLICO in 2010-2011 Christian and Olivier co-maintainers of the Debian packages FusionForge 5.2 released on 2012/09/28 Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 4. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Previously, at OWF Recap 2011 Last year at OWF 2011 (OSDCFr) : Jailbreaking the Forges : project export/import efforts Since then : COCLICO project finished Codendi -> Tuleap Some contributions to FusionForge in 5.2 Some interest in OSLC ADMS.SW 1.0 specification released not much effort in ForgePlucker Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 5. 1/4 Forge architecture Integration strategies
  • 6. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Different current architectures Architectures & development models From scratch / comprehensive Can you compete with GitHub or other proprietary tools ? Integration of other FLOSS projects SSO, APIs, via Unix / Apache / PHP glue/hacks Services Components / Web Services Web 2+ mashups REST, Ajax Unhosted (.org) ? Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 8. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Different current architectures Common plugins Common Sourceforge™ inheritance Common Theme functions Codendi™ /Tuleap™ plugin system derivated from Gforge OSE/FusionForge They made it because they didn’t know it was impossible Common plugin were realized for Mailman/Forumml/Hudson/Mediawiki Possible continuation with ADMS.SW, industrialisation of Mediawiki But hard to industrialize and keep synced Leading to duplicated effort Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 9. 2/4 Hosted, cloud. . . Silos Who owns your data/code Can you escape ?
  • 10. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Breaking forge silos with Linked Open Data approach Data portability software is libre (well most of it ;-) (software development) data jailed in services (silos) even worse at the Cloud scale ? “Freedom in the Cloud” by Eben Moglen “Franklin Street Statement on Freedom and Network Services” Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 11. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion How we could solve this (Semantic) Web Standards REST (not yet so much of a standard. . . but LDP WG @ W3C) RDF (not necessarily XML) Linked (Open) Data Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 12. 3/4 Some solutions
  • 13. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Tools integration and interoperability Software development tools integration issues Lots of different (legacy) systems in respective silos Integrated suites Open Source tools or Proprietary Software alike Software development forges Agile methodologies vs. monolithic suites Traceability Scalability Very poor interoperability Syntactic Semantic Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 14. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Tools integration and interoperability Integration with silos Tools are “natively” integrated in isolated suites Ad-hoc interfaces : no standardization Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 15. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Tools integration and interoperability Linked lifecycle data OSLC (Open Services for Lifecycle Collaboration) : http ://oslc.co/ Source : IBM/Rational Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 16. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Tools integration and interoperability Example : OSLC Compact preview of FusionForge users Resources linking and preview through standardized mechanism for URIs + AJAX preview http://fusionforge.org/plugins/mediawiki/wiki/fusionforge/index.php/OslcCompactPreviewTooltips Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 17. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Tools integration and interoperability Continuous integration : FusionForge + JenkinsCI Demo : http://vimeo.com/23480321 Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 18. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion ADMS.SW Vision EC / ISA Vision for an enhanced federation of software forges Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 19. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion ADMS.SW Goal : Federations of forges / directories Source : SEMIC.EU D5.1.1 – “Vision document : The vision for an enhanced software description metadata schema and federated software catalogue” Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 20. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion ADMS.SW ADMS.SW Asset Description Metadata Schema for Software (ADMS.SW) Pilot : EC / Interoperability Solutions for European Public Administrations (ISA) - cf. Joinup site Exchanging project / packages / releases descriptions across development platforms and directories Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 21. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion ADMS.SW Specifications + RDF Schema Reuse : ADMS / RADion (generic meta-data for semantic assets indexing) DOAP (Description of a project) SPDX™ ( Software Package Data Exchange ®) W3C Government Linked Data (GLD) Working Group version 1.0 issued 2012/06/29 Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 22. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion ADMS.SW ADMS.SW main concepts Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 23. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion ADMS.SW Implementation FusionForge plugin for project meta-data (reuse of the DOAPRDF plugin developped in COCLICO) Debian PTS (Package Tracking System) : 1.5 M triples PREFIX doap : <h t t p : / / u s e f u l i n c . com/ n s / doap> SELECT ∗ WHERE { GRAPH <h t t p : / / p a c k a g e s . qa . d e b i a n . o r g /> { ? dp doap : homepage ? h } GRAPH <h t t p : / / p r o j e c t s . a p a c h e . o r g /> { ? ap doap : homepage ? h } } Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 24. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion ADMS.SW Matching packages Example (Matching upstream project homepages with Debian source packages’) dp h ap ivy ant.a.o/ivy/ ant.a.o/ivy/ apr apr.a.o/ apr.a.o/ apr-util apr.a.o/ apr.a.o/ libcommons-cli-java commons.a.o/cli/ commons.a.o/cli/ libcommons-codec-java commons.a.o/codec/ commons.a.o/codec/ libcommons-collections3-java commons.a.o/collections/ commons.a.o/collections/ libcommons-collections-java commons.a.o/collections/ commons.a.o/collections/ commons-daemon commons.a.o/daemon/ commons.a.o/daemon/ libcommons-discovery-java commons.a.o/discovery/ commons.a.o/discovery/ libcommons-el-java commons.a.o/el/ commons.a.o/el/ libcommons-fileupload-java commons.a.o/fileupload/ commons.a.o/fileupload/ commons-io commons.a.o/io/ commons.a.o/io/ commons-jci commons.a.o/jci/ commons.a.o/jci/ libcommons-launcher-java commons.a.o/launcher/ commons.a.o/launcher/ ... ... ... Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 25. 4/4 Perspectives Conclusion
  • 26. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Perspectives FLOSS distributions ecosystem Source : http ://git.upsilon.cc/r/talks/20110224-evry.git Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 27. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Perspectives Large scale bug-tracking Lots of duplicate or related bug reports Not a single place where to monitor bugs OK, launchpad, maybe. . . too much a silo anyway No interoperability of tools Manual work of maintainer / QA (bug triaging, etc.) Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 28. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Perspectives Bugtracker interoperability prerequisite No existing standard for bugtracker APIs . . . until OSLC-CM (2009-) Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 29. Intoduction Forges architecture Breaking silos Integration of forges with other tools Conclusion Perspectives More interoperability in FLOSS tools Push standardization in tools development Eclipse Mylyn support of OSLC (in the FLOSS parts), based on Eclipse Lyo roots ? . . . When ? New opportunities Open Linked Data for direct “mining” of FLOSS projects development process metrics Large scale bug tracking and QA process in the FLOSS ecosystem Qui vivra verra. . . Olivier Berger <olivier.berger@telecom-sudparis.eu>,Télécom SudParisChristian Bayle <christian.bayle@orange.com>Ora Interoperability of FLOSS forges;lessons from the COCLICO project, implemented in FusionForge and other platforms
  • 30. Fin Merci. Questions ? Copyright Copyright 2012 Institut Mines Telecom + Olivier Berger + Orange Labs + Christian Bayle License of this presentation : Creative Commons Share Alike (except illustrations which are under copyright of their respective owners)