There are not too many examples of sucessful open-source projects in scientific software. One of them is Sage, a mathematical software system aimed at creating a viable free open-source alternative to Magma, Maple, Mathematica and Matlab.
In a recent interview, the developers of Sage gave the following answer to the question Why do you consider free/libre open source software important for the advancement of your field?
[…] When we contribute to mathematics, it is important to contribute both the results and the methods. When software plays an essential role in research, this is a valuable part of the public contribution. If other mathematicians cant learn how it works, modify it, and use it for new purposes, then there is a serious loss of value.
[…] Second topic: Unifying the ecosystem. There are several different commercial software tools. Software libraries developed by one research group based on one of them is unusable by other research groups. Students and universities dont have the money to finance all of this. A unified ecosystem also has the advantage that anyone can better understand the code written by others.
[…] Third topic: Quality of research. If you consider including your code directly into the code of the whole Sage project, it will be part of it for the foreseeable future. This means, the code must meet a certain level of quality and there need to be a set of tests for each part of the contributed code. In preparation for each new release of Sage, it is made certain, that all those tests pass on all supported systems. Therefore, your code continues to be functional and probably actively maintained, even though you have stopped working on it. This is very different from the following situation, where you publish a half-working code once on your private website, and stop maintaining it.
[…] Fourth topic: Accessibility (Cost). We want the code we write to be usable by students or researchers without access to large department budgets. People who cant (or dont want to) afford an expensive software license are restricted from using work developed for that software. This is a restriction on users and on developers. Also, a related example are 3rd world and emerging countries. Just think about the importance of the freely accessible Wikipedia for education via projects like e.g. OLPC. The very same holds true for higher education and in our case for the accessibility to advanced mathematical software.
Naturally, some of this discussion applies to Madagascar as well.
Sage | Madagascar | |
First public release | 2005 | 2006 |
Main language | Python | C |
License | GPL | GPL |
Lines of code (per ohloh.net) | nearly 500,000 | more than 500,000 |
Contributors (per ohloh.net) | more than 500 | more than 50 |
User mailing list | more than 2,000 (sage-support) | more than 200 (RSF-user) |
Developer mailing list | nearly 1,500 (sage-devel) | more than 70 (RSF-devel) |
For integration of Madagascar and Sage, one can use the Python interface.