Software used in CMS construction goes open source

Guest post by Andrew Branson

image

Lead-tungstate crystals used in the CMS Electromagnetic Calorimeter

The CRISTAL database was one of CERN’s first knowledge-transfer projects. Originally built to track the production of the lead-tungstate crystals used in the CMS Electromagnetic Calorimeter, the software was licensed in 2003 to a start-up called Agilium, which has used CRISTAL for tracking the production of everything from solar panels to French driving licences.

On Wednesday, 15 October, the latest version of the software will be released under an open-source licence, making it free for anyone to use.

CRISTAL is the result of a long research project into ‘description-driven’ software platforms. It was originally developed at CERN between 1999 and 2005 in a partnership between CERN, the UK’s University of the West of England and the French National Centre for Scientific Research (CNRS).

It consists of a core library, known as the kernel, which manages objects called Items. Items are entirely configured from data held in other Items, called descriptions. CRISTAL applications are completely traceable, even in their design: every change of a state in an Item is the consequence of an activity in that Item’s lifecycle. The software also supports extensive versioning of Item description data, giving the system a high level of flexibility.

The original licence, from the early days of technology transfer at CERN, was complex, restrictive, and exclusive to Agilium. Since 2012, UWE, M1i (the current owners of Agilium) and an industrial software provider called Alpha3i have been developing a new version of the CRISTAL kernel dubbed ‘CRISTAL-ISE’ after the European Commission-funded project that produced it. It is now ready for release under the GNU Lesser General Public License (v3). This licence not only allows anyone to use CRISTAL, but also to modify the source code as they desire on the condition that their modifications are also released under the same licence. The source code for CRISTAL is available on GitHub, the largest code repository: https://github.com/cristal-ise/. We hope to bring together existing users of the software into a community that can collaborate more effectively to track data in hitherto unknown domains.

You can learn more about CRISTAL-ISE at http://cristal-ise.github.io/.


The views expressed in CMS blogs are personal views of the author and do not necessarily represent official views of the CMS collaboration.