Visualizing contributions in a forge -Case study on PicoForge

25
Visualizing contributions in a forge Case study on PicoForge Olivier BERGER, Quang-Vu DANG TELECOM & Management SudParis (ex. GET/INT) INF Departement <[email protected]> 10/09/2008 WOPDASD @ OSS 2008 Milano (Italy)

description

We advocate the use of RDF to plug process analysis tools to the forges, allowing the transfer of semantic information, and the integration of visualization in the forges to feedback to open-source developpers

Transcript of Visualizing contributions in a forge -Case study on PicoForge

Page 1: Visualizing contributions in a forge -Case study on PicoForge

Visualizing contributions in a forgeCase study on PicoForge

Olivier BERGER, Quang-Vu DANGTELECOM & Management SudParis (ex. GET/INT)INF Departement<olivier.berger@it­sudparis.eu>

10/09/2008WOPDASD @ OSS 2008Milano (Italy)

Page 2: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 2 WOPDASD @ OSS 2008

Summary

IntroductionSemantic Web standards (RDF)Visualizing contributions in a forgeCase study on PicoForge

Page 3: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 3 WOPDASD @ OSS 2008

Context of Vu's PhD thesis

OSS Software development• Collaborative development environments : Forges• Provide collaborative tools: Source versioning,

Mailing list, Wiki, Bug tracker, forum, chat ...

Missing features• Give users a vision of the project's status• Provide visualisations about the process of

production• Predict the evolution of project and community

Page 4: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 4 WOPDASD @ OSS 2008

Objective of Vu's PhD thesis

Measuring software quality by focusing on process• Find metrics to measure quality of the process• Find relationship between the quality of the product and

the quality of the process

Develop a “Supervision” Tool in a forge• Help to improve community awareness• Provide indicator for analysis of process/product quality

Page 5: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 5 WOPDASD @ OSS 2008

Plug analysis tools to forges : RDF

svn ...bug svn ...bugData public

Tools

Results

CVSAnalyMailingListStatsSLOCCount...

