as the ROOT userbase grows we hope and expect to see an
increasing number of user contributed classes, packages and/or
libraries. To be useful each contribution should fulfill a minimum
set of requirements. First lets categorize the type of
contributions:
1) A fully integrated set of classes
2) A loosely integrated set of classes
3) A non integrated set of classes or functions
Ad 1) fully integrated means:
- have base classes of the hierarchy inherit from TObject
- adhere to the ROOT coding conventions
(http://root.cern.ch/root/Conventions.html)
- fully support ROOT I/O (via Streamer())
- fully support graphics (if applicable, via Draw(), Paint(),
DistancetoPrimitive(), ExecuteEvent(), etc.)
- provide a CINT interpreter dictionary
- run on every ROOT supported platform (Unix and Windows)
E.g.: a set of linear algebra classes
Ad 2) loosely integrated means:
- have base classes of the hierarchy inherit from TObject
- fully support ROOT I/O (via Streamer())
- provide a CINT interpreter dictionary
E.g.: a set of Monte Carlo simulation classes
Ad 3) non integrated means:
- provide a CINT interpreter dictionary
E.g.: a C or C++ based image processing library
People offering a category 1) contribution we propose the following
level of support:
You keep developing your classes and once in a while when
you are ready for a release containing new features or bug
fixes you send us a tar file of the source. We then include
the source in the general ROOT source tree and build and
distribute your classes as an integral part of ROOT (we take
care of platform porting issues and feedback the changes we had
to make), also we take care of generating the HTML documentation.
For example, this is the way we work with Masaharu Goto on the
CINT interpreter. However, we expect you to answer questions and
to fix bugs. Of course you will be mentioned as author in all
your source files and the copyright stays with you.
For all other contributions we propose:
You make available via a web page or ftp area your classes
and a set of Makefiles (for the different platforms) to
build a shared library. We make a reference form the ROOT
web site to your package.
Each contribution will enhance and add to the power of the overall
system and our great hope is that a dynamic community will soon
drive the development. Our ideal develoment model is well described
in this paper: http://www.ccil.org/~esr/writings/cathedral.html
-- Fons Rademakers
and The ROOT Team
-- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland Phone: +41 22 7679248 E-Mail: Fons.Rademakers@cern.ch Fax: +41 22 7677910