Conférence aux journées Mathrice sur les forges logicielles

J’ai fait une présentation le 5 octobre dans le cadre des journées mathrice à Lyon, sur le sujet des forges de développement logiciel.

C’était l’occasion de faire un point rapide sur le panorama des forges, nos efforts sur l’interopérabilité dans COCLICO (qui est maintenant terminé), et de mentionner brièvement quelques grandes manoeuvres en cours sur le sujet des forges, notamment dans l’enseignement supérieur et la recherche.

Voici mes slides :

Merci aux organisateurs pour l’accueil sympathique, et les échanges intéressants.

Compact preview of resources in FusionForge

I’ve been working on the ‘compactpreview’ plugin (in FusionForge’s SVN trunk), in order to support some javascript popups that can be used to display some “compact preview” of users and projects.

As can be see in the screencast below (also here) there are 2 types of compact preview popups :

  • those for local resources of the forge, that are displayed directly, as queried by the JS code on the /users/ or /projects/ pages with a specific “application/x-fusionforge-compact+html“content-type (required in the Accept HTTP header).
  • those compatible with the OSLC compact preview specifications, that can be displayed, should any other application want to display a compact preview. Again, these are served with content-negociation for “application/x-oslc-compact+xml“, which returns a short RDF document, which points to a script of the forge in charge of rendering the HTML compact preview.

The latter is demonstrated in the screencast, for display of popups for remote projects linked to a fusionforge project with the ‘extsubproj‘ plugin I already blogged about.

This code is still new, but will hopefully extend to other forge resources.

In the meantime, I’d be glad to see other forges implement similar mechanisms.

Lecture on “Jailbreaking the Forges : project export/import efforts”

I’ll be speaking next week‘ve been at Open World Forum, in the OSDCfr track in with a speech titled “Jailbreaking the Forges : project export/import efforts”

Here are the slides (as PDF – 1.3 Mb)

Here’s a copy of the presentation I wrote.

Software forge are “data jails” in that development projects established in a forge may suffer from data lock-in if they have to, or want to, change of hosting solution.

Some of the tools allow easily to fork or move a project’s code (such as DVCS like Git, Bzr or Hg), but for other tools like bugtrackers, mailing-list managers or wikis, it’s much harder to extract data from one forge and transport it to another one. Also, users and their privileges, as well as many other metadata (who did what, and when) may suffer from such migrations.

Even though most projects don’t fell such lock-in as a high risk (even in FLOSS projects which value freedom of information, strangely), history as shown that in case of outages, hosting platforms can be quite a trap to projects.

Other hazards may happen, like unresponsive admins, forks in a community, archiving old projects while being able to restore them, do migrations, or just the wish to move to newer, cooler hosting platforms.

Despite 10 years of forge usage, it is only recently that few progress have been made in implementing standard exchange data formats and supporting tools, allowing us to envision a possible solution to these lock-in issues.

We’ll present the ForgePlucker project (initially started by esr after a few popular blog posts on the subject), and further efforts lead in the COCLICO project to provide an open and extensible standard exchange format for projects data export and import. In addition to forgeplucker, we’ll demonstrate the FusionForge import tools used as an archive/restoration mechanism.

We’ll then call for other forge implementors and advanced users to join us, for more efforts on this topic, in order to gather all the tools that are needed to make possible migrations of projects from forges to forges.

OAuth support in FusionForge, and the forge can tweets

We have been working in the frame of COCLICO on implementing support of the OAuth protocol, both as an OAuth provider/server (for instance for the needs of authentication to the OSLC server‘s Web Services), and an OAuth consumer/client.

That OAuth consumer has been put to work in order to connect to twitter’s API, so that the forge is now able to push news to tweeter and other IM services.

OAuth will, beyond twitter, allow the forge to interoperate with other web services supporting connections on behalf of users, instead of using fake accounts, or storing passwords in the databases.

All these are committed in FusionForge’s SVN trunk.