This the question I’m trying to answer:
How can a computer scientist do research without using and producing only free and open source software?
This question is the corollary that follows from this hypothesis:
Free and open source software (FOSS) is the only way to produce and use software that follows the scientific method.
There are all sorts of reasons a human programmer might want to keep their computer code a secret. But if that human is also a scientist, isn’t it their duty to produce science that can be verified?
Looking at the scientific method definition:
To be termed scientific, a method of inquiry must be based on gathering observable, empirical and measurable evidence subject to specific principles of reasoning. A scientific method consists of the collection of data through observation and experimentation, and the formulation and testing of hypotheses.
Often to verify science requires access to the same equipment – particle collider, electron microscope, or space-based telescope. At some level, especially where the machinery is unique, the best method is to provide access to the machine for other scientists to verify. But where are you if your science can only be produced and reproduced using a black box that you have to buy, and that black box clearly has an influence on the outcome of the science? How can you verify the science if you cannot study the insides of the black box to understand how it affects the outcome of the experiment?
How can I verify your science if your code isn’t open? I have to be able to fully observe your experiment to verify your hypothesis. How can I measure your evidence if the tools of measurement, your software code, are compiled and only available in binary form?
You could say that having non-commercial access to the source code would work for verifying the experiment. That presupposes that the verification doesn’t require a commercial interaction that would be forbidden. For example, if the code supports a new business method, I can’t verify that the code or method work without doing actual business with them. Ultimately, these field of use restrictions block unknown usages of the science such as humanitarian or medical where the ethical situation is higher but couldn’t be predicted in advance (when choosing original licensing/release terms.) These field of use restrictions also have a chilling effect on other scientists. It’s less clear what is or isn’t a violation, so they seek a scientific solution in code (software) that is less ambiguous.
In addition, restrictive terms for viewing source code has the effect of tainting the recipient. How is it scientifically ethical if you require a colleague to sign away an unknown number of enquiries in a liftetime of research for fear of violating a source code sharing contract?
There is a whole mess in here with patents, and this is related to why patents may be unethical for science. In a machine patent, the science isn’t necessarily being patented; it’s the results of the science that is. Any science that leads up to the machine patent should be open and visible for reproducing and verifying.
But a software patent is a slippery thing. The patent may cover the science as well as the product of the science, in that both can be in the code. There is an ethical dilemma for any scientist when they patent the science. They are putting a price tag and control on reproducing and verifying the science. Without verification, the science is invalid.
In case you are wondering if this is just semantics and word choices, it is. Perhaps all of the people who call themselves computer scientists, shouldn’t? I presume the word has meaning for them, as it does for the rest of us, and I expect them to act accordingly.
Being a scientist has a specific meaning that spans a long part of written history. How long? Several hundred to several thousand years, depending on what you are measuring. It is clear that the scientific method has been followed since at least the Middle Ages. It predates copyright and patent law by at least several centuries, if not nearly a full millenium.
It was Sir Isaac Newton, amongst others, who said,
That, friends, is the whole point of FOSS. It is, so far, the best way we’ve found as computer scientists (schooled/amateur/citizen) to live up to Newton’s ethics and methods.
I dubbed my point above as a hypothesis because I am opening this idea for debate by scientists, particularly computer scientists and scientific ethicists.