The open source movement has taken center stage in software development, and its influence echoes through other areas of life such as open culture and open data. Many software companies hope to cement both their revenue sources and their status in open source communities by offering a mixture of open source (also called free) and closed (proprietary) software. The combination is generally called open core.
The variety of strategies adopted by software companies, and the use of similar terms for very different things, make it hard for many software users to understand when they have access to open source versus open core; therefore, the clients of open core companies may be taking on risks they dont understand. Indeed, the companies themselves are taking on risks in an open core strategy. This report provides an overview of open source and open core along with a discussion of what makes each practice attractive and where the risks are.
The authors are not neutral in this discussion. Despite the widespread adoption of open core software by many companies, we find that it tends to have negative long-term impacts on vendors and customers alike. On your journey through this report, you can form your own judgments.
Chapter 1. What Is Open Source and Why Is It Popular?
Effectively, open source is a model for software development that allows everyone to use software without restrictions, adapt it to their needs, and share their changes with other people. The concept of open source also involves a constellation of practices:
Communities of programmers and users, often spanning the globe, who collaborate to improve the software
Transparent communications, fully documented in open archives
Software licenses that guarantee the rights to use, change, and share the software
Public, inclusive review processes
Living repositories that preserve the entire history of a software projects development, including discussions about choices made
Strictly speaking, most of the items in this list are not needed to call a project open source. Although modern open source projects focus on processesbuilding community, adhering to healthy governance practices, achieving stable funding, etc.technically, any time a developer releases code under an open license, its open source. The Open Source Initiative (OSI), a nonprofit set up by leaders throughout the worldwide open source community, has approved many such licenses. Most of those licenses also pass muster with another key organization that was one of the earliest and most influential leaders in this movement, the Free Software Foundation (FSF).
Some open source licenses are short and simple, whereas others are longer and strive to prevent many possible problems that have been seen over the decades. But most dont come close to the complexity of the licenses that normally accompany closed software, which often incorporate surprising and cumbersome restrictions on users.
Still, the previous list of practices applies to most important open source projects today. We will see in the course of this report that the first two items in the list, communities and communications, are central to the success of open source and tend to be problematic in open core.
How Open Source Changed the Software Industry
Open source historically reflects an intentional return to an earlier ethos in the technology industry. During the initial rise of software, most practitioners were either scientists or hobbyists who freely shared information and innovation as the norm. Academics, engineers in the field, and software hobbyists took for granted the exchange of source code through floppy disks, magnetic tape, and eventually electronic networks. These programmers realized that it took the combined work of all practitioners to debug and co-invent their ideas.
By the time the concept of open source arrived, however, sharing and collaboration in computing had been overshadowed by the tremendous commercial value of software, engendering fierce competition over prices and features. Software and hardware manufacturers had discovered the power of vendor lock-in, a clever and ever-evolving set of practices that make it difficult for customers to switch vendors. Examples of vendor lock-in include physical keys (dongles) or encryption that make data available only to the vendors program, opaque file formats that may change arbitrarily in new versions of the product and features deliberately designed to differ slightly from the features on competing products.
The vendors still strived for actual customer value, but it suffered in the wake of artificial monopolies created by vendor lock-in. Customers frequently had to wait months to years for bug fixes, even critical security patches, because the vendor would choose to invest its limited programmer staff in other areas such as new features. It was a common practice for companies to make small changes to file formats in order to wring more money from the installed base, by forcing paid upgrades by customers who merely wanted to retain access to previously created documents.
At the same time, as the World Wide Web was driving online commerce, internet servers relied mostly on a proprietary implementation of Unix running on bespoke server hardware; this solution was expensive and a real barrier to new companies getting off the ground. Something had to give.