In the discussion under my recent post on incompatibilities between open source and open data Bill Anderson pointed out frequent confusion between “open source” and “free software”. He cited Richard Stallman’s essay which argues that open source is a software development methodology, while free software is a social movement. Building on that, Bill wrote that “‘Open data’ is not a data development method; it’s a data sharing practice (…)”, which sounded quite right.
However, after reading Stallman’s essay again and looking at the official definition of open source software (linked also by Stallman) I view the distinction between these two quite differently.
“Open” as sharing practice
The official definition of open source software specifies conditions of sharing and distributing source code. As such, it’s no different than definition of open data, except that it contains some conditions very specific to software (for example, the code must be shared under technology-neutral license). So first layer of “open” would be non-restrictive sharing policy.
“Open” as social movement
Attaching a societal idea to the “open” results in the second layer in this schema. “Free software” is one example, “making research results available to taxpayers” is another one. In many cases, a social movement was already in place before sharing practice was established, in other cases (for example with open data or open science in general) we still struggle to define the ultimate societal benefit in less than six words.
“Open” as technology
Here’s the place for viewing open source as software development method. Here’s also the place to view open science as research organization method. Most of “open” ideas result in practical advantages, such as new business models, increased sustainability, or faster growth/development. I call them “technology” because they are applied to processes. The exact benefits depend on the domain – open source and open data are comparable only in analogies.
I don’t think it’s the ultimate solution, but I find such three layer model of “open” quite useful in clarifying discussions on openness. First thing is that mixing different aspects of openness results in such abstract ideas as software that has liberties (which in the end might become very important but don’t help in establishing the basics in areas that have shorter history than open source). The other thing is that it helps to divide tasks between interesting parties based on their competencies. This is how it works in case of Open Access (establishing policies, advocacy and software development are usually done by different organizations). And finally, you can easily define new or already established “open” ideas within that framework – for example it helped me to understand differences between open politics, open government and open democracy (the differences were not that intuitive for me, as I expected).
This model could be possibly improved by adding other layers/aspects. If you have any ideas, please let me know.