You are here

Collaborate With Us

We warmly welcome external contributions to the ROOT! By providing code, you agree to transfer your copyright on the code to the "ROOT project". Of course you will be duly credited and your name will appear on the contributors page and in the CREDITS file shipped with every binary and source distribution. The copyright transfer is necessary for us to be able to effectively defend the project in case of litigation.

Presently, there are two ways in which you can contribute:

1. Via the Users' contribution section in the Forum

The Users' Forum has a section which describes how to submit contributions. It is the easiest way to make your code known to the community, even if it will not be automatically integrated in ROOT. Of course the most successful contributions will become part of the repository!

2. Sending Patches

You can send us a patch or a pull request with Github, provided that you follow these two simple rules:

  • Make sure you follow the ROOT coding conventions in your code
  • Make sure you provide a set of tests for your feature/bug fix

Often it is useful to contact us first to discuss the code you want to develop or the bug you want to fix.

Picking up an Idea

We maintain a set of "ideas" for talented scientists and developers to pick up. An "idea" is a sketch of a development project, a functionality a missing feature we would like to see in our tool, in your ROOT! You can inspect the ideas in the following list.


30-01-2019 Transform GNU-makefile tests to CMake

ROOT's test suite has several crucial tests that still try on GNU-Makefile. We need to integrate them with CMake.

30-01-2019 Better argument parsing

Use a C++ command line argument library for defining and parsing ROOT's options.

30-01-2019 More tests, more benchmarks!

ROOT relies on testing, including performance testing - and we need to improve both.

05-01-2016 Wanted: A tool to 'warn' user of inefficient (for I/O) construct in data model

A tool to 'warn' user of inefficient (for I/O) construct in data model

02-09-2015 Wanted: Storage of HEP data via key/value storage solutions

Interface the ROOT I/O to key/value stores.

Completed ideas

28-03-2015 Commandline tools for ROOT files inspection, modification and automated plotting

Create a unix-like set of Python command line tools to explore, modify and display the content of ROOT files.

Subscribe to Collaborate With Us