Blogs

RedMonk

Skip to content

Solaris + Gentoo = A Big Deal

Much has been made of the pending open-sourcing (I’m not sure if that’s a verb, but I’ve been up since 3 AM, so cut me some slack) of Sun’s flagship Solaris operating system. There’s certainly no shortage of opinions on the viability of the project, the community implications, and the reasoning behind the move (1, 2). Michael Singer grabbed a few thoughts from yours truly on the subject here.

But Stephen Shankland’s latest has a really intriguing bit of commentary that I had not seen; that some ties may be developing between my Linux distro of choice, Gentoo, and the forthcoming OpenSolaris.

Before people get carried away, relax – no one’s talking about merging the two. Instead, the focus is on porting what I consider to be far and away Gentoo’s distinguishing feature – it’s package management application, Portage – to Solaris.

Without going down too much of a rathole, Portage draws on BSD’s ports system, and is similar in functionality to Debian’s apt-get or NLD/SuSE’s Red Carpet channels. Basically, all of these applications are designed to address one of the issues with Unix style application installation: dependency hell. That condition – often lamented by newcomers to Linux – arises when one tries to install an application that depends on other applications to function properly. Installing the GAIM instant messaging program, for example, requires that you have the GTK libraries that support it.

What Portage does is remove that complexity from a user’s shoulders. Say you want to install GAIM. To do so, you simply tell Portage that you’d like to do that, and it figures out what GAIM needs to run, checks to see if you have everything necessary, and adds anything you’re missing to the list. For the Windows users out there, think of it this way: imagine the Add/Remove Programs control panel application had the ability to download and install/update any application you can think of – even non-Windows ones like AOL IM, Firefox or iTunes.

In short, it’s an absolutely tremendous application, and I think it’ll be a great addition to Solaris. But the big news, I think, is this link from Shankland. Not because Portage is being ported to Solaris 10 – that effort’s been under way for a while now, and Solaris is not the only non-Linux OS to be so targeted.

What grabbed me instead was the choice of language from Pieter Van den Abeele, one of the Gentoo devs. Check out this bit:

One of our projects codenamed Portaris, has been maintaining Gentoo Portage on top of Solaris9 and Solaris10 builds. Kudos to its two biggest contributors Sunil Kumar and Jason Wohlgemuth for investing their time in this project and come up with an installer for Solaris. I am pleased to announce that Gentoo is considering integrating OpenSolaris support into the machine readable knowledge base we call Portage. Gentoo/OpenSolaris is born.

Even with the caveat that this is a single developer with the Gentoo project, I think it’s fascinating that someone associated with a well regarded Linux project – even one who’s played a role in supporting other OSs – would be so supportive of Solaris, simply because Solaris is aimed at Linux in a way that OS-X is not.

It’s just a single datapoint, of course, but if there’s even a small percentage of developers out there that will take this open minded an approach, the folks from Sun – Jim Grisanzio in particular – are going to be pretty happy.

Categories: Open Source.

  • http://www.baus.net/ Christopher Baus

    Package management systems have existed on Linux for years. RedHat's RPM was the first such mechanism to be widely used.

    You fail to mention the most unique aspect of portage. It builds dependencies from source. I'm not sure why users, even Linux admins, would want to add this extra level of complexity. It is rare that I don't find a pre-compiled package suitable to my application.

  • http://www.redmonk.com/sogrady sogrady

    RPM's address one portion of what Portage offers, yes, but not the systems management aspects.

    as for build from source, that's more a choice that Gentoo offers. while the bulk of applications are built from source, Portage is equally capable of installing binaries. many people do this for OOo or other large applications.

  • http://www.baus.net/ Christopher Baus

    RPM does offer dependency management. That is one of its core functions. When combined with YUM or up2date required dependencies can also be automatically downloaded.

    Again from my understanding what makes Gentoo unique is the build dependencies from source capability. I'm just not convinced that capability will every be required by the mainstream.

    I will admit I am biased as a long time RedHat user.

  • http://www.redmonk.com/sogrady sogrady

    i think we're agreeing here; RPM's do provide dependency management, but by themselves do not provide systems management – ie update downloads and maintenance, centralized application record, etc. my point then is that RPM != Portage, but nor are they supposed to.

    in any event, i'm not attempting that Portage is the only or even best approach. that's why i cited other equivalent functions. it works best for me, but i don't recommend most users use Gentoo b/c it is, as you note, distro that emphasizes source builds. and we further agree that source is not going to be ideal for mainstream users.

    that said, there's nothing in Portage that's restricted to source builds – there are many binary applications available.

    either way, Red Hat's up2date is just fine – i've got nothing against it. if that works for you, go with it.

    Portage is just the context here anyway – it's really the larger reaction that's most interesting.

  • http://www.kelvinish.com Kelvin

    Gentoo for OS X is out.

  • http://www.redmonk.com/sogrady sogrady

    thanks for the notice, Kelvin. if i can get my hands on some OS-X gear i'll give it a whirl; otherwise i'll see if i can rope someone into doing it for me.

  • shi5o

    Portaris is certainly welcome news but it's worth noting that people have been using alternatives to Solaris package management for some time now. If you're using Solaris 8/9 then Debian's apt-get is pretty functional. Check out http://www.blastwave.org/ for a list of packages in the repository.

  • http://www.redmonk.com/sogrady sogrady

    i agree wholeheartedly shi50. should have mentioned it in here, as pkg-get for Solaris is a great feature. the point of Portaris, however, i think is a bit more than just the functionality; it's the fact that Gentoo is supporting other OSs.

  • http://www.redmountainsw.com/wordpress Chui Tey

    Dependency hell actually arises if you have one application updating a component that another application depends on.

    This is a common problem with COM dlls in Windows. It was thought to be a good idea initially, because the user would always have the latest and presumably least buggiest shared component installed. In practice, it caused several issues:

    1. Uninstallation difficulties. Before reference counting was introduced when an application was removed it removed shared components that is used by other applications.

    2. Lack of component isolation. Software has been tested and certified against a certain set of program components. Some of the components used might just happen to work because of the presence of a particular bug in another dependent component. If a new software package is installed and replaces a buggy component with a fixed one, it will break another app.

    Microsoft has actually more experience in this area than portage.

    The value of the Gentoo developer to Microsoft is

    a) it helps MS understand the competition a bit better. CLR and JVM are already JITing on the machines which software is being run on, so in a sense it is not much different to Gentoo. The idea here is to better get into the mind of the people who use Gentoo why there would be such a preference. In theory, what Gentoo could build would represent the most optimized system that Linux is capable of. If MS wants to run comparisons, this would have to be the target to match.

    b) There is also a slight advantage to MS by decreasing the velocity of Gentoo development.

  • Pingback: James Governor's MonkChips

  • Pingback: James Governor's MonkChips