issues and challenges in collaborative development...

33
Issues and challenges in Collaborative Development Environments: LibreSource, the other forge. Stéphane Bagnier Artenum Company 101-103 boulevard Mac Donald 75019 Paris France [email protected]

Upload: others

Post on 04-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Issues and challenges in Collaborative

Development Environments:

LibreSource, the other forge.Stéphane Bagnier

Artenum Company101-103 boulevard Mac Donald

75019 ParisFrance

[email protected]

Page 2: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

License of this document

‣Author : Stéphane Bagnier, Artenum.

‣This presentation can be distributed under a Creative Commons 3.0 License:‣Attribution‣Noncommercial‣No Derivative Works

‣http://creativecommons.org/licenses/by-nc-nd/3.0/deed

Page 3: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Artenum, Paris‣independent SME, settled in Paris.

‣R&D laboratory and software editor.

‣Open Source.

‣Two activities :‣Science‣Groupware.

Page 4: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Collaborative Development Environment‣Collaborative:‣team interaction oriented‣taking into account many stake-holder profiles

‣Development:‣dedicated to software development‣tailored to manage code creation

‣Environment:‣common place‣common paradigm

‣Whereas an Integrated Development Environment (IDE) focuses upon improving the productivity of an individual developer, the purpose of a CDE is to improve the efficiency of a development team as a whole.

‣A Collaborative Development Environment (CDE) is a platform that assists stake-holders distributed in space and time in carrying out a software project.

‣As a way of team efficiency improvement, a CDE offers services in communication, coordination, data sharing and community building.

Page 5: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Proprietary ancestors and contemporaries‣Many proprietary CDE:‣HP Mercury‣Serena Dimensions‣IBM Rational ClearCase + ClearQuest‣MKS Integrity‣BitMover, Inc - BitKeeper‣Perforce‣Microsoft Visual SourceSafe ...

‣Their promise: “Sophisticated version control, automated workspace management, parallel development support, baseline management, build and release management improves productivity and operational efficiency”

‣1000+ developers, think to Adobe, Oracle, ...

Page 6: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Proprietary ancestors and contemporaries‣Configuration management for code and artefacts‣Requirements collection‣Quality assurance‣Issue and Defect Tracking‣Internal Help Desk Incident Management‣Operations Process Management‣Compliance‣Change request management‣Unified request management‣Corrective action procedures‣IT Infrastructure change requests

‣Issue/defect tracking for hardware‣Product lifecycle management‣Customer management‣Contract and proposal management‣Sales support‣...

Page 7: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Proprietary ancestors and contemporaries‣“silos”: no interoperability, several import facilities and no export...

‣if an API is provided you will certainly need a service to use it

‣Strong vendor lock-in, for years...

‣Price per installation, per user, per year, per service, per consulting, per upgrade, ...

‣Strong accountancy

‣Data sharing and reporting to stake-holders

‣Weak communication, community building and then collaborative features

‣Monolithic business oriented solutions, read not for nerds.

Page 8: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Needs for FLOSS‣FLOSS revolution introduced a new deal in the software development area

‣“My Local Area Network is called Internet”‣insulation, worldwide

‣“I am 12 years old and I want to contribute”‣heterogeneous communities, companies, institutions, individual contributors

‣“I plan to create the Russian version of your application”‣decentralized decision process

‣“A Patchy Server”‣unpredictable destiny of a project

‣“Have you got the right to license your code under GPLv3 ?”‣intellectual propriety tracking, traceability

‣Communication, coordination, data sharing and community building are strong requirements for FLOSS development.

Page 9: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Sourceforge.net‣1999: VA Linux System free web service to host open source projects.

‣Features:‣project taxonomy‣snippet library‣project dashboard‣web site hosting‣forum‣bug tracker‣support request‣task manager

‣An OpenSource web glue called Alexandria

‣Free software, using free software, for free software: quite universal hub for FLOSS

‣One Forge to rule them all, One Forge to find them, One Forge to bring them all and...

‣patch manager‣mailing list‣news‣CVS‣file downloads‣permanent file archival‣full backups‣web-based administration

Page 10: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Sourceforge.net‣2002: VA Software Corp took the Alexandria project proprietary.

‣Following the 2.5 release, development from the community slowed for a number of reasons, including the multiplicity of open-source forks :‣GForge forked from Alexandria 2.5+‣forked from Alexandria 2.5+‣Savannah forked from Alexandria 2.0‣BerliOS forked from an earlier Alexandria release‣sf-genericinst (RIP)‣X-Forge (RIP)

‣Savane became the software platform used by the Savannah web site.

‣SourceForge evolved as SourceForge Enterprise Edition and was acquired by CollabNet on 2007.

Page 11: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Gforge‣Debian-SF merged into GForge: the strongest sun of Alexandria was born‣Many plugins and mods were developed and Gforge became a fruitful solution: ‣Fiability ‣Plugins system‣Simple management interface

‣The installation and the administration of a GForge server is a real issue:‣Too “monolithic”‣Hacks done “through the back-end”‣Several immature tools ‣Lake of integration‣Delicate update of the Debian packages‣Centralized system‣Quite heavy configuration

