Why don't developers make more apps for Linux?
Why are certain applications still not coming to Linux and what is stopping the community from creating more alternatives? Let's find out through the following article!
1. There are many versions of Linux
When you develop software for Windows, you only need to test your software on a few systems: Latest Windows version, previous versions, and possibly earlier versions too, depending on the program. Does yours target businesses that don't usually change operating systems, etc. Everything is relatively simple.
On Linux, there are many different versions, called distributions or distros. Even if you limit yourself to the most prominent distros, there are dozens of distros to consider.
Let's say you decide to only support Ubuntu, the most popular version on personal computers. With Ubuntu's release schedule (upgrades every 6 months), there's a lot of work to be done.
Universal package formats have improved the situation, but there are still many options. If you are targeting Ubuntu, you should use the Snap format, but in practice most other distributions have a relationship with Flatpak, others are stable on AppImage.
In theory, applications in any of these three formats should be able to run on any distribution. But suppose your distribution has old versions of the background components that Flatpaks needs to run. That means an app may lack the functionality a developer expects. The situation is improving, but Linux still has many ways to make context easier for application developers.
2. Linux has a dubious funding model
Technically, Linux isn't even an operating system, but a kernel, an aspect of a computer that allows the buttons you press to actually do something and the screen to show what's being done.
The desktop interface and the applications that users use really have nothing to do with Linux. You can run many of the same software on FreeBSD, which doesn't use the Linux kernel, and you can't run most of these programs on Chromebooks or Androids.
The philosophy that underpins Linux is the concept of software freedom (code must be freely displayed and shared). This is the only way to make sure that the programs don't do something shady and actually give people ownership of their devices.
The result of this is that it is very difficult to charge the software directly. You can sell a program under a free software license, but since the code is freely available, there is nothing to prevent others from compiling and distributing another copy of your program without lost money.
As a result, people who develop Linux and related software have had to experiment with different ways to find funding for their work. Many are volunteers who fund their work with another full-time job. Many of the volunteers are students. Some people get paid to develop one aspect of Linux, but in their free time they contribute to another. Only a handful of developers are able to donate enough to offset their efforts.
There is no clear funding model for people who want to make a living creating applications for Linux, as they can for other platforms, unless the applications are proprietary. However, this is again a type of software that many Linux users do not want to be associated with.
A Linux distribution, elementary OS, that takes a pay-on-demand approach to free and open source applications is released in the AppCenter, but so far the application developers have not been retaliated. worthy of being considered a full-time job.
3. Lack of funds for deeper development
The unclear funding model is part of the reason many Linux communities don't have enough money to do the kind of work they want to do. People working on a particular desktop environment may want to design a full suite of applications that integrate with their interface, but lack the resources to pay people to do the work.
This lack of resources means that free software communities rely heavily on volunteers for development. Without interested volunteers with the time and necessary skills, often the desired software will not be created.
This also results in volunteers having to cooperate in certain programs. This is not necessarily a bad thing. But if you're wondering why there aren't more open-source alternatives to LibreOffice, that's partly because it generally makes more sense for volunteers and companies that employ a small number of developers. developers, to contribute the functionality they want to LibreOffice rather than creating a new set of tools from scratch.
4. Open dialogue comes with disagreements
With volunteers doing a lot of the development work on Linux, the open source philosophy and financial constraints that drive everyone to work together, communication is required for all the pieces to come together. together.
Since people often can't attract paid developers, they have to convince people to volunteer their time for ethical or practical reasons. This means that blog posts or live speeches can be inspirational for some, but offensive for others.
Open source development also tends to happen on open mailing lists, and platforms like GitHub and GitLab. These conversations often involve differences of opinion. Rifts can form, leading developers to develop their own interfaces from scratch, like the work others have done. This is part of the reason why Linux has so many interfaces that technically do the same thing, just in different ways.
Users can have an even stronger passion than developers, especially when they feel helpless when a favorite program is changing its look or a feature they rely on disappears. completely. Some developers have even given up on free software development.
5. Linux desktop has low market share
Of course, people don't just want software developed specifically for Linux. Many people want access to the same software they use on Windows and macOS, such as Photoshop. Some of these programs are portable to Linux, such as Steam, but many others are not.
The relatively small market share of Linux is the main cause for this problem. While Linux dominates on servers and supercomputers, there are only a relatively small percentage of Linux users on personal computers. While that number runs into the millions, many companies have determined that paying developers to maintain support for a third operating system is not worth it once they've made enough money.
6. The business has a concern about Copyleft licensing
Some companies have the copyleft licensing reservation that most software on Linux uses. These organizations may want to develop software or integrate certain components, but they fear that the result is legally binding on all open source code in their proprietary program.
Many companies hold an aversion to the GNU public license, which requires that any software that uses code shared under the GPL be made open source.
Companies that use free software often prefer code that is readily available under licenses, like MIT and Apache, which allow anyone to use the code without requiring the resulting program to become free and open source.
For a company whose business model revolves around selling closed source code, free software license misreadings and legal lawsuits can pose a threat to the company's bottom line.
You should read it
- How to run Windows applications on Linux with Wine
- 10 indispensable Office applications of Linux
- 4 Linux automation applications to streamline tasks
- How to install Qt for GUI application development on Linux
- Run Windows applications on Linux, macOS and other platforms
- How to create new files in Linux
- Linux GUI applications can run on Windows 10
- How to Learn Linux
- Create .Net applications on Linux and Mac OS X
- How to Run Linux GUI Applications with WSL2 on Windows
- How does the Linux Kernel work?
- How to run Windows applications on Linux with Vineyard