This was originally published at inSCIght.
Figure 1: Rough placement of software licenses as a function of free & open source.
A couple of weeks ago Milad (animal) and I engaged in a lively discussion at the NIF User Group Meeting banquet on the nature of free & open source. Specifically in contention was FLASH, the code we both work on for the University of Chicago.
At the NIF User Group Meeting and elsewhere, FLASH has been advertised as unique in the field for being open source. However FLASH’s license requires users to first (physically) sign and return (scan, fax, mail) a form to the FLASH Center. Moreover, if you publish results based on FLASH you are required to cite the code or center directly. Though I won’t go into them here, there are very good reasons for these restrictions. Still, once a user dances this funny dance they do aquire the source files.
Minimal and academic as the FLASH license may be it does not seem to be GPL compatible. And thus, dare I say, not open source. So before Milad threw a glass of Cabernet Savgion at my face, forcing me to go outside and defend my honor, allow me to formally state my grievance. While I have no personal qualms with working proprietary codes, and though I believe all Science must be done in the open, my issuse was with the misusing the term “Free & Open Source.”
Milad’s counterpoint in summary was, “If you have access to the source, then it is open source.” (Obviously, there are some subtle points I am glossing over here.)
Then came the epiphany, “What if openness is a continuum?”
This is a sublime question because the answer seems obvious having asked it even though we often phrase discussions of openness in binary terms. Software is open or closed, proprietary or free. In the above exchange Milad and I were both guilty of this basic binary assumption. You can choose to draw the line in different places but the line is always drawn. This dialog is as much the FSF’s & EFF’s fault as it is Microsoft’s and Apple’s.
In other taxonomies (gender, sexuality, race, and religion to name a few) we are able to acknowledge to a greater or lesser extent that people do not nicely fit into a few broad categories. Why do we pigeonhole software in an analogous way? If we can garner anything from history, it is that binary discourse is ultimately damaging.
However, software issues are different than human rights issues. I postulate, therefore, that degree of freedom and openness are actually orthoganal and both continuous measures. Again this seems obvious once stated. (It is left as an exercise for the reader the case where freedom and openness are partially orthoganal, eg only 80 degrees off.)
“Open Source”-ness software can be determined by answering questions like the following:
- “Who has access to the source code? (Me, everyone, no one?)”
- “How easy is it to obtain the source code?”
- “What is the level of penetration of the source in the community of interest?”
Free-ness in software can be determined by answering questions similar to the following:
- “How may the software be redistributed?”
- “How may the software be modified?”
- “Who has to pay for the software (source or binary)?”
- “How much does it cost?”
- “Is the software export controlled?”
Once you have this model, you can draw axes and start placing different licenses and codes where you think they live in R^2. See Figure 1 for an example of this exercise. Though the placement is heuristic, it serves as a good tool for evaluating other mechanisms of software control.
Walking through these questions for FLASH, I now happily withdraw my greivance. FLASH is free & open, though the license is not the paragon of these concepts that the WTFPL is. This is OK. Different licenses exist to serve different purposes. It is the adherance to dogma that should be avoided. I shall leave balancing flexability and idealism for another rainy day above the clouds.