Page 12: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Gforge, rise and fall ?‣In fact many administrators of GForge‣do a technical fork to install and customize it and cannot upgrade easily, and‣do not contribute their local modification, for several reasons.

‣If the community of users is large, the community of contributors and maintainers is weak.

‣The main developer of GForge decided to create its own proprietary fork, GForge Advanced server.

‣As GForge grown, it became more and more difficult to re-architecture, and maybe not exactly the better was to think a forge.

‣Several GForge actors want to react but a real community impulsion is still waited.

Page 13: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

CDE as a forge‣A forge is a place where tools take place

‣The forge vision transforms the CDE to an integrationenvironment of distinct tools

‣integration by the facade‣create a web site that glue distinct tools‣easy to create and to extend because each tool does not know anything about the others‣limited because each tool does not know anything about the others‣architecture issue if most of you application is a set of unrelated glue codes...

‣integration by the back-office‣create an integration logic that really understands the nature of the tools‣complex, because each tool has to know about the others‣stored data are more structured and relational‣architecture issue if you want to extend the forge

Page 14: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Trac‣ Initiated in 2003, Trac is a web based software project management platform centred around;‣a version control system,‣an issue tracker‣and a wiki

‣Even if minimalistic in term of communication features (no mailing list, forum, documentation management or download area for instance), the functions are tightly integrated to offer high level software engineering oriented services.

‣It is written in Python, maintained by Edgewall Software, and released under a modified BSD license.

Page 15: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Trac, a pocket forge‣“one project, one community, one server”‣Trac enables communities to own their forge, this fact is an important part of the success of this application

‣tight integration between version control system, issue tracker and wiki

‣Features‣Wiki‣Timeline‣Roadmap‣Source repository browser‣Issue tracker‣Search

‣Communication in Trac is more code centric than community centric.

‣Trac benefits from a good packaging and is easy to install

‣Trac is under active development and its API change often

‣Trac lacks cross project resource linking and access right management and then cannot scale to a multi-projects forge.

Page 16: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

LibreSource‣Collaborative work solution‣Software forge (CDE)‣Groupware‣Community federation‣Online Archiving‣Web publishing

‣Main advantages:‣Share documents‣Communicate‣Safely‣With a dedicated organization

‣Many scientific, industrial and academiccommunities already chose LibreSource.

Page 17: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Modular web portal

Page 18: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Modularity: the resource‣LibreSource is built up other the concept of resource.

‣Each page of LibreSource is a resource of a given type.

‣Resources are atomic bricks to build up a LibreSource site, thru the web interface.

‣Access rights are managed at the scale of the resource.

‣LibreSource encloses a coherent set of types of resource:

‣Documents sharing✓File✓Download area✓Drop box✓Synchronizer✓Subversion repository

‣Communication✓Forum ✓Wiki page✓Form✓Tracker✓Survey

‣Management✓Project✓Group✓Timeline✓Remote site✓Template of project

Page 19: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Easy navigation

Editable contextual menu

Tabs

Resource content

Login

Location Management

Page 20: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

document sharing‣Upload documents✓All types of files: text, PDF, MS/Open Office, images, videos, ...✓Add a description✓List the files✓Integrated search engine✓Confidentiality management

‣Version control system‣LibreSource Synchronizer‣Subversion

Page 21: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

‣Strong integration into LibreSource, reinforced awareness

SCM : LibreSource Synchronizer‣A software forge needs a SCM tool to preserve all the history of shared documents and to allow to collaborate efficiently on the same documents.

‣An innovating software configuration management tool called Synchronizer.

‣Yet another SCM tool ! Why ?

‣Pure JAVA tool, as portable as JAVA

‣Simplicity of use

‣3 flavors for client applications:‣Java Web Start applications‣Eclipse plugin‣Command line

‣Mathematical validation of the algorithm‣Advanced uses for software factory

Page 22: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Well, what’s new from my CVS or my SVN ?‣Based on operational transformations approaches, issued from INRIA/Loria.‣mathematic proof of convergence of the merge algorithm.‣Based on the change set model, stored in XML files.‣Track the global history of a workspace.‣Atomic commit and update.‣Rename operation on files and directories history.‣Each workspace keep a local copy of the history.‣Can make diff, undo, and track uncommitted changes or revert offline.‣Allow to know the history for each line of text files, each entry of file systems, each node of XML documents.‣Do not allow partial commit or update.‣Most of the computing load is deported on the client side.‣Simple to use and deploy: Java Web Start, pass through firewalls.‣Simple contribution tracking and real awareness.‣In addition to tickets numbers, tags are beautifully supported.

Modelling of the global developement/validation process with distributed Dataflows

Page 23: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Distributed dataflow for software factory

Release (History)

SubProject B (History)

Development team B

SubProject A (History)

Development team A

Integration (History)

Integration Validation

Tests (History)

Validation test

