Software Developer Tools and Packaging

Software Developer Tools

The Software Developer Tools Working Group aims to help the HEP community in developing the latest, modern feature-rich projects with the aid of software tools such as code editors, static/dynamic code analysers, compilers, debuggers, performance analysers and so on. The group plans to accomplish this by mainly serving as a forum where developers can share their experiences, discuss new/existing tools they utilise, and learn from each other. To that point, contributions from the entire community are strongly encouraged.

Packaging

The group has a particular focus also on solutions for building and deploying software stacks, through the evolution of the previous HSF Packaging Working Group

Packaging Goals

The aim of this working group is to foster communication and exchange among the experiments’ librarians. We have identified various topics to work on, including

  1. Common build recipes and tools
  2. How to take most advantage of technologies like containers
  3. Proper support for developers in our collaborations

Group Activities to Date

Software development in high energy physics follows the paradigm of open source software (OSS). Experiments as well as the theory community heavily rely on software being developed outside of the field. Creating a consistent and working stack out of 100s of packages, on a variety of platforms is a non-trivial task. Within the field multiple technical solutions exist to configure and build those stacks. None of this work is experiment specific and our working group agrees that this effort is being duplicated.

We held an initial series of meetings to look at the existing build and packaging solutions, including the community-driven projects. Some of the tools looked at are listed below.

That initial work was summarised in a Technical note on Build Tools in March 2016.

Since then the group has been meeting to re-examine changes in the field and to have more of a focus on deployment and end user development issues.

This resulted in the writing of

The group is currently working on the evaluation of different tools, making use of Docker containers to allow non-experts in a particular tool to rapidly evaluate each tool for features, ease of use and flexibility.

Documentation for these test drive setups is in the group’s Github repository.

Conveners

The group is currently coordinated by:

All the coordinators can be reached by email.

Activities

Former Conveners