[oi-dev] Building OpenIndiana

Alasdair Lumsden alasdairrr at gmail.com
Tue May 7 23:11:02 UTC 2013


Hi,

Basically there is nobody left working on the project that I know of apart
from Jon Tibble (Meths on irc), who doesn't seem to respond on the mailing
lists much, and Milan Jurik who was working on a JDS update. Neither Jon
nor Milan have opted to take on leadership status from what I know, so this
whole project is a "ghost project" - there's a website, a wiki, a download
page, and a package server, but there isn't really anyone here except a few
caretakers who occasionally trim the hedges and mow the lawn but mostly
keeps to themselves.

There isn't really any single document describing how to "build" OI - it's
not an easy task. Under Sun, OpenSolaris was built from a collection of
consolidations, a consolidation being a logical grouping of software, and
OI inherited this. For example there was:

onnv-gate: Kernel + Core Userland. This is what illumos is today - they
forked the last open release of onnv-gate, onnv_147.

sfw-gate: Sun Freeware - collection of open source utilities. Uses GNU
Makefiles for building. Like a poor implementation of FreeBSD ports/pkgsrc.

userland-gate: A replacement for SFW, with a tidier better IPS-ized build
system. Also uses GNU Makefiles. Similar to FreeBSD ports tree or pkgsrc.
oi-build is a clone of userland-gate, and we wanted oi-build to take over
from all the other consolidations.

xnv-gate: The X.Org consolidation, maintained at Oracle by Alan Coopersmith.

pkg-gate: The IPS software consolidation.

vpanels: The visual panels thing.

Caiman: The installer.

JDS: The Java Desktop system, based on spec-files technology. Also known as
the "gnome" consolidation as it's where gnome lives. Also contains
Firefox/Thunderbird/Evolution/etc.

g11n: The internationalisation consolidation with localisation text/strings
for apps

admin/sic_team/solaris_re/etc - Misc other stuff.

You can see the various consolidation source repos here:

https://hg.openindiana.org/

Under Sun, each consolidation was managed by a whole team, many of which
were in different geographical locations. As far as I know, JDS was done by
Sun India, pkg-gate by staff in Ireland. Each consolidation uses different
build systems, each with their own pros and cons, but all requiring quite a
lot of domain specific knowledge, with very little documentation provided
to get started.

Every 2 weeks these consolidations would be delivered to the Solaris
Release Engineering team, who would assemble things together to put out a
release. Some of the consolidations produce IPS package repos, some of them
produce bundles of SVR4 packages which have to be converted to IPS packages
using the distro_import utility. Then everything has to be merged together,
then distro-constructor would be run to spit out the installable ISO image.

So you can see, we're talking about a major engineering effort for each
release. Sun had loads of staff, so it wasn't an issue. OI however had a
small number of volunteers, such as myself, Andrzej Szeszo, Albert Lee, Jon
Tibble, etc. We put in an extraordinarily large amount of hours to figure
out how it all worked, it took months and months of scratching our heads
and hacking away to get stuff to build, and a big push to get the first OI
release done, oi_147, and then the subsequent releases oi_148 and oi_151.

I had a grand plan to try to unify all the separate consolidations into
what I considered the "best" one, userland-gate, under the name oi-build. I
didn't get very far. Nexenta wanted to ditch using the Debian userland in
favour of something native, so asked to collaborate with us on oi-build, so
it got renamed -illumos-userland. However politics, infighting and a
general lack of communication/direction/sanity within Nexenta led to it
being stillborn. People got frustrated, bored, and lost interest, including
myself. Then I quit, and almost everyone else seems to be working on other
things now.

So we're left with a dead project, apart from the work Jon Tibble is doing
to periodically update oi_151 with a new illumos-gate release, along with
some package updates and fixes as he finds time.

If you want to "build OI", you need to understand that there is no single
way to build the whole OS, there is no equivalent of, for example,
FreeBSD's "make buildworld". Each consolidation would have to be built
separately, then merged with distro_import.

If you just want to update a single package, you could identify what
consolidation the software you want to update lives in (which you can see
in the packages metadata, for example "set
name=org.opensolaris.consolidation value=gnome" indicates the JDS
consolidation). Then build that consolidation (or just the package in
question). But if any other software depends on what you're updating, you
have to rebuild it, and that often crosses consolidation boundaries.

If I had more time and motivation I still think it would be worth sorting
the OI mess out, but time and motivation are in very short supply. I
started OI because our business used OpenSolaris and we needed a follow on
OS to use after Oracle discontinued releases. But then Joyent released
SmartOS, which is designed for cloud computing, so we use that - it would
be stupid not to. There was then no requirement for me to continue working
on OI.

OmniTI decided that the mess Sun left behind with OpenSolaris was too
horrific to even contemplate working with so created their OS from
scratch.I think it would have been beneficial for illumos to have a
strong general
purpose OS with a good desktop, such as OI, but most of the ex-Sun
engineers were very hostile to our effort. I think they shot themselves in
the foot by not giving us more support. But other desktop distros based on
illumos are emerging, such as Tribblix, so natural selection will take its
course.

I don't personally see a bright future for OI unless a smart, committed new
leader steps up and drums up renewed excitement for sorting everything out.
Jon and Milan might do micro-updates, but unless they or other people step
up to work on all the other areas of the project, such as drumming up
interest, marketing, PR, helping new developers on board, it's never going
to get very far.

Alasdair
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20130508/a44b3f17/attachment-0005.html>


More information about the oi-dev mailing list