[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Goals for OpenDarwin [was Differences between darwin and opendarwin]
From: |
Graham Lee |
Subject: |
Re: Goals for OpenDarwin [was Differences between darwin and opendarwin] |
Date: |
Sun, 29 Feb 2004 17:13:09 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4 |
Chuck Remes wrote:
New thread!
[CCd to the GNUstep discussion list - I expect I'm not the only GNUstep
user who would find this interesting and maybe it will provoke some
communication between the GNUstep an the OpenDarwin people]
On Feb 28, 2004, at 10:23 PM, Brent Fulgham wrote:
<snippity>
And maybe GNUstep?
On Feb 29, 2004, at 12:40 AM, Ed Waldmire wrote:
I have GNUstep running on a Darwin 7.0.1/x86 machine. I'm not sure if
you were implying including it in OpenDarwin, or just simply getting
it to work. If you just meant getting it to work, well: It's not too
hard. There is actually a README.darwin (or something similarly
named) in the GNUstep source that pretty much lays it out for you (the
one big drawback is you have to compile FSF's gcc). I actually gave
the GNUstep project leader (Adam Fedor) access to my x86 box back in
Jan and he made everything play nice. If you meant including it with
OpenDarwin....well I see flamewars coming, but I think it would be
cool to start including some kind of desktop.
Personally, I think GNUstep is absolutely the right project for
OpenDarwin to coordinate with to create a real, standalone OS that is
usable for the masses. It has a nice feeling of symmetry to it. :-)
Agreed! Blimey, I was beginning to think that I was part of a dying
breed; people who think that GNUstep is the way to go for a GUI-driven
operating system (and that has absolutely nothing to do with the fact
that the system sitting next to this PC is a turbo colo[u]r slab... ;->).
The object-oriented methodology in Objective-C and {Open,GNU}step leads
to a great platform for developing GUI apps, especially using RAD tools
(arguably better than C++, and it's a position that I'm prepared to
argue, having developed for both). But it's also good for server apps
and general 'backend' stuff; for example gnustep-web/WebObjects. The
latter has been around for over a decade (first in objective-c, then in
Java) and drives things like the Apple store; GNUstep is used in server
projects such as OpenGroupware.org. Further, the environment presented
by {{NeXT,OPEN,GNU}STEP,Rhapsody,Mac OS X} has got nearly 20 years of
R+D behind it, and works.
It gives us as a community the best shot at providing a pseudo-OSX
experience on x86 hardware.
As someone who is principally an end-user/admin/developer, I'd say that
this smells a bit too much like "OpenDarwin is OS X for poor people", no
flaming intended but I'll get my asbestos suit on just in case. I think
that a venerable goal for a theoretical GNUstep/OpenDarwin OS would be
to provide a coherent, consistent UI experience to end users, in the
same heritage as NeXTSTEP or OS X. To developers, it could provide a
familiar development environment and object framework, as well as source
code compatibility with GNUstep on Linux/*BSD/Solaris and to a limited
extent Cocoa on OS X (and OPENSTEP - I know for a fact that there are
still organisations out there reliant on software running on NEXTSTEP
and OPENSTEP - this University is one of them!). To admins, it provides
the same underlying UNIX subsystem as OS X and hence can be dropped into
a Mac environment without too much feeling of heterogeneity. Especially
as this system combined with XPostFacto would allow the same desktop to
be presented on x86 hardware as on older Macs. Or indeed newer Macs, as
some people may find it preferable to OS X, and stick with Mac hardware
for the stability and build quality (that's the newer ones, not the
older ones!).
I'd like to return to the point about a 'consistent UI experience' -
this is something that "Linux on the desktop" lacks to a certain degree,
that NeXT/Apple hit right on the head, and that OpenDarwin should
definitely look at providing. Let me describe the Linux system on which
I'm writing this mail. The user interface is principally Window Maker
with GNUstep apps (looking at my dock/clip I see GNUMail, ProjectCentre,
Terminal.app, Affiche, etc). But then I also use thunderbird and
firefox, which look like GTK apps (and hence unlike GNUstep apps). Then
I use KNode for mail, which looks like KDE and unlike GTK or GNUstep.
Then emacs, which uses something else (probably athena); and so on and
so on. To make GNUstep/OpenDarwin a 'killer' desktop environment, all
it needs to do is have a reasonably self-contained bunch of apps that
behave in the same way, so that once I've shown my mother how to use the
web browser she's got some idea of how the word processor will behave,
and so on. GNUstep provides this 'for free', it's just that many of the
apps aren't there yet.
The question of a GNUstep web browser is quite an interesting one, isn't
it? Of course an open source browser with the GNUstep look-n-feel would
be fantastic, but if OpenDarwin users, hackers and developers could get
sufficient momentum behind a GNUstep/OpenDarwin project, and if someone
wrote a very nice and detailed letter to a company such as Omni group,
it might be possible to demonstrate to them that their apps can be
ported to the new system with very little pain, opening up a new range
of software for us and a new market for them. Or they may be willing to
discuss opening parts of their older software for use by the community;
I've got a sneaking feeling that OmniWeb 3 for instance would build
fairly painlessly on GNUstep atop Darwin....
If we can begin moving toward that, it may
make OpenDarwin more attractive to some x86 hardware driver hot-shots
who can help us get it working on more than half a dozen motherboards.
The level of HW compatibility that darwin-x86 has is quite poor and is
(right now) 100% reliant on the engineers at Apple who keep it running
on x86 for their internal testing (if anyone knows differently, I'd like
to hear it).
Yes, this is the foundation of the system I discussed above. It's all
very well having an 'insanely great' operating system with an 'insanely
great' GUI and an 'insanely great' developer environment, but if it runs
on less than five percent of the world's computers then there's very
little point to it, as attracting new blood will be tricky. I'm going
to stick my neck out here and guess that most current GNUstep and
OpenDarwin users are also current or former NeXTSTEP, OPENSTEP or Mac OS
X users - there were only ~80k NeXTs sold IIRC and there are maybe 10M
OS X users. Even assuming that NS/OS on intel, sparc and HP-PA
increases the user base by a factor of ten (I bet it doesn't), we're
looking a total usership of <11M, a large proportion of whom will not be
interested in Darwin minus Aqua. So by demonstrating to current
Linux/*BSD users that this system [i]works on their existing hardware,
[ii]works kinda like their existing systems, [iii]is better ;-), the
project is potentially opened up to enough people to generate the
'critical mass' needed to make it gather momentum among users and
developers.
Here are a few goals that I'd like to throw out there for discussion...
[some snippage - bullet points kept]
0. Improve documentation for newcomers and oldsters alike.
1. Increase x86 HW (motherboard) compatibility.
2. Increase general HW compatibility.
3. Simplify the install process.
4. Define and chase a particular market niche for which we think
OpenDarwin is particularly well-suited.
5. I know that this is the current cliché among Linux distributions, but
Live CD, and a 'fat' live CD at that. Make it possible for
admins/users/developers to see that GNUstep/OpenDarwin will boot on
their PC *and* on their Mac, looks the same on their PC and on their
Mac, and works the same on their PC and on their Mac.
6. Development support for x86 and PPC out of the 'box'. Show that
GNUStep, Darwin and Mach_O provide a better 'write once, run everywhere'
environment than many other development systems.
7. [and this is a GNUstep thing rather than a OD thing] themability.
Any non-NeXThead who I show my GNUstep/Linux system to thinks that the
UI as it stands is a bit dated and klunky. I think it looks a lot
cleaner than the 'boiled sweets' and alpha-blending of Aqua/XP/KDE, but
it's boiled sweets that people want. They should at least be allowed to
choose that.
I vote we target ease-of-use. That's something I haven't seen be a very
big priority from KDE or GNOME or the other big guys in the interface
space. IMO, it's not even much of a priority for the lower-level OS
services that could offer plug-n-play device support. Many competing
free OS's are content to reinvent Windows, but I think we have an
opportunity to do something different and better. Partnering up with
GNUstep may be one element of the overall pursuit of this particular goal.
Seconded very heartily (as my 'little' rant above may attest). We don't
want to be reinventing Windows, as it's not very good to start with. We
don't particularly want to be reinventing OS X or NeXTSTEP either, but
instead noting that these systems had the right idea all along and we'd
like to extend it in our own direction while still keeping some
familiarity for those who are used to it. But primarily, as Chuck says,
we want an easy to use OS and desktop. In my opinion this means a
consistent desktop. It also means an easy-to-develop-for OS and
desktop, so that more developers come aboard and make even more
consistent applications.
Like Chuck, I believe that GNUstep on Darwin can provide this system.
--
Graham Lee
Wadham College
OX1 3PN
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Goals for OpenDarwin [was Differences between darwin and opendarwin],
Graham Lee <=