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

  • Linux Ubuntu Cannot Print Large Images
  • Cannot Print PDF Solution and Howto Resize
  • Linux Console Login Screen TTY Change Message
  • Apache Cannot Start Listening Already on 0.0.0.0
  • MySQL Bash Query to pipe input directly without using heredoc trick
  • CentOS 6 and 7 / RHEL Persistent DHCP Solution
  • Debian Ubuntu Mint rc-local service startup error solution rc-local.service: Failed at step EXEC spawning /etc/rc.local: Exec format error
  • MySQL Cheatsheet Guide and Tutorial
  • bash script kill whois or other command that is running for too long
  • Linux tftp listens on all interfaces and IPs by DEFAULT Security Risk Hole Solution
  • python import docx error
  • Cisco Unified Communications Manager Express Cheatsheet CUCME CME
  • Linux Ubuntu Debian Missing privilege separation directory: /var/run/sshd
  • bash how to count the number of columns or words in a line
  • bash if statement how to test program output without assigning to variable
  • RTNETLINK answers: Network is unreachable
  • Centos 7 how to save iptables rules like Centos 6
  • nfs tuning maximum amount of connections
  • qemu-kvm error "Could not initialize SDL(No available video device) - exiting"
  • Centos 7 tftpd will not work with selinux enabled