Hi All,

I believe now would be a really good time for us to create our first stable 
branch of OpenIndiana, given the timing of some developments within the project.

Below I've outlined my proposal and I'd love feedback from the community and 
from OI developers!

Obviously as a new project with a small (but growing) developer base, providing 
support for the whole release isn't feasible - there are literally thousands of 
packages in the distribution. But we have to start somewhere, so I'm proposing 
we provide limited support (outlined below) for a set of core packages.

********
* Why? *
********

Prior to the Oracle takeover, Solaris 10 was free to use in production, and for 
a long time, security updates were provided free of charge. OpenSolaris was 
also free to use, and updates were available by living on the bleeding /dev 
edge. People were (mostly) happy.

Then Sun hit financial difficulties and discontinued free security updates for 
Solaris 10. Then Oracle happened, ending the free use of Solaris in production.

This has left people wishing to use Solaris technologies on their production 
servers in a difficult position. They have to pay Oracle, or use distributions 
that don't provide security updates. Or switch to Linux.

There are a great many people who would jump at the chance to use Solaris if 
there were a production ready version with security and bug fixes provided for 
free.

Indeed, this is what people have come to expect from mainstream UNIX platforms 
- Linux distributions such as Debian, CentOS, Ubuntu, etc, provide updates free 
of charge - and this is one of the reasons they have become so popular.

We have a real opportunity to capitalise on the situation left by Oracle, to 
capture server market share away from OpenSolaris, Solaris 10, and give users a 
migration path other than switching to Linux (which a lot of people are doing).

There are a lot of people out there who *really really* want a stable build of 
OpenIndiana - myself included, and I believe OpenIndiana's best chance of 
gaining acceptance, market share, and building a thriving development community 
is by capturing the server market.

There is also a risk that if we *don't* do this, we'll become an obscure fringe 
distribution, like DragonflyBSD.

The goal here is to be the *mainstream* accepted de-facto Solaris distribution. 
Something people talk about and seriously consider using.

Solaris contains killer technologies not seen on other platforms; technologies 
like ZFS, Zones, SMF, DTrace, COMSTAR, Crossbow - I couldn't live without any 
one of these, and we should capitalise on this while we can.

It's also worth keeping in mind that despite warning users that oi_147 and 
oi_148 were development releases, people are already using it in production 
environments, myself included, due to a lack of alternatives. The great news is 
that it has proven to be exceedingly reliable, and I have no hesitation in 
recommending it for busy workloads. All we need to do is add security updates 
and critical bug fixes on top and we'll be in a great position. No small feat I 
grant you, but we can start off small and work our way up.

Now is also an opportune time to do this - our next release will be based on 
Illumos, which has seen rapid development and will involve some integration 
pain. Some have called for a stable branch after Illumos is integrated, but it 
could be many months until we have an Illumos dev build suitable for respinning 
as a stable branch. That's months of lost opportunity.

So I say we do it now.

/dev builds will continue as normal, the next one will be Illumos based - 
Desktop users can continue to use our /dev builds, and internet facing servers 
can use the stable branch.

*********************
* What we'd provide *
*********************

The release would be aimed for February, and titled "2011.02". It would be based
on oi_148. We would only provide the Text Installer and Automated Installer
ISOs.

We would provide security and critical bug fixes only for:

1. OS/Net (The core OS consolidation)
2. A limited set of server oriented packages that have the greatest usage and
attack "surface area". The initial list I can think of includes:

 - OpenSSL
 - Sendmail
 - Perl 5.8.4
 - Python 2.6
 - Ruby
 - zip, bzip2, gzip
 - Apache HTTPD 2.2
 - PHP 5.X
 - MySQL 5.X.X
 - Postgresql 8.4
 - Java
 - Tomcat
 - GNU Coreutils
 - GCC
 - RSync
 - ISC BIND
 - Bash
 - Curl
 - wget

We should also aim to provide security fixes for any bit of software in the 
repo that allows an easily exploitable remote access vulnerability or root 
privilege escalation, although we cannot guarantee to do so as monitoring 
security updates for over 1000 software packages is unfeasible. An example 
would be the recent Exim vulnerability on CentOS that allowed remote root 
access by sending appropriately formatted emails. This area is something where 
we will depend on users, not OI developers, alerting the project to the issue 
so that a judgement call can be made on whether we have the resources to fix 
the issue.

Security updates would be provided from 6 months of the release date, or until 
the next stable release is released. Potentially we have the option as a 
project of providing commercial support past the 6 month date if enterprises 
desired this. I feel this could be a good way of generating revenue for the 
project to fund development if there was a market for it.

If external contributors were able and willing to commit patches/fixes beyond 
the supported list, we'd accept them with open arms, and this could be a great 
way to extend the contributor list and get more people involved.

******************
* How we'd do it *
******************

1. We do a re-spin of oi_148 fixing any of the major bugs that we can (Eg 
things like the Broadcom driver issue introduced in oi_148)

2. This gets pushed into pkg.openindiana.org/stable (or /release - tbc)

3. Security fixes and critical bug fixes for the supported packages get pushed 
into the repo. People doing an image-update would then receive the latest 
packages.

4. Security fixes and bug fixes would be backports to the version we currently 
provide.

People should be able to update from oi_148 to 2011.02. And people should be 
able to update from 2011.02 to oi_150. But people should not be able to 
downgrade from oi_150 or later to 2010.02. This is the same as the situation 
was with OpenSolaris releases.

To make the above easier to manage, one proposal I have is to match the 
versions of Apache, PHP, MySQL, Tomcat etc to the same versions shipped in RHEL 
6/CentOS 6. This way we can monitor their repositories for security updates 
against these packages, and share the same backports. This will make life a lot 
easier for us as a project.

The main thing will then be doing rebuilds of the packages involved. I would 
suggest we keep a set of Zones on infra01.uk.openindiana.org around for doing 
this, so that doing a rebuild is very easy to do, and well documented. Just a 
case of logging in, patching the appropriate files, running a build, pushing to 
a test repo, testing it, and then pushing into the public repo.

**********************
* Concluding Remarks *
**********************

I believe this is a great opportunity for us and I think it's the right time to 
do it.

Although we're starting on the server only front, there's no reason why we 
can't at a later date add support for the desktop if sufficient contributors 
are able to make it happen. 

I'm confident that with a stable branch, we can really increase our userbase on 
servers, which will bring commercial opportunities from the enterprise, and 
accelerate development of our favourite operating system :-)

Looking forward to feedback!

Cheers,

Alasdair.
_______________________________________________
OpenIndiana-discuss mailing list
OpenIndiana-discuss@openindiana.org
http://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to