Last week, I posted about our Project Thor, our effort at creating a royalty-free next-generation video codec. This post generated lots of comments – which is great! But also illustrated that there is a lot of confusion about what it means for something to be open. I’d like to remedy that here and describe the four dimensions of open. Yup, four.
Dimension 1: “Open as in Open Source”
One dimension of open is whether the technology is available in open source form. Typically this means that the source code is available and that there is a license associated with it wherein the owner of the code makes it available for usage, distribution, and modification within other projects without charge. Cisco is typically favors the BSD license. It’s important to note that open source licenses are really about copyright: They tell you whether or not you can include this code in other projects and distribute it. Whether it really costs nothing overall — that’s the next dimension.
Dimension 2: “Open as in Free”
The second dimension of open is whether the technology can be used in a form that does not require payment. Where things get interesting is when a piece of code implements something that is patented. In such a case, it may not actually be free to use the technology, because you need to pay a patent royalty fee to the patent owner. It’s totally possible for code to be open source (Dimension 1) but not free (Dimension 2). A great example of this is x264. This is an open source project – indeed available under the GPL license – but because H.264 utilizes patented technologies, any company that ships a commercial product using it has to pay patent license fees to the patent holders, in this case the MPEG-LA consortium. As a side note, the GPL license attached to x264 would also require a commercial product to open source its own code; but that’s a separate matter.
Dimension 3: “Open as in Standard”
The third dimension of open is whether the technology was developed within a Standards Development Organization (SDO). When technology is developed within an SDO, it brings many benefits. Change control and ownership of the technology moves out of the hands of a single commercial entity and becomes community owned. An SDO allows representation from multiple participants, ensuring that the needs of the many are met. An SDO also enables community review, so that experts from everywhere can take a look at the technology and make sure it works. SDOs typically have formalized processes for changes, bugs, documentation, and approvals, which bring stability and maturity to the technology they produce. That, in turn, makes it easier to adopt and implement the technology, especially in places (like hardware) where it is difficult to change once implemented. Many of these principles are outlined at Open Stand.
Dimension 4: “Open as in Published”
The final dimension of open is whether the technology is documented and distributed such that anyone can have access to the documentation. APIs are frequently in this category. In many ways this is the weakest of the four dimensions.
A technology is not “bad” just because it lacks one or more of these three dimensions. Indeed, many technologies use the moniker “open” only when they possess a subset of these dimensions. One example is the Facebook graph API. This piece of technology is open based on Dimensions 2 and 4. It is “open as in free” and “open as in published.” However, it is not an industry standard, nor is it available in open source. SDKs for accessing the Facebook graph – because they are code – are “open as in free” but are not “open as in open source” since Facebook does not provide the source code for them. Furthermore, the Facebook APIs are certainly not “open as in standard.” Yet, this is clearly useful and valuable technology.
As a different example, Cisco’s routers implement BGP (the Border Gateway Protocol). BGP is an open technology in that it is “open as in published,” and “open as in standard.” However, Cisco’s implementation in our routers cost money and we do not open source that particular code. Consequently, it is not “open as in free” nor “open as in open source.” But, it too, is valuable technology.
Audio and video codecs represent some of the most complicated and deeply implemented technology – hardware, software, and firmware across a wide range of products. Consequently, Cisco believes that video and audio codecs ultimately require all four dimensions, and we are committed to investing to make that happen.