Page 24: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Federation of platforms‣Different LibreSource instances located on different servers can share:‣users‣groups‣users sessions (Single Sign-On)‣connexions to the same workspaces‣project description index, allowing a multi-instance search

‣Any resource or sub tree of resources can be exported via a XML file, and imported into any other LibreSource server, wherever it is.

‣Import/Export preserve organization, contents, rights and dates and users.

‣Import/Export are performed thru the web interface.

‣A project can be created on a LibreSource server and then migrate to another.

http://dev.libresource.org

http://ganesh.artenum.com

LS-ServerCommunity

LS-ServerArtenum

LS-ServerINRIA

http://libresource.inria.fr

Global Search

Page 25: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Communicate‣To discuss - instant messaging - Chat - (firewall matters)✓immediate answers to your questions✓copy/paste from documents✓indicator of presence

‣Informal discussion - Forum✓create a new thread✓answer to the others✓create links to any other page of LibreSource

‣Write online - Wiki✓create web pages with an easy syntax✓modify / extend existing pages✓create links, add pictures, tables, rich text, ...✓create quick notes✓create complex documents

‣You can be notify of any news.

Tigase

Page 26: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Communicate‣Collection of data - formal exchange - Form✓create a complete form online✓choose the shape of the answers: words, text, single item, many items✓visualize the answers and update them✓visualize the answers as a synthetic table✓export collected data to any spreadsheet

‣Quality control - Bug Tracker✓create notes (issues)✓notice a problem, an enhancement, a task or a feature✓exchange messages attached to the note✓attach files✓create links, add pictures, tables, rich text, ...✓flag the issue : priority and activity✓assign to a team member

‣You can be notify of any news.

Page 27: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

(Allmost) Everything is Wiki !‣A Wiki is a Web site content manager which enables the authorized users to add contents to a page or to modify it.

‣Wiki facilitate the collaborative writing with a minimum of constraints

‣Most of the resources in LibreSource are editable in Wiki :✓Wiki Page✓Project✓Message in forum✓Download area✓...

‣contextual menus are too !

Page 28: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

As organized as you are‣Structured like your organization:✓very readable hierarchical structure✓easy navigation✓projects / sub-projects✓groups / sub-groups✓efficient fine grain right management

‣Examples of organizations:✓department / service / unity✓an area for each engineer✓an area for each team✓an area for each event / meeting✓...

‣Structure is easy to reproduce to re-create a new instance of an environment.

overview

timeline

exemple.jpg

download

users

root

guest

...

groups

all

managers

...

/

projects

help

wikiSyntax

synchronizer

...

exempleMenu de

navigation

Menu de navigation

Menu de navigation

Menu de navigation

Menu de navigation

Page 29: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

Security‣LibreSource gather a coherent set of resources, whose safety was conceived as of creation.

‣The authentication of a user generally opens rights of access to him that the visitor does not have.

‣If a user is in a group, he profits from the rights granted to this group.

‣Each resource carries access rights which enables to determine if a user can make an action on the resource.

‣Exchanges with LibreSource can be confidential (https)

Page 30: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

LibreSource : technology‣Web Interface

‣Lightweight clients Java Web Start

‣Resources implemented as plugins (services)

‣Versatile kernel managing :‣Users (CAS Single Sign On / JAAS / LDAP)‣Inter-resources communication‣Full text search engine (Lucene)‣Notification service‣Security and access control

‣JAVA/J2EE Application

‣Industrial referentials and open standards (EJB)

‣Highly portable

‣Based on Open Source technologies (JOnAS, PostgreSQL, Tigase, Radeox, Lucene)

Utilisateurs

J2EEJames

Postgresql

Synchro

nis

eur

Bug T

racker

Maili

ng L

ist

Foru

m

Zone d

e

télé

charg

em

en

t

...

Noyau

Web JMS MailSOAP

Tigase

Page 31: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

LibreSource tomorrow‣Service Component Architecture‣Small simple components exposing well defined service interfaces‣Modular and Integrated, hot deployment and reconfiguration‣Strong industry support to the standard‣to be continued...

Page 32: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

References and following‣Collaborative Development Environments Grady Booch and Alan W. Brown Rational Software Corporation October 28, 2002

‣Les outils de collaboration pour les projets ObjectWeb 16 janvier 2006 Xavier MOGHRABI ObjectWeb Consortium INRIA Rhône-Alpes

‣Collaborative Development Environment: A State Of The Art Olivier Abdoun (INRIA) Bernard Lange (PSNC) Stéphane Laurière (Mandriva / Edge-IT) Irenka Redondo (TID) Christian Rémy (Bull) 2007-05-09

‣Second International Conference on Open SourceCollaborative Development Platforms, November 2007Paris, France

Page 33: Issues and challenges in Collaborative Development ...2007.rmll.info/IMG/pdf/LibreSource_RMLL_dev.pdf · ‣“I plan to create the Russian version of your application” ‣decentralized

To contact us‣Stéphane Bagnier

‣Artenum Company‣101-103 boulevard Mac Donald‣75019 Paris‣France

[email protected]

‣http://www.artenum.com‣http://www.libresource.org