4 ms·
Could you explain what you mean by "open code"? What is the philosophical underpinning? That is, it seems that most of the argument for "open code" in the scie
by dalke 11y ago
Could you explain what you mean by "open code"? What is the philosophical underpinning?
That is, it seems that most of the argument for "open code" in the scientific review sense implies that 1) the software should be available at no cost, and 2) there is no need to support commercialization of said software. These principles are different than the four freedoms of "free software", and I have difficulties in reconciling the differences.
For a concrete example, I am self-employed. I sell scientific software. All of my customers receive it under the BSD license, after they pay me a good chunk of money. Thus, I sell free software for scientific research.
The FSF says "Selling a copy of a free program is legitimate, and we encourage it. (Quoting https://www.gnu.org/philosophy/selling.html https://www.gnu.org/philosophy/selling.html .) But most of the time when I see people say "open code" or something similar, they want the right to view, use, test, and modify the source code at no cost.
If I publish a peer-reviewed paper about the software, should I be required to distribute the software to readers for no cost? Or may I set a fee of, say, $25,000 to get access to the source code under a free license? (I'm well aware of the loophole where I could publish that something is "open", but require a payment of $1 billion. My question is, what is a reasonable and fair price to charge?)
On the flip side, if I am required to publish my software under a free/open source license and not charge for access to the code, then that means any reader can take my source code and commercialize it, or even simply give it away. Commercialization is part of the four freedoms of free software, but it ends up reducing my market size and knocking other parts of the four freedoms. I won't have as much money to continue my self-funded development and research.
The principles are important because they help set guidelines for other questions. Can I require that people register their use of the software before getting access to a no-cost copy? Can I wait 6 months to respond to those requests? How long am I required to host the software, or will the journal manage all of that? May I include non-free license terms, like a requirement to cite X if someone uses the software? Does minimized/obsfucated code suffice? And many more details that have been resolved in the context of F/OSS software but have not, I believe, been resolve in the context of what's needed for peer reviewed publications.
- dikaiosune 11y ago(I'm not a scientist) There are two issues I see with closed source research software. It seems to me like someone outside the research group should review all code run for a paper as part of peer review. If there are glaring off-by-one errors, race conditions, etc., then why should we trust the results produced by the software? There are a lot of things that should get caught in peer review that would only be red flags if someone experienced was able to look at the program source. Also, I've always been under the impression that science should be reproducible. If no one can replicate your results, then how can we trust your findings? While this is technically possible without access to source code, closing source code off from the community really makes reproducing results harder. I'm not sure that it would be fair for journals to require open source availability for publishing, but if they don't then we need a creative solution because these are real problems.
- dalke 11y agoThe situations you pose have little to do with being open source. It's easily possible with non-open source software. Consider the X-PLOR program for crystallography refinement, where an academic/ research license was a few hundred dollars. That came with source code, plus the right to distribute patches and other modifications to anyone else who had an X-PLOR license, but not to everyone else. Consider the NAUTY program for graph isomorphism, from http://users.cecs.anu.edu.au/~bdm/nauty/ http://users.cecs.anu.edu.au/~bdm/nauty/ . The license says "Permission is hereby given for use and/or distribution with the exception of sale for profit or application with nontrivial military significance." Consider the many programs available for free and unrestricted download from university web sites which are "for academic use only", some of which require users to cite a given paper. (Eg, http://www.maths.lth.se/matematiklth/personal/sminchis/code/cpmc/index.html http://www.maths.lth.se/matematiklth/personal/sminchis/code/... is one I easily found with a web search which is available in source code and is "free of charge for non-commercial research and education purposes".) These are neither open source nor free, so are they "closed source research software"? If "closed source" means "not open source" - which is the usual view - then yes, the above programs are all closed source. Yet all of them are available for peer review, reproducibility studies, etc. that you want. While on the other hand, to get what you want requires principles different than what the Free Software Foundation considers to be one of the essential freedoms in programming - the freedom to sell software. So at the very least, "peer-verifiable" software, for lack of a better term, is not compatible with "free software." I personally think it's unwise to even use the terms "open source" and "closed source" in this discussion because of the confusion it adds. However, as most researchers come from academic or government labs with non-commercial funding sources, I can see why self-funded, for-profit scientific software may be overlooked.
- Hermel 11y agoSomeone who owns the same tools should be able to replicate the results of the paper without rewriting its code. Whether these tools (e.g. Matlab or your software) come at a cost is a secondary concern as long as it is not prohibitively high. What I dislike the most are computational articles that give no indication whatsoever about the employed tools and programming languages.
- dalke 11y agoA problem is, what does it mean to "own the same tools"? If I develop my own tools, which no one else has, and I never distribute them, then it's the trivial edge case that everyone who owns those tools (me!) can replicate the results. If I sell the tools under a BSD license for $1,000,000 then it might still be trivial for those who pay me that sum to reproduce the results. But those who argue for source code access usually want the source code available for $0 or a pittance compared to the development costs. You agree that it should not be "prohibitively high". How do we turn that into something actionable? If $1M is too high, then what about $100K? Does the requirement extend to providing documentation? Even if such documentation doesn't already exist? For one job, I fixed a few bugs in software that was commented in Russian, and I speak no Russian. Is this too high of a barrier to entry? And if so, should all code be commented in English?