[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: reincarnating nextstep

From: Sašo Kiselkov
Subject: Re: reincarnating nextstep
Date: Fri, 18 Nov 2005 22:23:56 +0100
User-agent: Internet Messaging Program (IMP) 3.2.5

Quoting address@hidden:

> > >>> Not intending to troll here, or start another OS-related flame-war,
> > >>> but why base it on Linux?
> > Neither do I, but why not linux? It supports more
> > hardware than Darwin/xxxbsd. Maybe the
> > debian-derivative componentizedlinux which aims to
> > make easy the creation of custom distros could be
> > a good starting point for such distro
> > (http://componentizedlinux.com).
> why not make it independent of what's under it?
> basically i was able to switch from morphix (linux) to ging (freebsd
> kernel and gnu c library) without much hassle (one sunday with the ging
> developer).
> there's also ubunutu live cd system, the main advantage (i didn't get
> just asked once
> for a gnustep system on a cd that'd work on powerpc also) would be it'd
> also
> work on powerpc.
> my personal goal is to have a mach kernel (something like gnu/hurd)
> though.

Making an OS distro independent of it's kernel is like trying to make a car
independent of whether it has wheels, tracks or little feet - it is quite tough.
Most software, naturally, is kernel independent, but there's tiny edges here and
there that will cause you a headache when trying to switch around underlying OS
levels. Consider for example the following parts of a system:
 - NetManager (each OS has different network management principles)
 - device handling in the workspace manager (each OS has different device
 - auto-load driver framework (each OS completely different driver schemes)
 - UserManager (Linux uses PAM, FreeBSD uses ... what was the thing's name
again..., Darwin uses NetInfo)
 - Installer (each OS has different partition layouts)
 - graphical bootup (each OS does differently)

All of these sub-systems are a necessity to achieve true NeXTStep user
experience, but each of them either needs to be totaly restructured and
rewritten for each separate underlying system, or at least heavilly #ifdef'ed.

Personally, I have no problem with Linux. Why forcefully try to be "different".
Linux has the following undeniable benefits:
 - it's stable and will be supported in many years to come
 - it has support for many bleeding edge features
 - it has support for a *wide* range of hardware - practically the widest of all
Unix-like OSes (and this matters *A LOT* to end users - they want to be able to
take their newly bought weird peripheral, hook it up to the machine and be
immediatelly able to use it)
 - it's application base is *huge* - things from non-Unix platforms (e.g. games)
get first ported to Linux and then to everything (if anything) else

Comparing other systems to Linux:
 - FreeBSD - same monolithic system like Linux, just with a little less hardware
supported and a bit fewer apps available out-of-the-box
 - GNU Hurd - very modern design and highly modular, certainly better design
than Linux. But:
   + is at least 10 years behind it's schedule
   + has very little support and it's future is everything but assured
   + supports very little hardware and apps for it are extremely rare
 - Darwin - a combo - partially like FreeBSD, partially like The Hurd. It's
semi-monolithic, has not much hardware support, the company which supports it
can do commercial decisions about it's future any time and also looks like a

I can be wrong, I know. The apps problem can easily be resolved, since most
Unix-apps are easily portable to POSIX-systems, hardware support can improve in
the future and many other things can happen. But if I were to choose, I'd
choose a sure-fire way. Choosing the wrong direction will result in more
maintainance hassle and more time being spent to just keep the system alive,
rather than really improving it. And also keep in mind, that 95% of the users
of NeXTstep didn't even know what a kernel is and 90% of the rest never played
around with Mach at a level where it's features would matter to them (and do
you plan to hack The Hurd, Darwin or Linux?). So remember, that it will be the
95% majority which will decide about your system's success, and they don't
decide based on what features a kernel offers to the system, but on the
features, reliability, support and adaptiveness the system offers to them.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]