Software

Pat Brans

ITER, like many large science projects, relies on open source software for applications where controlling the source code is beneficial ... even essential. But for applications related to nuclear or personal safety, certified software programs are preferred. Why do Big Science projects use open source? Three of the biggest reasons are:

To have complete control over the software : For any software that controls essential equipment, an organization needs to have access to every bit of source code that goes into the executable software. This allows the organization to completely debug the system—and it also minimizes the possibility of introducing malicious code that can't be easily spotted.

: For any software that controls essential equipment, an organization needs to have access to every bit of source code that goes into the executable software. This allows the organization to completely debug the system—and it also minimizes the possibility of introducing malicious code that can't be easily spotted. To guarantee availability of the software over the project lifetime : The lifetimes of Big Science projects are much longer than the lifetimes of most commercially sold software. Five years from now, some of the products sold today will be obsolete, or dramatically different. With access to all the source code, researchers can use open source software as long as they want.

: The lifetimes of Big Science projects are much longer than the lifetimes of most commercially sold software. Five years from now, some of the products sold today will be obsolete, or dramatically different. With access to all the source code, researchers can use open source software as long as they want. To eliminate the potential for runaway licensing costs : When an organization relies on commercial products, vendor lock-in can become a problem. The vendor may raise the price of the software or introduce configurations that change the pricing structure at the expense of the buyer. A case in point is CERN. Microsoft recently changed software-licensing conditions, increasing software expenses for the research organization. In response, CERN began its "Microsoft Alternatives" project, which aims to replace commercial software with open source as much as possible.

Open source is still not appropriate in all cases

But open source is not completely free either. The biggest cost is in keeping the in-house expertise needed to maintain and administer the software. For important projects, a popular approach is to hire one of the core developers of the system in question—exactly the approach ITER took when it hired Ralph Lange, a key EPICS developer.

"EPICS, which stands for Experimental Physics and Industrial Control System, is a set of software tools that can be used to build control systems for use on any scale, from very small experiments to machines as big as ITER," says Lange. "Because it is open source, EPICS is developed by a lot of very good software engineers from around the world. It is widely tested, debugged and validated. We use it as the basis for CODAC at ITER."

"One reason open source is essential for our control system has to do with cyber security," says Lange. "You have to be able to say that you compile everything from source code to rule out the introduction of malicious code in modules for which we have no visibility. This is a big reason 100 percent of the software running on the machine will be compiled from source."

Another open source platform ITER uses is TensorFlow. Developed by Google for machine learning, TensorFlow is designed to help both researchers and developers. Developers use it to build and deploy applications based on machine learning; researchers use it to build and train machine learning models and neural networks for experimentation.

"We use TensorFlow to make sophisticated physics models run ten million times faster," says Simon Pinches, the scientist responsible for the integrated modelling program at ITER. "You take one of the models and run it many times over some domain, using all the possible numbers you think it will have to observe. Then you apply the input and output data to TensorFlow, which develops the neural network that produces the same results super fast."

A third important piece of open source software ITER uses is Git, the most widely used source code management tool today. Because so many different people contribute to the software used by ITER, a solid source code management tool is essential. "Git is a really significant piece of software for us," says Pinches. "But it's often overlooked because it's very low down in the chain."

EPICS, TensorFlow and Git are not the only open source platforms used by ITER. Linux is another public domain platform used at ITER. Moreover, almost all the software run on the Linux systems is open source. "Open source tends to be very good software," says Pinches. "Lots of people working on one product will develop a better product than a few people working on lots of separate products."

But open source cannot be used everywhere. For all its advantages, one area where open source is inappropriate is in cases where nuclear or personal safety certification is required. The certification processes are too expensive to be taken on by anybody other than software vendors that will sell the software to a number of organizations.

For these cases, ITER relies on specialized software vendors that sell industrially certified or nuclear-certified solutions. So for example while the plasma control system uses open-source EPICS software, the machine protection and safety software within which the plasma control system operates is nuclear certified and not open source.

Some good reasons to actively participate in the open source community

Lange says there are two reasons large organizations that rely heavily on an open source platform hire key developers. "First it ensures they have somebody to fix things; and second, it gives them somebody who can feed requirements to developers to make sure the code goes in the direction they need."

Helping steer EPICS in the right direction is one of the reasons ITER stays active in the open source community. In June 2019, ITER hosted a weeklong EPICS collaboration meeting , where users not only exchanged best practices, but also provided feedback to developers. About one hundred people from around the world attended the meeting.