Osas Introduction

Program-Transformation.Org: The Program Transformation Wiki
Why Researchers should produce Open Source Software

Many research activities, escpecially in the field of computer science, involve the development of software. Sometimes this software merely serves as a utility that supports the main research task. This is the case for type-setting software, statistics software, visualisation software. Sometimes, the software is an integral part of the research, in the sense that it provides a proof of the concepts, ideas and theories that are propounded, or in the sense that it implements techniques that have been invented.

What is currently problematic in academic software development?

The quality and life-expectancy of acadamic software are usually quite bad. Once the screenshots and the output of the software have been included in the paper, the development and maintenance effort for the software drops to zero. A thick layer of dust starts to gather. Sometimes the situation is worse. Only those parts of the software are written are actually needed for the paper, and the completion of the software is postponed indefinitely. Or, the software has been designed, and the paper just suggests that it either has or could be implemented.

  • Beyond paper prototypes

  • Can prototype survive papers?

Software that does survive the paper that is published about it suffers from abandonment for different reasons. Researchers move from project to project and from position to position. This mobility of researchers means that sooner or later the maintainer moves while the software remains, and decays.

  • Mobility

Availability, reusability, reproducibility

The duties of a scientist towards science and mankide include that he ensures his results are available, reusable, and reproducable. This holds true for the tools he constructs as much as for the theories he propounds. Both tools and theories embody knowledge.

  • Transferring knowledge through tools

  • Reuse

  • Reproducibility of research results

  • Peer review

What makes academic software special?

  • Academic vs commercial

  • Research vs development

  • Who owns what I make

  • Community building

Can it be done?

  • Successful academic software

    • tex/latex

    • Python

    • tcl/tk

Next: OsasRequirements Top: OpenSourceAcademicSoftware