Linux is the largest community project in the development world. It is used in almost all technological fields (servers, cloud, mobile, supercomputer, etc.). But it’s application can be very confusing on the PC market. Several have tried to explain this by many problems, including the lack of manufacturers offering PCs with Linux pre-installed; support for drivers and proprietary software; user interfaces that people sometimes find very basic; or the problem of ecosystem fragmentation.
Struggles on the desktop OS market
Among the big names in technology which have given their opinion on the issue, we could mention Linus Torvalds for whom, if Linux has difficulty succeeding in the desktop OS market, it is mainly because of the fragmentation of the ecosystem. Mark Shuttleworth, founder and CEO of Canonical (publisher of Ubuntu) spoke of the lack of a futuristic vision. He blames the community, which he says is trying more to do things that look like what already exists, instead of innovating (as he wanted to do with the Unity project); this leads to forks and fragmentations, which in turn will slow down the adoption of Linux on the desktop.
Successful platforms are characterized by different elements that can be easily missed by merely looking at the surface. On the developer side, for example, they have an OS that developers can use to create applications, and they offer an SDK and developer tools integrated into the operating system. There is also a need for documentation for developers, tutorials, etc. so that people can learn to develop for the platform. And once the applications are created, there must be an application store to submit them.
But developers cannot create excellent applications on their own. However, we also need designers. And designers need tools to simulate and prototype applications; user interface templates for things like layout and navigation so that each application doesn’t have to reinvent the wheel, and a graphic design language to visually adapt their application to the rest of the system. Also, it needs HMI guidelines documenting all of the above, tutorials, and other educational resources to help people learn how to design applications for the platform.
Need for a mainstream Linux distribution
On the end-user side, you need a mainstream operating system with an integrated application store, where people can get the applications created by developers. The consumer OS may be the same as the developer OS, but not necessarily (for example, this is not the case for Android or iOS). Users must also have a way to get help or support when they have problems with their system (whether it is a physical store, a helpful website, or other).
You can’t talk about a platform until you meet four essential requirements: an operating system, a developer platform, a design language, and an application store. On this basis, if we look in the world of free software, where are the platforms? The only OS that meets the four conditions in the open world is Elementary OS.
Linux? No, because Linux is a kernel, which can be used to create operating systems around which platforms can be built, as Google did with Android. But a core in itself does not meet the four conditions and is therefore not a platform.