== Introduction == When newcomers interact with a Linux operating system like {{project_name_short}}, they come with certain expectations in regards to their overall experience. For the majority, expectations are based on their familiarity with Windows or macOS, since they dominate the desktop and laptop markets. Around 95 per cent combined. These commercial platforms pre-install a wide variety of popular and fully-featured applications, while the graphical user interface (GUI) is easy to use and intuitive. As a consequence, the seamless integration of new system software packages is the rule rather than the exception. Windows and macOS users are now accustomed to an integrated experience where "everything just works". Attempts to provide a comparable experience in Linux have proven to be very difficult and the problem seems insurmountable. Many find the Linux GUI difficult to use and counterintuitive. There are software applications that are similar in design to those found in Windows or macOS, but they often lack many of the same features Like Skype. or do not fully integrate with other packages. For Linux beginners, it might be difficult to understand how applications with similar design goals can have vastly different cross-platform functionality. Only by comparing the structural differences between a typical corporate hierarchy and a Linux distribution's collaborative effort can the discrepancies be explained. == Linux Distributions vs. Commercial Operating Systems == === Overview === The following table provides a simplified comparison of the major organizational structural differences. Quoted figures are accurate for the year 2020. '''Table:''' Linux Distribution vs. Commercial Operating System
{| class="wikitable" ! align="left" | ! align="left" | Linux Distributions ! align="left" | Commercial Operating Systems |- class="odd" ! align="left" | Software | align="left" | Based on packages from many independent projects which develop software according to their own design goals | align="left" | Centralized (in-house) development with unified design goals |- class="even" ! align="left" | Funding Sources | align="left" | Donations, volunteer payments, grants, corporate sponsorship, professional services | align="left" | Revenue from software licensing For example, recent Windows earnings can be found [https://www.windowscentral.com/microsoft-fy18-q1-earnings here]. Most desktop computers sold worldwide come with Windows pre-installed, generating significant revenue from licensing. |- class="odd" |- class="even" ! align="left" | Funding Amount | align="left" | Unprofitable, most are underfunded and depend on volunteers | align="left" | Profitable, billion dollar profits are the norm |- class="odd" ! align="left" | Authority to Issue Directives | align="left" | None, can only ask third party projects nicely | align="left" | CEO issues directives |- class="odd" ! align="left" | Human Resources | align="left" | Community-based volunteers (limited time and human resources) | align="left" | In Windows' case, over 163,000 employees [https://www.statista.com/statistics/273475/number-of-employees-at-the-microsoft-corporation-since-2005/ Microsoft Corporation: employee count from 2005 onward (in 1,000s)] |- class="odd" ! align="left" | Popularity | align="left" | ~ 1.85 per cent of the desktop operating system market [https://gs.statcounter.com/os-market-share/desktop/worldwide/ Desktop Operating System Market Share Worldwide] | align="left" | Windows: ~ 78 per cent of the desktop operating system market macOS: ~ 17 per cent of the desktop operating market https://gs.statcounter.com/os-market-share/desktop/worldwide/ |- class="odd" ! align="left" | User Experience | align="left" | Fragmented | align="left" | Unified |- |}
=== Software Comparison === As shown in the table above, Linux distributions are based on many third-party projects that develop software according to their own design goals. For instance, an application might be initially developed by a volunteer for Windows and optimized for that platform. Later on, another volunteer joins the project, forks the application, and ports it to the Linux platform. When these projects develop software, they do not necessarily prioritize the design goals to suit compatibility with Linux distributions. Linux distributions can only pick software packages that are already available, meaning the selected packages might fall short of the design goals. Moreover, unlike a traditional company, distributions are not structured with a large number of paid employees. Neither do they have the authority to issue directives to third-party projects to make desirable software changes. If a distribution needs package changes from an independent project, there are a few options, but they all require time and patience: If options or features require a substantial time investment, it may be infeasible for a distribution with limited resources to implement the desired changes. * Try to understand the perspective of the third-party project. * Politely ask the project if they would be willing to make the changes. * Submit code that makes sense from their point of view. * Patch and/or fork their software. * Use an alternative package from a different project. In contrast, commercial operating systems are based on software expressly designed to provide a fully-unified user experience. While Linux distributions rely on third-party packages, commercial platforms are developed in large companies with a strict corporate hierarchy. In these companies, the CEO can issue a directive to developers to make any change needed to improve the integrated experience. Any developer who lacks the necessary skills or refuses to make changes is likely to be terminated for non-compliance. The human resources department (representing the CEO) will not tolerate delays in software development, as it might threaten profits. === Funding Comparison === Linux distributions are based on [[Freedom Software]] which can be used freely by anyone. Without a software licensing fee, options to generate a reliable funding stream for development are severely limited. Unless funding is available to hire a large contingent of full-time employees, it is nearly impossible to provide a unified experience. Instead, distributions rely primarily on the goodwill of developers who volunteer their time to integrate and maintain software packages. Without a salary, the time developers can devote to the task is necessarily reduced. Although this problem is attributable to the restricted funding sources available, it has less impact for sizeable or popular distributions due to: * Donations or volunteer payment-based funding. * Professional services provided on a commercial basis such as technical support, training and consulting. * Developmental grants. * Corporate sponsorship. On the other hand, proprietary operating systems like Windows are funded through the sale of software licenses and few barriers exist to funding growth. Licensing generates billions of dollars in revenue which is used to employ a large number of full-time developers. This, in turn, allows these employees to focus on developing the software packages from the ground up while remaining focused on the primary design goal: maintaining and improving the "Windows user experience" that the community has come to expect. == Conclusion == Based on the information presented above, it is unrealistic to expect any Linux distribution to provide a user experience identical to that of Windows or macOS. Linux has gradually improved the quality and consistency of the user experience on various devices, particularly for larger and more popular distributions like Debian, Fedora, and Ubuntu. However, it is impossible for most (if not all) distributions to replicate the quality found on commercial platforms. In the case of smaller distributions like {{project_name_short}}, very limited human resources mean it is out of the question. Instead, developers must spend a large portion of their time on core functionality development. One obvious impact is that {{project_name_short}} developers have limited time to answer support requests. Therefore, it is recommended to follow the advice outlined in the [[Self_Support_First_Policy|Self Support First Policy]] chapter before asking for specific help. In addition, please document any steps that were used to solve problems in the forums and/or wiki, thereby supporting the [[Self_Support_First_Policy#The_User_Co-developer_Concept|co-developer concept]] which has been adopted by the {{project_name_short}} project. It is possible to contribute in a number of ways, such as by helping to answer questions in the forums. On the upside, Linux distributions have unique advantages. Less bloatware and other anti-features are imposed on the user. Privacy is generally better protected. When Windows breaks, the recommendation is usually to "reinstall Windows" which is a non-solution. The underlying cause of the problem in many cases has not been identified, understood, or reported, hence it is likely to reoccur due to a lack of progress. The common experience of Windows users is the platform becomes slower over time. When the support channels of commercial operating systems are utilized to report an issue, the support staff often provide inadequate responses. Issues may be ignored or reinterpreted as the fault of the end user. Issues are frequently not forwarded to developers and therefore never fixed. While it is difficult or near impossible to approach the developers of commercial operating systems, [[Freedom Software|Freedom Software]] developers are generally accessible. In contrast to the open development principles adopted by Linux, the proprietary, closed-source nature of commercial operating systems hinders community efforts to resolve problems or make enhancements -- it is very difficult or impossible to perform the necessary analysis of internals and source code. [[Category:MultiWiki]]