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

  • vi how to delete everything to the end of the line or the rest of the line from the cursor
  • Cisco Howto Configure Console Port/Terminal/Comm Server with Async Cable Setup
  • Ubuntu/Debian Linux/Unix Howto Setup Install Syslinux Bootable USB with EFI and MBR from Command Line/CLI Terminal
  • Cisco Switch Howto Reset Password
  • SSH cannot connect to old servers/devices/switches/routers/Cisco/Juniper Unable to negotiate with 192.168.20.2 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hell
  • ksnapshot missing in Ubuntu and Linux Mint Solution
  • bash how to hide username/customize prompt Linux Debian Redhat Ubuntu Solution
  • Cisco Router Password Reset Howto Guide Solution Cannot Login /Unknown Enable Password 2600, 2800, 2900, 3900
  • VirtualBox VBox Nat Network Handing Out Wrong IP Address Subnet Solution
  • Unable to mount location Failed to retrieve share list from server: Connection timed out - Samba/Linux Filesharing Not working Ubuntu Mint Linux Solution
  • How To Resize, Reduce a Video to a Specific Size and Quality Ubuntu Linux using ffmpeg
  • vi how to delete all lines in the file
  • Linux Mint / Ubuntu 20 Intel I219 NIC disconnects
  • Linux can't boot/grub boot loader screen with no options solution
  • EFI PXE grub2 Howto guide for Linux EFI PXE Booting on Debian, Mint, Ubuntu, RHEL
  • Aruba/HP/Dell IAP Wireless Controller Common Default Passwords
  • Debian, Mint Ubuntu how to remove package and associated config files
  • Linux Grub not booting the intended kernel solution in Debian, Mint, Ubuntu how to specify which kernel to boot by default
  • QEMU KVM Keyboard Problems Not Working Right Repeating Characters, Ctrl+C Copy and Paste not working right when using PS2 mouse in guests Solution
  • Linux how to compile binary with static sharedobjects embedded instead of dynamic to use on multi-distributions and avoid glibc compatiblity issues