Skip to main content
QUICK REVIEW

[Paper Review] DUNE as an Example of Sustainable Open Source Scientific Software Development

Markus Blatt|arXiv (Cornell University)|Sep 6, 2013
Distributed and Parallel Computing Systems3 references3 citations
TL;DR

This paper presents DUNE as a sustainable open-source scientific software framework for solving partial differential equations, emphasizing modular design, community-driven development, and collaboration between academia and industry. By employing a semi-open development model, rigorous code reviews, and a flexible licensing scheme, DUNE achieves long-term maintainability and broad adoption across diverse scientific domains.

ABSTRACT

In this paper we describe how DUNE, an open source scientific software framework, is developed. Having a sustainable software framework for the solution of partial differential equations is the main driver of DUNE's development. We take a look how DUNE strives to stay sustainable software.

Motivation & Objective

  • To address the unsustainable development practices in scientific software, where legacy code is extended without maintainability or documentation.
  • To create a unified, modular, and extensible interface for solving partial differential equations across diverse numerical methods and applications.
  • To establish a sustainable software ecosystem through open development, community involvement, and industrial collaboration.
  • To ensure long-term maintainability and usability by enforcing code reviews, stable release cycles, and backward compatibility.
  • To enable researchers to avoid reimplementing core functionality by providing a well-documented, reusable, and extensible software framework.

Proposed method

  • Adopting a modular architecture with seven core modules and support for user-contributed modules, each with its own build system.
  • Implementing a semi-open development model with public mailing lists, regular developer and user meetings, and voting rights for core developers.
  • Using version control (Subversion until 2013, then Git) and public patch review via mailing lists to ensure code quality and interface consistency.
  • Introducing a runtime exception to the GPL-2 license to allow integration into proprietary software, increasing adoption by industry.
  • Establishing a formal proposal and review process for interface changes, requiring consensus among core developers.
  • Encouraging industrial participation through contract development and shared infrastructure contributions, reducing burden on academic developers.

Experimental results

Research questions

  • RQ1How can open-source scientific software achieve long-term sustainability in the face of evolving research needs and institutional constraints?
  • RQ2What development model best supports modularity, reusability, and extensibility in scientific software for partial differential equations?
  • RQ3How can collaboration between academic researchers and industry partners be effectively structured to enhance software quality and maintainability?
  • RQ4What role do public code reviews and community involvement play in improving software stability and reducing technical debt?
  • RQ5How can licensing models support both open collaboration and industrial adoption in scientific software frameworks?

Key findings

  • DUNE’s modular architecture and use of modern C++ templates allow high performance while enabling fine-grained access to data structures without sacrificing efficiency.
  • The semi-open development model—with public discussions, regular meetings, and voting rights—ensures that changes are well-justified and widely accepted by the community.
  • The inclusion of a runtime exception in the GPL-2 license significantly increased industrial adoption, with major companies using and even open-sourcing their DUNE-based tools.
  • Regular, predictable releases (approximately twice a year) help users focus on stable codebases while still benefiting from recent features.
  • Experienced users actively contribute bug fixes and testing, effectively serving as human testers and improving software stability.
  • Industrial contributions have reduced the maintenance burden on academic developers by funding infrastructure work, testing, and usability improvements.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.