Dynamically querying external (sub) projects properties with RDF in FusionForge

I’ve been working recently on two plugins for FusionForge. The work is somehow a POC for some COCLICO dynamic interoperability work-package, but some outcomes may actually be of use someday in real life, who knows 😉

The first plugin is called extsubproj, and allows the definition of links to external subprojects (i.e. hosted on another forge), in the properties of a FusionForge project. It’s basically managing a set of stored URLs and displaying them in the top project’s summary page. Nothing fancy, so far, and the code is not yet finished, nor pushed to FusionForge’s trunk yet.

The second plugin, called doaprdf, allows the publication, by the forge, on the same URL as the project summary page (those URLs are standardized in FusionForge in the form : http://.../projects/projname), of a RDF+XML description of some of the project’s metadata, using the DOAP dialect. This works with content-negotiation, following principles of the Linked Data paradigm, so that the same URL, when requested for HTML, renders a Web page (the forge project’s summary page) meant for humans^geeks, and when queried with a special content type Accept HTTP header (Accept: application/rdf+xml), meant for machines.

Now, when you combine these two, you gain the possibility of having extsubproj display not only the suprojects’ URLs, but also some of their meta-data, for instance a link in the form of <a href="http://.../projects/projname">fetched doap:name</a>.

The POC illustrates how one may then construct a hierarchy of (public so far) projects and sub-projects accross the buondaries for different forges databases, and display them in a similar manner as local projects (for instance, what the FusionForge plugin projects-hierarchy provides), through dynamic query of the remote project’s properties fetched on demand and modeled in a generic dialect (RDF with common ontologies such as DOAP).

Note that a similar FusionForge plugin “foafprofile" is being developped too for users profiles, using RDF and FOAF.

Stay tuned for more content in the same vein.

Forges mutualisées, dans le rapport “L’industrie du logiciel”

Je viens de parcourir l’excellent rapport sur “L’Industrie du Logiciel” (en France : une analyse et des propositions pour l’enseignement et la recherche).

Il contient, entre autres sujets de réflexion et propositions, une analyse des modes de financement des forges de développement de logiciel du monde académique.

Je vous livre l’extrait en question (ai replacé les liens en notes de bas de page comme des liens dans le texte):

6.3 Des modes de financement des infrastructures de recherche peu adaptés au logiciel

Dans l’effort actuel de financement de la recherche, certains instruments ont été conçus pour soutenir des investissements importants dans des infrastructures collectives en se basant sur le modèle issu des grandes installations de la physique ou de l’astrophysique. L’État alloue des crédits exceptionnels, parfois considérables pour financer la construction d’un grand équipement de recherche (un accélérateur de particules, un télescope, …) laissant aux “opérateurs de la recherche” (CNRS notamment) le soin de recruter et d’affecter le personnel qui va l’utiliser.

Ce modèle d’intervention de l’État est inadapté pour financer les “forges à logiciel” modernes qui sont indispensables aux grands développements collaboratifs des technologies logicielles de demain. En effet, la part principale de coût de ces infrastructures est le coût des personnels. En particulier, elles ne trouvent leur pleine efficacité que si des ingénieurs de recherche en nombre suffisant y sont affectés, permettant de finaliser et professionnaliser les prototypes logiciels, de maintenir les outils et plateformes logicielles de développement et de former les utilisateurs nouveaux entrants.

L’essor du Cloud Computing permettrait par exemple de construire des forges ou des centres de données mutualisés qui réduiraient énormément les couts et augmenteraient l’efficacité du développement, mais des initiatives de ce genre n’entrent pas dans la définition des infrastructures de recherche actuellement financées, les montants d’investissement étant trop faible, et la part de fonctionnement trop importante.

Les forges existantes fonctionnent plus ou moins en vase clos. La forge du CRU accepte par exemple la création de projets venant de l’ensemble des universités, mais elle refuse les projets étudiants et fonctionne à l’intérieur du monde universitaire, sans ouverture réelle sur le monde des entreprises. La forge de l’INRIA est une des plus significatives de France, et elle rend un service appréciable aux équipes propres ou associées à cet institut.

Le besoin de créer une forge au niveau du CNRS a été exprimé formellement et une proposition de réfléchir à une forge au niveau enseignement supérieur et recherche existe aussi .

Ces outils existants et ces projets ne prennent pas (ou imparfaitement) en compte les besoins d’articulation entre le monde académique et celui des entreprises pour faire éclore les innovations technologiques logicielles ; ils ont aussi tendance à oublier que le développement collaboratif est un besoin qui ne se limite pas au code, mais se retrouve aussi dans l’écriture de documents techniques.

L’innovation logicielle prenant place dans des “écosystèmes” décloisonnés, ces forges doivent être accessibles à tous les acteurs d’un développement innovant, chercheurs d’organismes différents, PME partenaires, pôles de compétitivité, etc.

Laisser le soin aux opérateurs (CNRS, INRIA, CEA, universités) de déployer séparément de telles infrastructures sans que celles-ci ne soient mutualisées est donc contre-productif.

Il serait très préférable d’avoir une structure mutualisée offrant des « vues » spécialisées par types de développements (par ex.: mondes virtuels 3D et jeux, internet d’objets, etc.) ayant des besoins différents, mais ouvertes à tous les acteurs concernés, et qui puissent :

  • héberger non seulement le développement collaboratif du code, mais aussi de la documentation technique associée, voire même l’écriture collaborative d’articles scientifiques dans le domaine ;
  • prévoir explicitement l’hébergement de projets étudiants, et leur possible évolution dans le temps vers un cadre plus institutionnel ou international ;
  • prévoir explicitement un lien et un échange de métadonnées avec les autres forges, notamment industrielles ou internationales ;
  • permettre de suivre l’activité des contributeurs dans le temps, ce qui peut aider les étudiants à constituer facilement un bilan objectif de leurs compétences logicielles pour leur curriculum.

La mutualisation ne vise pas seulement à partager les coûts des investissements matériels (assez modestes si l’on utilise des serveurs virtualisés), mais surtout à mutualiser ces compétences qui à terme forment une part essentielle de la valeur de ces plateformes communes. Dans cet esprit, il nous parait souhaitable que l’alliance ALLISTENE, en liaison avec les pôles de compétitivité, organise une réflexion sur la création et le fonctionnement d’une ou plusieurs forges nationales, fédératives et ouvertes à tous les acteurs concernés, et la mise en place, indispensable, d’un programme de recherche multidisciplinaire sur les environnements collaboratifs qui guide l’évolution dans le temps de ces forges.

Proposition n°12 : Confier à ALLISTENE, en liaison avec les pôles de compétitivité, une mission de préfiguration d’infrastructures de développement collaboratif, adaptées à un type de développement particulier, et dotées des moyens nécessaires en personnel pour mener leurs activités de manière pérenne.

Bien évidamment, l’analyse me semble très pertinente, et la proposition me semble aller dans le bon sens, même si je ne sais pas si ALLISTENE est le meilleur porteur pour cela.

Quick report from OSLC meetup in Paris last week

Last week, as part of the COCLICO project‘s efforts to work on forges interoperability issues, we invited partners and contacts for a short meetup in Paris, with a special guest, Steve Speicher, lead of the OSLC-CM domain work-group.

Steve was in Paris to speak at the Open World Forum 2010 in the forges interoperability track. As time slots at OWF were quite short, we proposed to have this meetup a few days earlier to be able to have more detailed discussions and demos.

Steve has presented the following slides : OSLC Specifications for Interoperability and a screencast of AJAX interaction between an OSLC-CM server and a consumer.

On our side, we made a quick demo (a screencast actually) of our Mantis add-on for OSLC-CM.

We have discussed several technical aspects of OSLC, and also the community of actors working on the specifications. Regarding the french speaking community, there doesn’t seem to be an urgent need to have a specific structure setup so far, but we will nevertheless probably continue sharing content in french whenever we have some time.

I’ve been very glad to meet Steve, and hopefully, there are gonna be other times for new meetups. Why not a formal OSLC conference some day ?

In the meantime, feel free to tell us if you’d like to discuss OSLC and forges interoperability.

COCLICO project’s efforts towards better forges interoperability (long)

Abstract

I’ve given a talk in the recent Open Forges Think Tank track of Open World Forum, which was organized by Christian Rémy from Bull, also a partner in the COCLICO project (btw, thanks Christian, this was a great track, with several interesting presentations and a great panel).

I’ve had the privilege to speak on behalf of the whole COCLICO project, in the afternoon session which was focused on forges interoperability.

This article will somehow be a transcript of what I’ve said (or intended to say), with the accompanying slides available here.

In this quite long piece, I’ll first recap some of the context elements about the COCLICO project. Then I will describe the interoperability issues that I’ve tried and focused on in my presentation, including the issues of project lock-in in the forges. I’ve tried also to describe the current ideas we’ve elaborated in the project to address these issues of interoperability (including our plans for open standards elaboration for forges interoperability). I finally conclude with a proposal to join the PlanetForge community for all interested parties.

Unfortunately, not all of these ideas are currently yet properly documented on the COCLICO website, so I hope this article will serve as a useful reference for what COCLICO is doing, still being a subjective piece of my own views, not necessarily representing those of other COCLICO participants, nor a precise description of what we’ll manage to achieve in COCLICO or PlanetForge.

Continue reading “COCLICO project’s efforts towards better forges interoperability (long)”

My presentation about COCLICO and forges interoperability at OWF 2010

I’ve given a talk on Friday 1st of October at Open World Forum 2010 (OWF) in the (not necessary all so much) Open Forges Think Tank track on behalf of the COCLICO project and some of our (or mine) ideas on forges interoperability.

I’ll try and prepare a more detailed textual version of all these ideas (worth adding to the project deliverables maybe ?), but here’s already a link to the slides (attention: 5 Mb). Actually I’ve slightly modified them after my speech before posting them, as I added some more comments in last minute that may have deserved a bullet of their own. EDIT: I’ve finally posted a textual version of my ideas.

Here’s also a crappy preview online, as it seems slideshare doesn’t like the fonts used by this beamer presentation :