Firstly, let me write the rules that I consider software should follow to achieve “perfection”.

  1. Model.
    • Free-Software Philosophy: Free (libre) & open-source (FOSS). Promotes freedom for end users; the code is transparent and public.
    • No Temporary Payment: The software should be free, maintained with a donation or funding model, or a one-time payment to support developers.
    • No Registration: The software should be owned by users, not “rented” from a company. If the author wants to create statistics, users need to be informed.
  2. Development.
    • Compatible: Interacts seamlessly with other software and systems.
    • Maintainability: Adhere to coding standards, use meaningful variable and function names, document code comprehensively, and modularize code for easy maintenance.
    • Portable: Adaptable to different environments and platforms.
    • Performance: Software should execute tasks efficiently and respond promptly to user inputs. Without bloatware, extra software, or ads.
    • Reliable: Software should operate consistently under various conditions.
    • Scalable: Capable of handling increased workload or user base without compromising performance.
    • Secure: Software should safeguard data and systems from unauthorized access and protect against vulnerabilities. No backdoors or spyware. External penetration testing for added security.
    • Usable: Apps should be simple to use and remove.
  3. Strong Legislative Licenses: Software licenses should protect from malicious use or theft.
  4. Good Community: Moderators should create and maintain a positive community. This will help the software grow and be maintained.

Noawdays we are aware that there is good open source software development, thanks to the contribution of great developers and the trending of source-code hosting platforms like GitHub, GitLab, SourceForge, SourceHut, Codeberg, etc. all based on Git protocols.

And here are some big open-source software: The Linux kernel, FreeBSD, compilers (GCC), servers (Apache, nginx), virtualization (docker, virtualbox), web browsers (chromium, firefox), web CMS (Wordpress), many programming library/frameworks (electron, VueJS, NextJS, HUGO, Laravel, etc) and a lot of desktop apps from Linux desktops like GNOME, KDE, XFCE, LXDE, Mate and independent devs.

Web apps

Many platforms and software of today are used via web application. And most of these web apps are running on a closed-source backend (database + programs of the server), however the frontend is accessible (“dev tools”) due to the nature of the web and web browsers.

These are my most used web-apps: AlterantiveTo, Archive.org, Discord, Dropbox, GitHub, Google-Maps, Inoreader, Meta-Instagram, OpenAI-chatGPT, Raindrop.io, Reddit, Substack, Telegram, TMDb, Twitch, YouTube, Wikipedia, Windy, Zoom-earth.

Mobile apps

The big market share of Operating system are smartphones and same with software. However the software developed for mobile phones is more limited than for PCs. On mobile phones (specially on Android) I use these apps:

The phone (primary app), manager (keepasxc, raindrop), browser (kiwi chromium, firefox), editors (obsidian, nmm), email client (gmail, protonmail), games (chess, snake-4d), maps (fe, google-maps), messaging (simpleX, telegram, whatsapp), music-player (musicolet), office (collabora-office), online-viewer (libretube, youtube revanced), scanner (tiny-scanner), sky-map (skywaler-2) weather-app (weawow) + default (calculator, camera, manager, viewer).

Desktop software

The majority of the desktop software I use is FOSS (Free and open source software) and try to use desktop software compatible with the rest of Operating Systems. However there are some exclusive paid proprietary applications that right now are better than the FOSS altenatives. Here is a list of what I think are the most relevant propietary desktop software:

  • For designing/imaging: Adobe (PhotoShop, Designer, After Effects, Premiere Pro), Affinity (Photo, Designer), Apple (Final Cut Pro), Autodesk (AutoCAD, MAYA), Blackmagick Design (Davinci-resolve), SideFX (Houdini)
  • For music editing: Apple (Logic Pro), Arobas (Guitar-pro), Image-line (FLS Studio), Steinberg (Cubase)
  • For gaming: Games launcher (Steam, Epic Games launcher, RIOT launcher) and most Windows PC games.

There are also some propietary Electron JS apps that are not exactly closed-source because you can see the obfuscated code via the “developer console”, like Discord, Notion, Obsidian.

In term of market here are the OS.

  • Windows (72% market share): has the biggest range of software and drivers. The majority of software: many propietary drivers (compatible with a lot of hardware) and many payment software (GUI software and almost every PC game).
  • macOS (16% market share): macOS has a lot of exclusive paid software, has a big store and there are many software for artists, designers and musicians.
  • Linux (4% market share): Linux has the biggest list of open-source software. The majority is FOSS hoewever some companies publish pay propietary software.
  • BSD-based (unknow): has the smallest list of software is more for servers or basic desktop, as same as Linux the majority of software is open-source.

Also UNIX-based systems (BSD-based, Linux, macOS, Solaris) permit to run Windows applications with a translation layer, called WINE. So you can use many Windows software (games, editors, etc) on these systems. For example Steam has implemented WINE configurations optimized for games called Proton to play Windows games on Linux.

And besides that take in mind that you cannot play some anticheat games like: RIOT (LOL, Valorant), PUGB, EA (FIFA) on Linux because of the broken anti-cheat, and not support for being native. Here is a list of steam games compatible with Linux or Steam Deck (Arch-Linux based with KDE) and here’s a list of list of games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton. To play an online game on Linux must fulfill both.