Degrees of openness
Openness is considered to be many things; it generally has positive connotations, but there is no agreed upon definition. Regardless of the exact definition you choose, openness can be influenced by a series of mechanisms such as norms (principle, standards and guidelines). The principles and standards can be legal or non-legal and may be implemented in concrete rules. Things like cultural norms and licenses (a legal tool) can affect behaviour and in turn affect the level of openness.
Openness can be differentiated into several criteria that fall into two basic categories, the product and the process by which it is developed. In the case of this open design project, the RepRap 3D printer is the subject and it is developed by a community through a distributed process. The development process to a large extent determines the openness of the creative work (subject).
- 1 Openness of the product
- 2 Openness of the development process
- 3 Other metrics and concepts that are associated with openness
- 4 Further reading
Openness of the product
Do they check in their changes upstream at RepRap or do they try to create downstream documentation repositories? The RepRap wiki is not meant to advertise competing projects and should have a slight bias towards documenting on RepRap. In the same way that Debian does not host advertisements for RedHat.
Openness of the license
This can be applicable to source code, (CAD) or other design files and schematics and relevant documentation. Needless to say there is more to openness than just attaching a GPL license to your work.
Up-to-date-ness of the code, design files and relevant documentation made publicly available.
Defined as: The ease with which a solution can be replicated by others.
Replicability is a result and indicator of openness, but it also enables contributions. To illustrate this, a low replicability restricts the collaboration to a smaller group which potentially decreases the openness of the process; there is a lower incentive to openly communicate (e.g. online) if all developers work under the same physical roof.
- Can the work be replicated based on what is publicly available?
- To what degree is it codified and/or documented? Are CAD files available or just pictures?
- Replicability is also dependent on the choice of modules, are they exotic or ubiquitous. Are they sold separately or only through full kits.
Layers of openness
There is a stack of layers in technology which could each be open or closed. Is it an open design based on mostly closed parts vs. open design with many open parts (are control electronics commercial off-the-shelf or open)?
- Does it comply with open standards and to what degree?
- Example: BitsFromBytes' RapMan uses G-Code, how compatible is the implementation with other 3D printers? Open standards based systems should allow you to use OSS toolpath generation software to control it. Adherence to open standards can increase compatibility and decrease duplication of effort. Open standards should be agreed on by the majority of the relevant stakeholders, arrived at through a publicly accessible process and should be publicly documented.
Openness of the development process
- A project can be fully open source but decisions made internally without others being involved, e.g. complete closed governance (e.g. Google Chrome is controlled by Google unlike Chromium which is more under community control).
- Does the vendor blog about their developments? Is it allowing and possibly encouraging user feedback and contributions?
Centrality of control vs. distributed contributions
- Are the majority of contributions centralized? Personally, I have the feeling that [email protected] is developed more centrally (mostly at Cornell) than RepRap (quite a share of the development done beyond core team), but I'm probably too biased to really judge this.
- This could be for various reasons:
- Barriers to contributions can exist because of practical circumstances, such as documentation being mainly published as a single PDF file instead of a publicly accessible and writable wiki.
- Because of a different segment that the vendor addresses. For example, professional engineers and artists (e.g. Stratasys' & EOS' customers) might be less willing to contribute, they want to use the machine as it is and don't feel the need (or FLOSS' cultural imperative of sharing) to modify and collaborate in doing so.
Other metrics and concepts that are associated with openness
A modular architecture also improves the ease of adaptation for different purposes and modification to work better, in other words it affects the 'hackability' of the product. This makes a different product rather than better or worse because benefits of either depend on what you want to do with it. The modular architecture is not directly related to openness, but it is easier and people are more likely to contribute if they can work independently/concurrently. On the other hand, e.g. BitsFromBytes have a single monolithic PCB (and no FLOSS CAD files, but that aside) and this has benefits (no need to wire up different PCBs). Modularity and stable interfaces can make it easier to integrate the work of others and get the real 'distributed collaboration' going that is typical of healthy open source projects.
A work can be patented but by this process become fully disclosed. In a way it is open yet it cannot freely be used until the patent expires. For the purpose of collaboration this may can create limitations.
- the Combinatorics Problem page goes into much more detail describing the "stack of layers" of a "modular architecture".