[http://flossmetrics.org/sections/deliverables/docs/deliverables/WP2/D2.1-Retrieval_System_Design.pdf]

Page 6: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 6 WOPDASD @ OSS 2008

Data collection approach

Extract and standardize semantical data from collaborative tools• Forge's tools provide RSS feeds to track activity• A RSS item is the result of an action

Enrich information in the RSS/RDF semantically• using FOAF, DOAP, DC, etc.

Collect all RSS feeds of a project

Page 7: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 7 WOPDASD @ OSS 2008

New potential ?

Live information

Across tools, across platform=> Real time and complete vision about project and

community

Using Semantic Web standards => Publish semantic notifications of project activity

Page 8: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 8 WOPDASD @ OSS 2008

What Is RDF?

Resource Description Framework• RDF Graph: a set of RDF Triples• RDF Triples: a 3-tuple: (Subject, Predicate, Object)• XML format using predefined vocabularies• Predicates typed in Schemas

General Standards : schemas• RDF (RDFS, etc.) : RDF machinery• Dublin Core (DC) : documentation meta-info• RSS 1.0 : news• + Your own schemas (consensus / standard)

Brings semantic “namespaces” to XML documents

Page 9: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 9 WOPDASD @ OSS 2008

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ex="http://example.org/stuff/1.0/"> <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar" dc:title="RDF/XML Syntax Specification (Revised)"> <ex:editor> <rdf:Description ex:fullName="Dave Beckett"> <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/> </rdf:Description> </ex:editor> </rdf:Description></rdf:RDF>

RDF Model Example

Page 10: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 10 WOPDASD @ OSS 2008

RSS

RSS: Web content syndication format (Really Simple Syndication)• channel: title, description, link,...• item: title, description, link, pubDate, author ...

RSS 1.0: RDF Site Summary• Extensible with other RDF standards

0.91 0.92 2.0 Atom

0.9 1.0

Simple: Plain XML

Extensible: RDF/XML

Page 11: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 11 WOPDASD @ OSS 2008

Friend Of A Friend (FOAF)

XML/RDF Schema to describe people and the relationships between them and the things they create and do

FOAF Basics• foaf:name, foaf:nick, foaf:mbox, ...

Personal Information• foaf:knows, foaf:currentProject, foaf:publications,

foaf:topic_interest, ...

[http://xmlns.com/foaf/spec/]

Page 12: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 12 WOPDASD @ OSS 2008

Page 13: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 13 WOPDASD @ OSS 2008

[http://xml.mfd-consult.dk/foaf/explorer/]

Page 14: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 14 WOPDASD @ OSS 2008

Description Of A Project (DOAP)

XML/RDF schema to describe software projects and in particular open source projects.

Vocabulary• name, homepage, description, created,mailing-list ...• developer, maintainer, translator ... • repository, bug-database, screenshots,

release/version ...DOAP stores

• http://doapstore.org/ and http://doapspace.org/• http://www.sourcekibitzer.org/

[http://trac.usefulinc.com/doap]

Page 15: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 15 WOPDASD @ OSS 2008

Page 16: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 16 WOPDASD @ OSS 2008

Page 17: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 17 WOPDASD @ OSS 2008

RSS Example

<rss:channel> <rss:title>projetA</rss:title> <rss:description>

WebSVN RSS feed – projetA </rss:description> <rss:link>http://forgedemo.org/projetA.html </rss:link> <doap:Project> <doap:name>projetA</doap:name> <rdfs:seeAlso>

http://forgedemo.org/projetA.rdf </rdfs:seeAlso> </doap:Project></rss:channel>

Page 18: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 18 WOPDASD @ OSS 2008

RSS Example

<rss:item> <rss:title>minor fixes in version 2 branch </rss:title> <rss:link>http://forgedemo.org/projetA</rss:link> <rss:description> Rev 2463 - toto (3 file(s) modified) minor fixes in version 2 branch</rss:description> <foaf:person>

<foaf:nick>toto</foaf:nick><foaf:mbox>[email protected]</foaf:mbox><rdfs:seeAlso>http://forgedemo.org/toro.rdf</rdfs:seeAlso>

</foaf:person> <dc:date>Mon, 02 Jun 2008 22:18:02</dc:date></rss:item>

Page 19: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 19 WOPDASD @ OSS 2008

Data analysis

Metrics• The total number of actions• Number of active members with the number of

actions of each members• Number of used tools with numbers of actions in each

toolConstructing Social Network

• Heterogeneous relationships: co-commit on SVN, co-drafting on Wiki or discussion on mailing list, bug tracker

Activity Pattern Analysis• monthly activity, daily activity, hourly activity

Page 20: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 20 WOPDASD @ OSS 2008

Supervision tool on PicoForge

DirectoryLDAP

PortalProject

TWiki Sympa WebSVN Mantis

Publicfeeds

Semantic DataBase

RDF Document

RSS Document

FOAF Document

DOAP Document

Supervisionmodule

Page 21: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 21 WOPDASD @ OSS 2008

Supervision tool on PicoForge

Implementation• RSS_PHP [http://rssphp.net/]

- RSS/XML parser using DOMDocument

• RAP [http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/]- RDF API for PHP- parse, store, query, manipulate, serialize and serve RDF

• LibChart [http://naku.dohcrew.com/libchart/]- a PHP library to create charts such as Bar charts (horizontal or

vertical), Line charts, Pie charts

• TouchGraph [http://www.touchgraph.com/]- visualization of graphs such as social networks

Page 22: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 22 WOPDASD @ OSS 2008

First results

Page 23: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 23 WOPDASD @ OSS 2008

First results

Page 24: Visualizing contributions in a forge -Case study on PicoForge

Olivier BERGERPage 24 WOPDASD @ OSS 2008

Conclusion

RDF may provide a realtime feed of open source projects/process facts from forges to analysis tools

Integration in researchers' workflows ?Semantics information (standardization ?)Feedback to the communities realtimeBetter community awarenessCalibration of research methodology (feedback

from developpers) ?Privacy issues ?Use of other meta-info formats

(microformats ?)

Page 25: Visualizing contributions in a forge -Case study on PicoForge

WOPDASD @ OSS 2008

Copyright / license

This presentation is Copyright :• Quang Vu DANG• Olivier BERGER• Institut TELECOM, SudParis

License• This work is licensed under a Creative Commons

Attribution-Share Alike 2.5 License.• (The license can be found in

http://creativecommons.org/licenses/by-sa/2.5/)