Also, it seems that Linux has a much friendlier user interface.
Has Unix been trying to "keep up"?
Also, it seems that Linux has a much friendlier user interface.
Has Unix been trying to "keep up"?
Both questions are misguided, for different reasons.
People still use Unices because they tend to have large, "well-established" companies behind them that they can turn to in a pinch (yes, I realize that this is mostly a fallacy at this point, but I'm not the one you need to convince).
Unices have no need to "keep up", since GNOME, KDE, etc. are for the most part built against POSIX rather than Linux. You could potentially build and run them natively on AIX if you really wanted to.
I think you have the misconception that 'UNIX' is a specific product that you can go out and buy. Today, UNIX refers to several families of operating systems.
Let me throw in some more arguments why the transition is rather slow (but there is definitely one):
First of all it is sometimes very difficult for Customers to switch from one UNIX vendor to another. Even if you jump from, let's say, SuSE to RedHat, there are plenty of things that differ from an administrator's point of view. When going from an AIX (or HP/UX or Solaris ...) to any Linux, things differ even more. As a customer you have to check whether it pays off to migrate your environment.
Normally there's a whole bunch of 3rd party software involved and it's not a trivial task to verify if everything is available for the target environment. If software has to be replaced due to the OS migration it has to be checked whether it is compatible with the existing company framework.
If self-developed software is involved, the SW has to be ported. Often this fails immediately at step #1: The target OS has not all the needed libraries or the used development framework.
Also it's not very cheap to train the SysOp and SysEng teams to a new platform. Years of experience may be rendered worthless (depending on the depth of experience), new best practices have to be (re-)evaluated and some SysEngs may even leave the company because they want to go on with their *NIX derivate instead of switching.
The total cost of a migration is immense in large environments. You may easily calculate 1-2 years of planning, doing, UAT test, stability tests, disaster tests - all involving a lot of people (all of who want to be paid) which are drawn away from their daily tasks.
Considering all this, one may understand why companies stay with their current vendor and prefer just to upgrade existing environments. From what I've experienced, new systems get their chance when it comes to building up new environments.
But after all: there aren't many ClosedSource-Unices left out there. AIX, HP/UX and Solaris are the big vendors left (OS/X if you count Desktop systems in). As I think of it, I even don't know if IRIS is still alive...
I've removed already written sentences about that user-interface saying before hitting the post-button as this would end up in a flame war :-)
I think Unix is a sufficiently ambiguous term that we need to define it for the purposes of this question.
Unix (System V and derivatives) is used as the operating system on several proprietary 'Big Iron' hardware platforms, in particular the IBM pSeries, Oracle (nee Sun) and Fujitsu SPARC servers and HP Superdome and other servers. In this case, Unix is the vendor's operating system that they sell with the machine. None of these vendors ship a vanilla System-V build; they all have heavily tweaked kernels designed for the type of workload these machines are used for.
People use these machines for workloads where the application suits a large shared memory architecture, build quality and support of the platforms or other reasons where they want an essentially proprietary big iron platform. Generally the O/S offerings on these platforms are much more conservative and stable than Linux. IIRC you can still run SunOS4 binaries on current versions of Solaris. There is also a body of software for these machines that may or may not be ported to other platforms.
BSD unix is derived from Unix, but has had all the original AT&T code removed and substituted with non-encumbered replacements. BSD is an alternative to Linux for many applications, and has certain advantages and disadvantages over Linux. Generally, the BSD code base is more controlled and conservative, and the platform is much better documented and more secure and stable. A lot of BSD users cite this as the main reason for the choice. The licence terms are also different to Linux, which influences the choice for another large group of its users.
Linux is Unix-like and most software written for unix-like platforms will port between Linux, BSD and other unix platforms relatively easily. It has the mind share and runs on commodity hardware, so it has taken over much of the low-mid range of the server market. It has the mindshare and thus vendor, application and driver support. The development model is much more decentralised than BSD or SysV derived unix, so it evolves more rapidly at the expense of stability.
Generally people choose linux as the 'mainstream' unix-like platform with the vendor support. It's the best for desktop applications, and has the most support from platform and third party vendors.
Since Apple put a nice user interface on top of Unix and sells it as MacOS X.
I don't want to start the "how much Unix is in MacOS flamewar" but for this question, I think, that illustrates quite well how present "Unix" is and can even grow against Linux.
In addition to IVA's very good answer, while Linux (and BSD) are very good operating systems, neither are optimal on big-iron. Some applications (particularly DBMS) just don't scale well horizontally.
There's also compelling arguments in terms of risk management / support for getting your hardware, OS and application software from a single vendor.
Note that these arguments are not always based on fact - I've had more joy getting SuSe and Redhat to resolve issues with the bundled utilities in their Linux distros than I've had with HPUX.
it seems that Linux has a much friendlier user interface.
That should be a long way down the list of priorities when selecting a serverside operating system. If you're talking about workstations, then that's a whole different discussion - which has been done to death elsewhere.
In some cases, for life-critical systems, or very long-term science and engineering applications, the users of an older unix system don't want to take any risks. If it works, don't change it.
An example: Since I work with them, I can tell you that most scientists are using fairly new Linux or Mac machines, but when they have to write and send official instrument commands to JPL for uplink, there's usually an old Sun workstation or other old-style unix machine involved. It's a combination of using what already works, avoiding risks of new equipment or software, and someone would have to write up new procedures. For the typical NASA space project, one small change can cause a ripple of consequences, redoing tests and approvals.