Watching the Sun Set

If you click on www.sun.com, you get redirected to www.oracle.com. Sun is no more. The network is no longer the computer. The "Dot" in .COM is now a database. I'm really sorry to see Sun go. I have a long and varied history with Sun. What went wrong?

I joined Sun in 1989, fresh from a System Administration job at Manchester University. I was so excited. Finally, I was going to get the chance to see the inside of "real" UNIX ! No more Minix hacking for me, I was finally going to get the chance to see and work on the source code for a real UNIX operating system. I wasn't disappointed. It was incredibly sophisticated, with a virtual memory system, a working network file system (NFS) and a state of the art graphical user interface (SunView). It was one of the most advanced systems available at the time.

The difference between Sun systems and everything else out there in the late 1980's (mostly Novell Netware or Microsoft Lan Manager networks) is that Sun networks "just worked", all the time. I remember visiting remote Sun offices in the UK, and just being able to log in wherever I was and have all my files and work environment automatically available via the Network File System (NFS) auto mounter and directory services available via Sun's Network Information Service (NIS/Yellow Pages). One morning I was outraged when Sun network operations informed me my home directory and work environment wouldn't be available until that afternoon due to a network outage. I was so spoiled, I didn't even realize such things were extremely rare outside the cozy world inside Sun.

I took a job on the Sun "hotline", the most technical job available to engineers working for Sun in the UK. We were a hard drinking, hard partying bunch, who prided ourselves on the number of technical customer calls we could fix per day. I'm still friends with a few of the engineers I met there, they were a technical group with extraordinary skills. The UK hotline prepared me for the job that brought me to the USA, working for Sun Corporate Technical Escalations (CTE) Group, whose job it was to prepare the front line code fixes sent to Sun customers reporting bugs in the software.

So why did Sun die? Partly it was their custom designed hardware that couldn't keep up with the immense commodity power of Intel and the x86 clones. Even in the early 1990's there were warning signs when Sun canceled the replacement for their early foray into x86 hardware, the Sun386i. Rumor had it that the Sun 486i was canceled when early benchmarks showed it out performing the Sun-designed SPARC chips of the time, which upset the "all the wood behind one arrowhead" slogan that was Sun's credo around their own SPARC processor design.

But in the long run it was the software that ended up being unable to compete. Linux systems from Red Hat and others ate Sun up from the inside out, by colonizing their customer base. Sun vs. the Linux world is a wonderful example of the weakness of proprietary licensing and trying to maintain control over software versus the GNU General Public License (GPL) and decentralized development model that Linux uses.

Sun was originally born from a combination of BSD-licensed and proprietary code. The BSD UNIX system built on top of AT&T's original proprietary UNIX code. The first version of the SunOS operating system was licensed from this version of UNIX, and one of Sun's founding software engineers, Bill Joy, was one of the original creators of BSD UNIX. BSD-licensed code is available to be used freely by anyone without restrictions, and Sun took full advantage of this. Sun didn't give back any changes to the BSD parts of the code, but kept most of their changes proprietary. Occasionally they would release something to the "community" they came from. The Open Network Computing/Remote Procedure Call (ONC/RPC) code that was the underlying technology for NFS was one such thing. But most of the kernel changes and enhancements they made were kept hidden.

That's not to say they never gave anything back to the Open Source/Free Software community. On the contrary, Sun CEO Scott McNealy claimed repeatedly that "We're the largest contributor to open-source on the planet". The problem was never the size of the contribution (which was indeed large by the end of Sun's life). The problem was that the contributions were always on their own terms. Sun was the poster child of a company trying to retain complete control over everything they released into Open Source.

Most of their released code was essentially just dumped over the proprietary wall. The idea that others may have had contributions they wanted to make to the code that had been opened was never even considered. Originally there were no Free Software projects run from within Sun, the attitude was always "how generous we are to show you our amazing code." After Linux became popular, they tried to adopt a community-friendly attitude.

The Solaris operating system, the Java language and virtual machine, the OpenOffice office suite, all of the really large software projects that Sun released had strings attached that stopped any real external community from forming around the code. Usually it was the demand that any code contributions be contributed directly to Sun for their own use in proprietary products that was the major failing of all the Sun "community" projects. Poor licensing choices, demands for ownership of all contributors work, ignoring contributors outside of Sun, all of these can be blamed for Sun's inability to maintain active coding communities around their Open Source code, but in the end it comes down to the desire to maintain control and ownership of the code at all costs. People are smart enough to understand when they're being taken advantage of, especially programmers.

This desire for control cost them dearly. When my own Free Software project, Samba, was first released, SunOS and Sun Solaris were the major platforms people wanted to run our code on. Once Linux got networking code added to the kernel, people started to move Samba servers over from Solaris to Linux. The control of your own destiny and the freedom that people got from Linux was the main advantage, even though the Linux kernel didn't work as well as Solaris did at the time. Other Free Software projects tell similar stories about the Solaris to Linux migration.

Real Free Software projects like Linux completely give up centralized control and ownership, in favor of a decentralized model that means contributors keep ownership and see direct benefits to participation, with no one party being able to take advantage over others.

Linux the operating system project completely confused Sun, even the Sun engineers, who you would have thought at least understood what Linux was trying to do. The best example of this is the wonderful email exchange between Linux kernel hacker David Miller, who at the time was one of the Linux Sparc maintainers, and Bryan Cantrill, a Solaris engineer. It's worth quoting:

David Miller wrote (at the end of a long email explaining how Sparc Linux used cache optimizations to beat Solaris on performance):

