The CodeRefinery Project
Thor Wikfeldt, PDC
PDC is participating in the new CodeRefinery project that was launched this autumn - the project aims to promote better software development practices in scientific communities across the Nordic countries. Funded by the Nordic e-Infrastructure Collaboration (NeIC), the CodeRefinery project will initially run for a two-year period. Software lies at the heart of research projects across a wide range of disciplines, but many common practices in the development and maintenance of scientific software are inefficient and/or outdated. Core developers have, in many cases, never received training in modern software development methodologies because their main training and interests are in their respective scientific domains.
Various other similar projects have clearly demonstrated the value of scientific software development training, such as the Software Carpentry project which has taught efficient computing skills – ranging from basic to advanced level – to thousands of researchers since 1998. Drawing inspiration from such projects, CodeRefinery focuses on intermediate-level training and is directly aimed at assisting research groups in the Nordic countries. A major component of the project will be to develop course material and to teach topics such as collaborative distributed version control, managing code complexity, automated testing and code documentation approaches. Workshops based on interactive and type-along types of presentations will be organised in various locations (see map below), starting with a workshop in Espoo, Finland, from the 14th-16th of December 2016, and followed by one at KTH from the 20th-22nd of February 2017. (For further information about the workshops and for registration details, see the CodeRefinery website ). In addition to delivering a dozen training workshops in two years, CodeRefinery also aims to provide tools, systems and infrastructure to Nordic researchers for web-based hosting of open source as well as proprietary source code. This hosting service will be connected with an automated testing service. A final aspect of the project will be to build an active and interconnected community of researchers, software developers and application experts, leading to an environment for the exchange of expertise within the Nordic region.