Degrees of Open
Openness, and freedom, are inherently fuzzy concepts, under active evolution. While the words free and open might not have clear definitions, in the context of culture and society, there are some clear examples of freedom and openness.
This article is intended as an overview of common patterns related to freedom and openness, with particular emphasis on business and technology. Hopefully, it will serve as a roadmap along your journey towards openness.
Openness is a continuum
Often, people/companies start by embracing openness \(e.g. open source\) out of convenience, or for other pragmatic reasons. By viewing openness as a continuum, we realize it is possible to extend the practice of openness from inward to outward. We can eventually “turn over the keys to the community” or even let go entirely.
This article is dedicated to the Public Domain. You are free to share and modify the text in any way you see fit, with no restrictions.
“Open for business.”
People are welcome to access the business or product.
Businesses often use the word open to say “come in, we’re open”. In effect this is a welcome, or invitation to enter. In practice, being “open for business” means people can use your product — possibly with ‘free tier’.
Being “open for business” does not imply any other access permissions or rights, but is a first step in community involvement.
Open for developers
Businesses and projects can create openings for software developers to interact with their software.
Application Programming Interface
Some data/features are accessible via an Application Programming Interface (API)
An ‘open API’ implies that some of the product data or features are exposed to the public. There may be a layer of authentication, for various reasons. The bulk of the ‘business value’ is still closed, or controlled, by the API owner.
Software Development Kit
Some features can be integrated into other tools or systems via a Software Development Kit \(SDK\)
A Software Development Kit \(SDK\) is a bit of code that interfaces with a larger system. The SDK acts as series of levers that can be used to integrate with another system. The SDK does not provide the main functionality, since it is just an interface, any more than a steering wheel and clutch provides a car. Offering an open source SDK means that developers can build on your larger system.
Some examples of SDKs:
* a company with a proprietary database platform might offer developers an SDK to use their database as a service
* a company with cloud based computation resources might give developers an SDK to create and consume the cloud service
Use some open source
Product or infrastructure includes open source components.
Companies might quickly realize the benefit of using open source components. This could include adopting large scale projects like web servers or even smaller libraries that provide specific capabilities. By building on existing resources, companies save time and money.
When companies adopt open source, it also benefits the community. Benefits come in the form of a network effect, where the community grows.
Adopting open-source can be an early step towards contribution.
People may freely access materials created by the organization/project.
Open Access can imply a spectrum of privileges. The phrase “Open Access” is often used in scientific[¹] or educational[²] contexts to imply that a given resource is widely accessible.
As a minimum, an Open Access resource should be publicly accessible, and possibly require a user registration to participate. For example the Open Educational Resources often require that people can access the learning materials without ‘unnecessary technological encumbrance’. This means that nothing should block a person from freely accessing a resource, other than minimum technical requirements such as Internet access. This same line of reasoning applies to Open Access journals, such as the Public Library of Science.
[¹]: [Open Access](https://en.wikipedia.org/wiki/Open_access)
[²]: [Open Educational Resources](https://en.wikipedia.org/wiki/Open_educational_resources)
The code regulates. It implements values, or not. It enables freedoms, or disables them. It protects privacy, or promotes monitoring. People choose how the code does these things. People write the code.
Lawrence Lessig Code is Law
Offering source code means that the public benefits from some software solution that performs a specific task. Having access source code means that people can learn how the software works. There are additional freedoms that can be granted along with source code access. Those freedoms are usually granted in the form of a software license.
Computer code is becoming a larger part of our lives on a daily basis. Code is in our vehicles, our bodies, and our governmental decision making processes. Having access to source, such as software or statistical algorithms, is becoming increasingly important.
If we cannot access, review, and modify the source code, or have someone do so on our behalf, we are powerless to ensure the computers that increasingly surround us are acting in our interest.
Project/organization resources are licensed to remove Copyright impediments
The licenses fall in to several categories:
Non-OSI approved license
Some projects are released under custom license terms similar to open source. This is not advisable, as it leads to ‘license proliferation’. It may also lead to unintentional or intentional incompatibilities between projects.
The Open Source initiative and Free Software Foundation maintain lists of common, certified licenses. It is advisable to simply adopt an existing license from either or both of the OSI Approved or FSF certified licenses lists.
Strong copyleft license
Among the OSI and FSF approved licenses, a few offer stronger protections. These licenses, while sometimes controversial are intended to preserve access to source code for people, in a similar way to how public parks and natural lands are preserved for the common good.
Most or, preferably, all of the software features are available under an open-source license
In addition to license terms, it is important to define what components, or features, of the project are freely available. There are at least a couple of common approaches:
* Not all features open source
* E.g. ‘Enterprise version’, ‘Pro version’
* 100% features are open source
Community can congregate around your brand, support one another, and share experiences
Community thrives through regular contact and sharing. In order to build a successful community, it is important to provide dedicated spaces for interaction. Some types of interaction, or conversation, happen ‘here and now’, while others take place over time. It is important to support both real-time and asynchronous forms of sharing and communication, so that time is not a barrier to participation.
Ideas and feedback
Provide a process to describe, clarify, improve, and prioritize ideas
Ideas are not formed in a vacuum. It is important to develop ideas through feedback and communication. That way, the burden is shared among the community, and our ideas can reach a more full potential than if developed in isolation.
Allow Community contribute and start to take ownership
Besides ideas, community members have a lot to contribute. Contributions can be time or resources, such as money, code, and other skills.
As people contribute their time and resources to a project or organization, they develop a sense of shared ownership and belonging.
Open Process encompasses many parts of project management and governance (see Governance section). In terms of project/resource management, following an open process means that all design, communication, and development artifacts are publicly accessible to the community.
Artifacts related to planning and designing the project are openly available
The design process covers conceptual and aesthetic decisions related to a project. Design artifacts include wireframes, styleguide, mock-ups, user stories, and user interviews (usually preserving anonymity).
Design artifacts may prove useful to other projects, so re-use, transformation, and sharing would ideally be allowed.
Project/organization plans are publicly accessible, with the possibility to participate in the planning process
Projects and organizations must make plans to succeed. In an open process, the plans, on both large and small timescales, are visible to the community. This might include short-term plans like a sprint backlog or long-term plans including a project roadmap.
Project/organization documents are publicly accessible, such as meeting minutes and research documents
Part of running a project or organization is to come to agreements or promote understanding. Documentation serves as a record of decisions, concepts, and other issues. Documentation is also important for historical purposes, and so may include meeting minutes and other reference materials.
Financial transparency reduces conflicts of interest
Money is necessary to sustain projects and organizations. We want to ensure that our work is successful, so need to generate income to continue our work.
In order to support the values of accountability and transparency we can work to provide information about financial activity. This helps to ensure that the project is on a stable footing as well as encouraging equality between funding sources and other community stakeholders.
We can see examples of financial transparency from collectives, social profit organizations, and traditional private organizations. These organizations can provide financial records such as profit/loss, cash flow, backers, and more.
Open Governance means that stakeholders are free to participate in the decision- making process for a shared project or resource. In practice, this may come in the form of a shared roadmap or some more formal process such as voting. Governance includes social processes such as collaboration, standards of conduct, employment, and management.
People may freely choose to become members of, or participate in, the project/organization
Membership requirements may be introduced in a governance process. This gives stakeholders a means to determine eligibility requirements for participants, such as a minimum level of activity or contribution required to retain decision making rights.
Stakeholders are informed of upcoming decisions and may contribute to their outcomes
There are many different ways that projects and organizations make decisions. As a basic principle, members and stakeholders can participate in decision making process. This means including stakeholders in regular meetings or communications, with advance notification where possible.
Stakeholders may work independently to their own ends
It is important that stakeholders are free to work independently from the main group. They can form working groups relevant to their needs or expertise. If desired, stakeholder groups can work completely independently of the primary organization, forming their own initiative.
There is a framework in place to encourage collaboration and resource sharing between groups of stakeholders
Federation allows contributors to govern the project as a loose consortium, and even define their own smaller groups. Federation is a means to balance the power of the larger body with the autonomy of smaller collectives or affinity groups. Federated groups tend to work together to a certain extent, sharing knowledge and resources.
We at APInf are committed to be fully open source without any tiers. We also use open development process. Nevertheless, APInf still has a solid business model.