Open Source, Modular Platforms, and the Challenge of Fragmentation
Open source operating systems present something of a conundrum. On the one hand, open source requires that developers have absolute freedom to modify the software as they see fit. On the other hand, the software must obey certain architectural rules if it is to serve as a platform that can bring together different types of hardware and applications. The flexibility inherent in open source can lead to incompatibility. In extreme cases, it can even cause the open source project to fork into two or more different branches.
Such fragmentation dissipates the economic benefits of being able to access a large customer base through a single platform and forces app developers to expend the cost to make their products compatible with multiple versions of the operating system. One classic solution to these problems is to rely on some form of testing to ensure that the components provided by third parties are configured to comply with a compatibility standard. Another is to subject the overall system to some form of governance. Although both alternatives may seem to be somewhat inconsistent with the philosophy of open source, the academic literature indicates that both are a necessary aspect of any modular platform in which multiple parties provide separate components. The question is thus not whether such restrictions must exist, but rather how restrictive they need to be.
The history of the three leading open source operating systems (Unix, Symbian, and Linux) confirms this insight. Moreover, an approach that permits third parties to self-certify represents the least restrictive way to implement such requirements. Any restrictions are also less likely to be problematic if they are royalty-free, nonexclusive, and open source. It thus appears that solutions such as Google’s Anti-Fragmentation Agreement represent one way to strike a reasonable balance between ensuring that the operating system serves as a platform that brings together mobile devices and applications in a way that promotes the ability to “write once, run anywhere,” and giving device manufacturers and app developers as much flexibility as possible. Given the lingering uncertainty about the best way to balance these concerns, end users and technological progress would be best served by giving operating system providers considerable latitude in determining the best way to promote freedom without creating undue risks of fragmentation.
Christopher S. Yoo, Open Source, Modular Platforms, and the Challenge of Fragmentation, 1 Criterion J. on Innovation 619 (2016).