Fragmentation is often cited as a major challenge for the Linux platform and mobile software ecosystem. The word gets thrown around a lot and tends to be used as a catch-all phrase to describe a wide range of loosely connected issues.
The rapid growth of the Android ecosystem and the significant number of new Android devices that are reaching the market with heavy software customizations has raised some questions about whether Google’s Linux platform is going to succumb to the fragmentation menace. In this article, we’ll take a look at what fragmentation means for mobile Linux and how Google’s operating system addresses some of the biggest challenges.
What is fragmentation?
When used to describe software platforms, the term fragmentation generally refers to the proliferation of diverging variants—a situation in which many custom versions of the software platform emerge and coexist with the original. Platform fragmentation can weaken interoperability because applications that are built for one variant might not work on others.
The Linux platform is particularly susceptible to fragmentation because its modularity and open license make it highly conducive to customization and derivation. Although mainstream Linux distributions are all functionally similar, there are a number of major areas where they diverge. Some examples include package management, preferred desktop environment, default application selection, file system layout, and software version choices.
The lack of consistency makes it difficult to build an application that will integrate properly across the broad spectrum of Linux distributions. This is why packaging, compatibility testing, and certain kinds of platform integration tasks are often done by the distros themselves rather than by upstream application developers.
The challenges are more profound in the mobile space than on the desktop because the degree of fragmentation is compounded by the fundamental differences between different kinds of devices. For example, applications that are built to support a specific form factor, screen resolution, or input mechanism might not be compatible with devices that have different characteristics in those areas.

Loading comments...