Open Source vs. Open Core vs. Open Standard: What’s the Difference? Thomas Bush September 2, 2020 Open source, open core, and open standard all involve some kind of intellectual property that is at least partially distributed for free. However, there are some major differences between the three terms, including everything from what open actually means to just how open they are. In this article, we’ll dive into the definitions for open source, open core, and open standard. Then, we’ll boil down the difference(s) between the three concepts and help you decide which (if any) approach is best for your next project, also considering other approaches to licensing and monetizing your work. What Is Open Source? The term open source is often used to refer to software with publicly available source code, which anyone can use, edit, or build on. While this interpretation captures part of the picture, there is more to it. According to the Open Source Initiative, a non-profit organization that promotes open-source software, a true open-source license is defined by the following ten criteria: Free Redistribution i.e. third-parties can freely redistribute and resell the software Source Code should be easily obtainable and unadulterated Derived Works and modifications are permitted Integrity of The Author’s Source Code i.e. the author may restrict the distribution of modified source code, but only if they allow the use of patch files No Discrimination Against Persons or Groups No Discrimination Against Fields of Endeavor Distribution of License (per these terms) applies to all third-parties License Must Not Be Specific to a Product License Must Not Restrict Other Software License Must Be Technology-Neutral* As you can see, public source code is just a small part of what it means for a product to be open-source. A lack of discrimination and — more so than anything else — generous licensing are also essential. In terms of licensing, open-source means allowing others to use, edit, redistribute, and even resell to their hearts’ desire. Examples One of the truest examples of the open-source movement is the Linux family of operating systems. With the Linux kernel first released in 1991, the name has grown to become a mainstay of the computing world. And because Linux has always been open source, it has been adapted, built on, and contributed to by numerous individuals and organizations. For examples in the API world, look no further than open source API management solutions. While some of these products better fit the label of open-core (we’ll get to what that means in just a second), others are entirely open-source, like API Platform, API Umbrella, or Netflix’s Zuul API gateway. What Is Open Core? Open core, on the other hand, is a business model used to monetize open-source software. The idea is simple: build an open-source product (per the criteria given above), but offer additional functionality at a premium. This can mean repackaging the open-source “core” with new features or providing those features in the form of ancillary products and services. Either way, the additional functionality in an open-core product does not adhere to the criteria for open source. The source code is rarely (if ever) made public, and even then: the product itself is offered under a commercial license that restricts modification and redistribution. “The [core] software is made available under one of the traditional open source licenses … However, open core then goes one step further [saying] ‘if you wish, here are some other features you could have that are only available under a commercial license.’ They provide you with greater capability, but you have to buy them or subscribe to them, and you have to abide by the terms of the commercial license.”-Brian Gentile, CEO at Jaspersoft, as quoted in LinuxInsider An open-core business model is an interesting middle ground between the fully open-source and fully closed-source extremes. It allows organizations to share some code with the community — driving awareness and encouraging third-party contributions — without foregoing the revenue potential of a new product. Examples A good example of open core would be Confluent. Built around the open-source streaming platform Kafka, Confluent offers a managed stream processing solution for enterprise customers. As mentioned earlier, there are also some open-core API management solutions on the market. For example, both KongHQ and Tyk are premium API management solutions built around open-source API gateways. What Is an Open Standard? Open standard is a more loosely defined term. As you might expect, an open standard is most often considered a standard with a permissive usage license. However, definitions vary wildly; IETF, W3C, the Open Source Initiative, the European Union, and other bodies all have their own take. Criteria almost always include public availability, free or nominal license fees, and a lack of discrimination, though. ISO, the International Organization for Standardization, defines a standard as “a document that provides requirements, specifications, guidelines or characteristics that can be used consistently to ensure that materials, products, processes, and services are fit for their purpose.” Open standards are often governed by one or more funding organizations, which provide sponsorship in exchange for the ability to assert influence. In the monetization sense, open standards also share some similarities with open-source software (more on this shortly). Examples The Internet is built upon open standards. In the API industry, great examples of open standards would be the OpenAPI and AsyncAPI Specification languages, which are both entirely free to use and build upon. The OpenAPI Initiative, responsible for OpenAPI itself, describes itself as “an open governance structure under the Linux Foundation,” while AsyncAPI appears to be privately maintained. OAuth, OpenID Connect, and SCIM are all open standards that aid identity control and authentication for APIs. Looking elsewhere, open standards can be found in the form of numerous file formats and protocols, like HTML, PNG, or XMPP. Differences Between Open Source, Open Core and Open Standard There is clearly some overlap between open source, open core, and open standard. With that said, there are a few clear differences… For one, the distinguishing feature of an open standard is that it must be some kind of standard or specification, whereas an open source or open core product is usually software. With that said, there may also be differences in the extent of “openness” implied by these terms, what with the strict criteria of true open source. As for open source and open core, the key difference between the two is that an open-core product also offers additional, paid functionality, whereas an open-source product is entirely — well — open-source. Choosing Between Open Source and Open Core If you know your objectives, the choice between building a fully open-source and open-core product should be easy to make. Since it has the potential for direct revenue generation, an open-core model is best for those with financial motivations. On the other hand, a fully open-source approach may be preferable for those looking to build a community or advance their industry. Other Monetization Models for Open Source Products Open core isn’t the only choice if you need financial justification to build an open-source product. In fact, Wikipedia has an entire page dedicated to business models for open-source software. Among others, it includes: Offering consulting services Crowdfunding/accepting donations Selling merchandise Partnering with funding organizations or foundations (as is common with open standards) …and other such creative ideas. There’s also little reason why these same models — along with open core — can’t be applied to open standards, so long as the standard itself remains open enough to be useful. Final Thoughts Open source, open core, and open standard are popular licensing models for digital property. While open source and open core usually refer to software products, an open standard is exactly what it says it is — a standard. As for the difference between open source and open core, it really just comes down to whether all of the functionality is available under an open source license or just some of it is.