What's Needed To Fix Linux

I really am a Linux fan but my comments here may not show it.  Although I'm quite familiar with Linux CLI to administer servers, I find Linux GUI OS's like Ubuntu at times very clunky.

This is partially because there's no such thing as a "self-made" Linux from scratch where the UI was designed by a single team.  Linux is made up of several different projects that are generally completely separate and this lack of integratiion is a key issue that makes things frustrating.

The other frustration is the archaic way that Linux functions, it still hasn't changed much from it's infancy.  It still has a kernel with it's own set of drivers and then userspace tools are loaded on top of that.

The first problem is that everything about Linux is constantly changing, instead of just making things work, there is too much focus on changing/improving for the sake of it.  Linux attempts to do too many things at once but it can succeed as evidened by commercial solutions like Google's Android, and Apple's iOS/OSX platforms which are based on Linux and Unix (BSD) respectively.

What those platforms fix is the scattered collection of ideas that don't work well together, this shows what a single team can do. I believe the OpenSource world is too far apart to make the same solutions work.

The architecture the successful commericial platforms use is simply a hack of the OpenSource Nix platforms.  All they've done is standardize an API for programming, this allows developers to easily create apps that will simply just "work" and will likely work even in future iterations of those OS's.  Wheras Linux has a dynamic set of changing libraries that work fine, really they would probably be perfect if they would just be able to contain all of them in a set and certain/static API like Apple and Google have done.

All that's left after that point is to simply standardize how driver's are written, loaded and used in Linux.  Driver's should all be binary or like a Windows .dll, where it's simply written for "Windows XP" or "Linux X" and it will work with all future versions, no need to keep recompiling and breaking things with a kernel upgrade.  For that matter, the kernel shouldn't directly include any drivers because it's that close coupling that causes such annoyances and problems.

I only wish I had the time or money to make this all happen, the closest thing we have is probably Ubuntu but they still haven't created any sort of an API.  People simply want what works, and Microsoft and Apple have shown the path to create standardized platforms that can evolve (somewhat) without breaking everything (at least sometimes) and at least having a stable and predictable API to write for.  This is the other problem with Linux because there's next to no software and why would there be when it's so difficult to write software you know will work?

I realize there is some movement for a standardized Linux API but it looks like it's a long ways from fruition unfortunately.


Tags:

linuxi, linux, comments, cli, administer, servers, gui, os, ubuntu, clunky, partially, quot, ui, projects, generally, integratiion, frustrating, frustration, archaic, functions, hasn, infancy, kernel, drivers, userspace, improving, attempts, succeed, evidened, solutions, google, android, ios, osx, platforms, unix, bsd, respectively, scattered, opensource, architecture, commericial, hack, nix, ve, standardize, api, programming, allows, developers, apps, iterations, wheras, dynamic, libraries, contain, static, binary, dll, xp, versions, recompiling, upgrade, shouldn, coupling, annoyances, haven, microsoft, standardized, evolve, somewhat, predictable, software, movement, fruition,

Latest Articles

  • Cisco Router Setup Guide and Tutorial Howto With Commands and Examples
  • Linux Bash Script To List All Connected IPs and their network name
  • Cisco Switches How To Get Of Port Line Status Console Messages
  • Cisco DHCP Snooping Relay Setup Information
  • Cisco Switch Setup Guide Command List
  • Cisco 2960 Switch Reset To Factory Defaults
  • How To Boot Cisco CUCM UCSInstall 8.6, 10, 11 and 12 on KVM/Proxmox
  • VBOX VirtualBox How To Import Raw .img Disk File
  • Windows Server 2012, 2016, 2019 How To Install and Missing Disabled Telnet Client
  • proxmox vm networking breaks when you restart your network on the hostnode
  • Linux ln symlink how to update existing symbolic link
  • Ubuntu 18.04 / Linux Mint 19.1 Cannot Type or Login - solution
  • LUKS Hard Drive Encryption on Linux Mint Ubuntu Debian etc how to mount encrypted hard drive
  • How to use nmap locate other machines/computers/servers on your network using nmap
  • Linux Mint 18.2 Create Config File To Start Application Upon Login
  • Dell Wyse Thin Client BIOS Access Key
  • sudoers file in /etc warning about comments/includes!
  • Centos 7 Reallocate logical volume space to another
  • lvm how to reduce volume size
  • letsencrypt certbot error "Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80."