Collaborative Software Development Using R-Forge



Similar documents
What CCPForge does Introduction to SESC and CCPForge Workshop Gemma Poulter

SOFTWARE DEVELOPMENT BASICS SED

Source Control Systems

A Crowd Method for Internet-based Software with Big Data

The OpenFOAM-extend project on SourceForge: current status. Bernhard Gschaider, ICE Strömungforschung GmbH

Version control with Subversion

ALERT installation setup

Of Penguins and Wildebeest. Anthony Rodgers VA7IRL

Advanced Computing Tools for Applied Research Chapter 4. Version control

Creating R Packages, Using CRAN, R-Forge, And Local R Archive Networks And Subversion (SVN) Repositories

planet.pks.mpg.de /trac Do you need Trac? Components of Trac Usage Examples

Deliverable DS4.3.2: Report on Development Infrastructure Usage and Adoption

Indefero Source Code Management

Adopting a Collaborative Software Development Process in the Scientific Community

Redmine: A project management software tool. January, 2013

Version Control with Subversion and Xcode

GENiC. Deliverable D5.1 Development & Integration guidelines including integration environment & means. Dissemination Level: Public

TECHNICAL SUPPORT FOR OPEN SOURCE ILS. Vandana Singh, Natasha Hollenbach and Robert Lowe University of Tennessee

Using FreeBSD to Promote Open Source Development Methods

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica. ICOM 5047 Capstone Miguel A. Figueroa Villanueva University of Puerto Rico Mayagüez Campus

Distributed Text Mining with tm

Mixed Integer Linear Programming in R

OHJ-1860 Software Systems Seminar: Global Software Development. Open-source software development By Antti Rasmus

CollabNet TeamForge 5.3. User Guide

Selection and Management of Open Source Software in Libraries.

Miguel A. Figueroa Villanueva Xabriel J. Collazo Mojica

Best Practices for Java Projects Horst Rechner

[PRAKTISCHE ASPEKTE DER INFORMATIK WS 13/14]

Guidelines and Procedures for Project Management

SourceForge Enterprise Edition 4.4 SP1 User Guide

The Advantages Of PROSE For Open Source Software Development

Week G Versioning with svn

ACOS Forge 1.3 User Guide

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Flumes Short User Guide to Subversion

Introduction to OpenTM2 An Open Source Solution for Translators

Using GitHub for Rally Apps (Mac Version)

An Open Source Work Shop. Luciano Resende Haleh Mahbod Aug. 2008

ICT Call 7 ROBOHOW.COG FP7-ICT

Using FreeBSD to Promote Open Source Development Methods

Profiling and Testing with Test and Performance Tools Platform (TPTP)

GUL-UC3M Jornadas Técnicas

Sampling from the Debian GNU/Linux Distribution:

Data management on HPC platforms

Using Eclipse in Distant Teaching of Software Engineering

Introduction to Programming Tools. Anjana & Shankar September,2010

citools Documentation

CSE 374 Programming Concepts & Tools. Laura Campbell (Thanks to Hal Perkins) Winter 2014 Lecture 16 Version control and svn

Traditional Commercial Software Development. Open Source Development. Traditional Assumptions. Intangible Goods. Dr. James A.

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Open Source Software Quality Assurance - Lessons Learnt

Introduction to Source Control Management in OO 10

How To Make A Collaborative Development Environment (Cde) On A Web Browser

OPENCOSS website and collaboration platform D9.1

Version Control with Git

Managing Software Projects Like a Boss with Subversion and Trac

Software Configuration Management Plan

Version Control with Subversion

Documentation and Project Organization

1. Open Thunderbird. If the Import Wizard window opens, select Don t import anything and click Next and go to step 3.

Version Control using Git and Github. Joseph Rivera

Agile Methods and Open Source Software Development

2.2 Netbeans. 2.3 Apache Struts. 2.1 Eclipse. 2.4 ArgoUML

IT at D-PHYS - Tutorial

Continuous integration with Jenkins CI

Getting the global picture

Distributed Version Control with Mercurial and git

FOSS License Restrictions and Some Important Issues

How to successfully build an app with a decentralized team

Beginning with SubclipseSVN

The care of open source creatures. Vincent Sanders

maintainer a web-dashboard for R package maintainers

Use R! in fifteen different ways: A survey of R front-ends in Quantian

Parallels Virtual Automation 6.1

4PSA DNS Manager Translator's Manual

Benefits of open source development and open tools. Max Horn, August 31, 2011

TaxonHub Client. What is Taxon? TaxonHub Client. The Open Source project. suggest-term. admin. Strategy for version numbers

How To Develop A Project In A Production Environment

Software Project Management Plan

THE OPEN SOURCE DEVELOPER REPORT

Source Code Control & Bugtracking

Software Configuration Management AE6382

ProjectPier v Getting Started Guide

CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011

