discuss-gnustep
[Top][All Lists]
Advanced

[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




reply via email to

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