Solaris as an Open Source alternative to Linux

When I left Solaris after the Sun/Oracle marger, it was because I wanted to try some new things in life possibly based on OpenSolaris. I had led Solaris in networking and network virtualization space for a long time and wanted to make a bigger mark in that space compared to what Oracle might have wanted. But my hope was that Solaris as a Open Source Operating System would continue to prosper and I could possibly use OpenSolaris as a base for whatever I decided to do next. Well, the exodus from Solaris has continued over the past few months and now Mike has also decided to call it quits. Mike was one of my counterparts, running the storage side of the house (other leaders in storage and filesystem space, like Jeff and Bryan had already bailed out of Solaris few months after I left).

So at this point, I am forced to consider the fact that Solaris and OpenSolaris are on the brink of death unless something serious is done about it. Having spent so much time and energy in last 15 years on Solaris (including bringing it back from life after the last tech bust when Solaris had been labeled Slowlaris), I would personally like to see it go on. Given the richness of Solaris and what it offers to developers, the opensource community doesn’t deserve to lose it. We had relentlessly added APIs for all the networking and virtualization code (Crossbow and Zones) in past few years to name a few. Dealing with creating VNICs, walking links, creating Zones, etc from a developer point of view is very easy (more on what’s there for developers some other day).

So the question I have been pondering for last few weeks is what does it take to create a truly vibrant OpenSource kernel as an alternative to Linux. During Sun days, we had tried to set up Solaris as an open source alternative to Linux and we moved all development, process, architectural review, etc in the open but somehow the community never truly believed us. But now with Oracle having closed source the OS and struggling to keep it alive, there might be truly an opportunity for OpenSolaris to be reborn as an true opensource alternative to Linux. There seems to some effort already in form of illumos led by Garrett and an OpenIndiana distro. Now Garrett works for Nexenta who has a business based on Solaris I do believe they can throw some resources to keep it running.

What does an open source OS need?

There are several things that are needed on short term that doesn’t take too many resources. Not in any particular order of importance:

  • Drivers for new device
    I have seen Garrett personally dish out drivers faster then people can install and test them so he can at least keep one part of the OS
    alive i.e. drivers for new devices.
  • Packaging, Delivery and Install
    Then there is the packaging, delivery etc. which someone has to pick up. Perhaps the OpenIndiana guys can make that their core competency. Maybe they can finish the IPS system and make changes for the file based URI that it had already started to go towards. Things like: 

    • Allow someone to make a non network clone of the repo (at least for the true opensource packages including the kernel). This allows enough people to feel that they truly have control over all aspects on the kernel without need a repo server that they don’t control. Maybe something as simple as installing a server from the network repo along the lines of
      % pkg image-create file:///var/pkg file:///my_repo
      % pkg image-create -g origin_server file:///my_repo
    • Allowing someone to save a copy of a package locally that he can later install. Something like this
      % pkg clone [-g origin_server] pkg_fmri_pattern /local_path
    • And allow some to install the saved package over riding the dependency check if needed.
      % pkg install [-f] file:///net/hostname/local_path
      % pkg install [-f] [-g origin_server] pkg_fmri_pattern

    Of course, the directions above are just some thoughts – the details of which need to be refined based on input from the end users. The hosting etc necessary for repo servers for delivery is perhaps the easy part. The install is another story altogether, given that a large amount of code for automatic install has not even been opensourced but I think we can go by for a few years before that has to be addressed.

  • Bug fixing
    Again, given the Solaris talent now outside of Oracle, this is easy. For Bryan, who works at Joyent which again depends on Solaris, doing some P1 fixes is easy. I can do some critical fixes when necessary and there are so many others now outside of Oracle that we need to reach out to
  • New Platform Support
    As new chips come out, you need to add support at the minimum. Now we are getting into some tricky business. I have been discussing the idea of an OpenSolaris Foundation with some companies that support such open source initiatives. I have discussed that with some of the ex Sun DEs and Sr. Engineers as well and it seems appealing to people. Two things needed to happen for this to take off. One was Oracle having truly killed OpenSolaris so there is a clean fork (which I think has already happened). The other is a harder problem and which is the last thing on my list.
  • Mission and Innovation
    The open source OS for the sake of another OS is not very palatable to people who can fund the foundation. I got suggestions around mobile
    space for which I don’t think Solaris is ideal OS (yet). There seem to be interest along the direction of moving Solaris as a distributed OS in the cloud space. This gels with what I have been working on along with few others – a distributed network operating system geared
    towards clouds. Maybe moving my effort on top of Solaris would provide the mission in one direction (and my own requirement to use Solaris
    has been now met i.e. Oracle should kill it so there is no ambiguity). There is a revolution happening in that space already with Openflow, Trill,
    etc. and I am trying to figure out how to break the last barrier in the datacenter.

So to answer the question What have I been upto? –  now you know. And to answer the question Will I allow my work on Solaris to die?  I guess the answer is resounding- No. Will I port things like Crossbow and Zones to freebsd? – the answer is if OpenSolaris truly dies, then hell yes. And before someone points out that Zones is really same as BSD Jails, you should look again carefully.

So Solaris users and Solaris lovers, love to hear your thoughts.

October 23, 2010 at 9:23 am 15 comments

Its not a goodbye. Leaving Oracle but not Solaris!!

This is probably one of the most difficult entries I have ever written. I have decided to leave my job at Oracle. Don’t have a forward destination yet but I intend to take some time thinking about it before I take the next step. I am leaving Oracle but I will still be involved with Solaris and OpenSolaris in some form or the other. Having spent 14 years writing million+ lines of code and architecting some of the most complex subsystems, I don’t intend to just walk away.

The last 2-3 days have been a very emotional journey for me. I thought I was a very strong willed person but it was amazing how many times I came close to tears when so many people stopped by. All I can say is that I am so grateful that the community feels that I had done something useful (both personally and professionally) for Solaris. The journey has been nothing but wonderful and I will surely miss everyone. But I have learned one thing in last several years – to not say goodbye ever because our paths will cross again!!

Best of luck to everyone in the Solaris community who help it to be the best operating system on the planet and especially to the people who help write it. Keep the flag flying!! With Oracle, Solaris will reach more places …

April 2, 2010 at 7:17 am 9 comments

Network in a box

Crossbow Virtual Wire allows us to create a full fledged network comprising of Hosts, Switches and Routers as a Virtual Network on a laptop. The Virtual Network is created using OpenSolaris project Crossbow Technology and the hosts etc are created using Solaris Zones (a light weight virtualization technology). All the steps necessary to create the virtual topology are explained.

Continue Reading March 25, 2010 at 7:10 am 1 comment

CrossBow: Solaris Network Virtualization & Resource Provisioning

Crossbow provide network virtualization and resource provisioning to OpenSolaris Networking Stack. An architects overview of the stack to understand the high level working and why it works and performs way better than other architectures.

Continue Reading March 25, 2010 at 6:32 am 7 comments

Solaris 10 Networking – The Magic Revealed

Sunay’s overview of Solaris 10 networking stack as the Architect for the redesign. The article describes in detail on how packets flow through the stack, the new GLDv3 device driver interface and why Solaris 10 performs so much better then its predecessors and how to get even more.

Continue Reading March 25, 2010 at 5:41 am 6 comments

Newer Posts


Top Rated

Recent Posts

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 178 other followers