R: A Free Software Project in Statistical Computing

Installing and Configuring Adobe LiveCycle 9.5 Connector for Microsoft SharePoint

Innovative Program to Access VMware Tools

Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.

Title of Deliverable Interoperability Framework Release Report 1 IF/2-D3, IF/3-D3, IF/4-D3, IF/5-D3

DAVE Usage with SVN. Presentation and Tutorial v 2.0. May, 2014

Management of the Open Source Software Requirements. Kati Koistinen

Release early and often: Developing Software with Origo

Agenda. Tango meeting : Krakow

Simple Parallel Computing in R Using Hadoop

Case Study: Plone in Local Government

R: A Free Software Project in Statistical Computing

D33.2: DBE Web Presence and groupware

On the Influence of Free Software on Code Reuse in Software Development

How to set up SQL Source Control. The short guide for evaluators

BUSMASTER An Open Source Tool

Transcription:

Collaborative Software Development Using R-Forge Stefan Theußl Achim Zeileis Kurt Hornik Department of Statistics and Mathematics Wirtschaftsuniversität Wien August 13, 2008

Why Open Source? Source code is by definition available to everyone Reuse of existing code Rapid creation of solutions within an open environment Release early, release often paradigm (Linus Torvalds) Peer review of open source software (OSS) A key to the success of open source projects is collaboration

Collaboration in the R Community For a decade, the R Development Core Team is using development tools like Subversion (SVN) for managing source code A central repository is hosted at ETH Zürich for managing the development of the base R system Many package developers use similar infrastructure to manage their source code Around 46.8% of the 1500 packages available on CRAN are authored by more than two developers Number of authors per package in % 2 3 4 5 6 7 8 23.9 11.6 6.3 2.4 1.3 0.4 0.8

Source Code Management Why do developers use source code management (SCM) tools? Efficient collaboration and sharing knowledge Easy communication through various channels Shared storage for source code Version control Larger software projects can be managed more efficiently UseRs may participate and give feedback

Introduction to R-Forge What is R-Forge? A central platform for the development of R packages, R related software and further projects R-Forge can be found at http://r-forge.r-project.org R-Forge offers several tools to help package developers to collaborate Since starting the platform in early 2007 more and more interested users registered projects on R-Forge. Now after a year being in a development and testing stage nearly 200 projects and around 500 users are registered on R-Forge.

R-Forge is based on GForge What is GForge? Why is R-Forge based on GForge? GForge, a fork of the 2.61 SourceForge code, is an open-source project (http://gforge.org) GForge employs a php-postgresql framework to offer various tools for collaboration and source code management One of the most important reasons using GForge: It allows for the development and usage of plugins

Core Features of R-Forge Source code management with SVN A CRAN-style repository for hosting development releases of R packages Daily built packages are available for Linux, Mac OSX and Windows Packages can be downloaded from the website and/or installed in R via install.packages("foo", repos = "http://r-forge.r-project.org")

Additional Features of R-Forge Mailing lists Discussion forums News announcements to be posted on homepage Project websites (http://foo.r-forge.r-project.org) Project categorization Full repository backups And many more

Figure: Homepage of R-Forge

Projects Everything on R-Forge is organized in so-called projects Every Project has an SVN repository containing two pre-defined directories pkg... contains one or more R packages www... optionally contains a Project specific website Each member of a project is assigned a role (e.g., Administrator or Developer ) with certain rights like write access to the repository, releasing packages to CRAN,...

Figure: Project Summary Page

Release and Quality Management Early versions of software projects are typically prototypes and therefore are not completely bug free Therefore, R-Forge offers a quality management system similar to that of CRAN In the spirit of OSS given enough eyeballs, all bugs are shallow (Eric S. Raymond) R-Forge additionally provides a bug tracking system for peer code review Eventually, packages passing R CMD check on R-Forge can be directly released to CRAN

Figure: R Packages Tab

Outlook and Future Work Introducing a file similar to DESCRIPTION for controlling the behaviour of the build/check process, etc. CRAN-style check summaries Automated check result delivery to mailing lists Task management, shared TODO lists Project wikis Sustainable improvement of the R-Forge manual

Outlook and Future Work Other features demanded by users: Inclusion of BioConductor and Omegahat repositories in build/check process Controlling of build/check process (e.g., via options passed to R CMD check,... ) Altering changelog messages in SVN repository Project renaming Open bugs: Tcl/Tk is not (yet) supported on our Mac Build/check process stability and performance

Contact Regarding R-Forge email: R-Forge@R-project.org Support tracker: https://r-forge.r-project.org/tracker/?group_id=34 For everything else please contact me directly Stefan Theußl Department of Statistics and Mathematics Wirtschaftsuniversität Wien Augasse 2 6, A-1090 Wien Austria email: Stefan.Theussl@wu-wien.ac.at URL: http://statmath.wu-wien.ac.at/~theussl