"One final note. When you have to deal with SunSOFT to report a bug, how "important" do you have (ie. Fortune 500?) to be and how big of a customer do you have to be (multi million dollar purchases?) to get direct access to Sun's Engineers at Sun Quentin? With Linux, all you have to do is send me or one of the other SparcLinux hackers an email and we will attend to your bug in due time. We have too much pride in our system to ignore you and not fix the bug."

To which Bryan Cantrill replied with this amazing retort:

"Have you ever kissed a girl?"

Talk about missing the point and underestimating the competition. You can read the entire exchange here:

http://www.cryptnet.net/mirrors/texts/kissedagirl.html

Of course that's not the only reason for Sun's failure. By the end of Sun's life in the early 2000's the management was bad. No, that's not true. The management was very bad. But it was caught in an untenable situation trying to compete with Free Software.

What could Sun have done? Was there any path that could have left them successful in a world of widespread Linux and Free Software? It's not clear. Sun is the classic case of Clayton Christensen's book "The Innovator's Dilemma". The disruptive force of Linux left them unable to compete, with their high priced product that didn't have enough advantages over the community developed project to get people to pay for it. Oracle did them a kindness, and has picked up some very talented engineers. The interesting thing to observe now will be if Oracle (who is already a Linux vendor) takes the valuable parts of Solaris and adds them to Linux, or tries to resurrect Sun's failed Solaris business model and throws more money onto the fire.

I'm betting Larry Ellison is too smart to do that, and at last Sun has some good management. R.I.P. Sun Microsystems, I'll miss you.

Jeremy Allison
Samba Team
San Jose, California.
28th February 2010.



Comments

Clean and well-perceived review

Thanks for your article! Great job. The only difference I have is the view you offer on Cantrill's famed response to David Miller.

Miller's vent was a looong laundry list of issues over just about everything. That's how it read to me, anyway; I glazed over a fair amount. At worst, I saw the whole as an exchange between a smug, arrogant but savvy Linux barbarian pitted answered by a complacent, arrogant but world-class engineer and gatekeeper. At best, I interpret Miller the way I think Cantrill did, as one guy who might best hear that there is something better to do than dump all, as if owed an apology. Passion is a great energy. If you're bludgeoning others with it, however, you're the one giving license for them to miss your better points.

That said, I also don't think Sun could have seen the world that Linux created before Linux created it. If they had done that, they'd be more like Red Hat than themselves. The proprietary model is what brought Sun its halo, its margins, and its stunning bench of engineering talent.

As for your comment on Sun management in this last decade: spot on, I think. Having worked with Sun partners and as a contractor later on, up until the last day, the change in Sun's management talent from the late 90's on was an awful development that had no clue what else to do but, it seems, try and become a GE or an IBM. Sad, sad development. I'll stop here before anyone else wonders when I last got a kiss.

But Dave Miller was right.

Cycles matter in an OS. Sun should have been doing everything possible to help Miller run Linux well on Sparc. The software wasn't making the money, the hardware and services was.

Jeremy.

ZFS.. Goodness..

I hope they contribute the zfs code base to linux. Lets cross our fingers..

BTRFS

I wouldn't mind having easier ZFS support in Linux, but I wouldn't want them to let their ownership of ZFS to deter them from continuing to support development of BTRFS.

Oracle will probably throw more money into the fire.

I wish I had your faith. I believe that Oracle will throw more money into the fire and Solaris will be lost forever. It fits the pattern that always seems to happen when a huge company buys a good, but struggling, smaller company. Companies that buy innovation always manage to find some way to destroy it.

Sun killed DEC and then turned into Digital

Once again a quick moving small company with a bright product line fills up with management and stops listening to small and medium sized customer needs. They cater only to the big guys with large bank balances.

As soon as the big guys get their attention the smaller companies go elsewhere to find cheaper more responsive vendors.

I lived through this at DEC in the VAX days and watched the same thing happen to Sun.

All the wood behind one arrow sounds like the VAX and VMS fights in DEC that helped kill the PDP's and push Unix folks from VAX to Sun, MIPS and eventually Linux.

There were great projects that were killed in both Sun and DEC.
I'd have loved to see the "Sourceware Operating System" that Larry
McVoy proposed done.
http://www.bitmover.com/lm/papers/srcos.html

Gordon Bell's written about what happens when newer cheaper disruptive technologies hit. Unless you're willing to bet the company on new technologies you rarely can turn around a large company quickly.

DEC did "The Network is the Computer" thing earlier... I think the internal comment was the system is the network. The similarities are amazing...

http://www.onstrategies.com/blog/2009/03/17/the-network-is-the-computer/

I'm an old DEC geek and the thing that amazes me is how HP and IBM have both rescued themselves from a couple of disasters.

Sun.com did not go away

Only the home page redirects to Oracle. I am guessing this is just a corporate statement to show ownership, or unity between their database and OS. If you look for Sun-specific information, hardware, or software you will end up on the usual pages under www.sun.com.

Only saw it from the outside.

I'm no programmer. My first experience of the true versatility of UNIX was SunOS on a SPARC-2. Two HUGE screens side by side, seamlessly, and it didn't matter what I threw at it the system just kept going.

That was 1992, and for the next 3 years Sun really was the "Dot".

Two things changed my mind, Linux and Solaris x86.

Linux gave me the environment I had learned to work with, on hardware I could personally afford.

In contrast, Solaris would not install. It's not easy to look the CEO of a company, even a small one, in the eye and say that there is something I just cannot do.

Twice I've installed Linux on "cast-off" SPARC systems. It was a wonder to see how well the "obsolete" hardware performed.

Sun was not the "closed source software company" I wanted to fail first.

Back to top