[Top][All Lists]

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

The Path of GNUstep (Was: Re: Gnustep + mac + windows? Possible?)

From: Stefan Urbanek
Subject: The Path of GNUstep (Was: Re: Gnustep + mac + windows? Possible?)
Date: Sun, 22 Sep 2002 14:23:42 +0100


Even I do not have too many experiences in computer science as many of you have 
here,  I would like to express some of my thoughts. I do not want to offend 
anyone, so excuse me if I accidentaly did.

On 2002-09-22 13:51:02 +0200 Jeff Teunissen <address@hidden> wrote:

Dennis Leeuw wrote:

Jeff Teunissen wrote:


What are you suggesting? That we stick to the OpenStep spec. as
published and create, e.g. bundles, or frameworks to extend that.
Or do you just want to walk another path and create another cocoa, but a
free one. Meaning another OpenStep extended with the same problem as
OpenStep vs. Cocoa?

Or do you see another way?

Sticking to the letter of the OpenStep spec is unreasonable; there ARE
several things that have changed since 1994/1996 (OpenStep spec/OPENSTEP 4
release). For example, it is clear that something else should be done for
display, because Display PostScript(tm) isn't readily available
everywhere, and because it's suboptimal even when it is available.

OpenStep was here, it was good, but we have to go on...

However, following Apple is largely fruitless and improbable, if not
outright impossible. There exist things in GNUstep _today_ that are, or
may be, infringing on Apple-held patents (like the key-value coding in
-base and GSWeb, which may be covered by a whole raft of patents assigned
to NeXT Software throughout the '90s).

I do suggest that non-core functionality should not be part of the core
libraries, but rather in secondary libraries, bundles, and/or frameworks.
Like the sound system, or an OpenGL framework, or bundles to add different
image types (though this _was_ specified in OpenStep) to NSImage.

I agree. GNUstep already has good mechanisms for extending the functionality, 
but it is not used as much as it can be used. Moreover, that functionality can 
be added at runtime. I can imagine loading NSImageRepresentation or NSString 
readers/writers classes as they are needed, but this is only a small portion of 
what can be done.
However, I also suggest that GNUstep should evolve along paths that make
GNUstep better for GNUstep, and not necessarily in ways that Mac OS
developers would expect.

I could not agree more, but ... despite GNUStep has it's own way, GNUstep may 
benefit from being compatible with OSX in the beginning. GNUstep needs apps, 
and this is one of the ways how to get apps fot it.

NeXTstep and OPENSTEP were _the_ most Unix-like, bar none, graphical
operating systems ever developed. The whole operating environment was
based on, and leveraged to a tremendous degree, the philosophy of the Unix
operating system -- a system built of small tools that you could use to
build systems with a high degree of rapidity, reliability, and ease of use
at every level.

Speaking about UNIX ... it was here for many many years and it is still here. I 
do not want to start arguing here, just want to say what I think. Unix is old, 
and it is its time, soon or later.  As one may see, ~step is trying to hide it 
under the objects where one does not see or even feel it (well, not entirely). 
But this is completely another story about a system with objects. There was, 
and still is, a try: Smalltalk or Self, for example, and even being big fan of 
both I do not think they will succeed ant time soon, because they are 
Now it seems that GNUstep is heading similar goal, but it goes step-by-step, 
slowly replacing mechanisms of the old world with new Objective one. I see 
GNUstep as one of first/next steps towards one object environment. GNUstep goes 
on a path of the evolution.

*step is an extension of that philosophy. It's a system that lets you do
even more, even more quickly, than anything else -- including Mac OS X.

And that is the point (from my own experience): With other environments (except 
Smalltalk) I had to think, how would I do this or that ... with ~step, I just 
take some well-designed objects and I do it.
Objective-C, Frameworks, Services, the Pasteboard, *PORTABLE* Distributed
Objects, WO/GSWeb, IB/Gorm, the shell, even the "spartan" (elegant and
distinguished) interface, contribute to something that is far, far greater
than the sum of its parts.

At this time and with current systems, what can we want more? This is a good 

You don't need Microsoft Office, or even a clone, on a system like that.
You put pieces together to assemble a single system that precisely fits
your needs, with nothing there that you don't need. Other people put
together systems that fit exactly what *they* need. And Free Software
helps them help each other to make everything they all need.

Yes, one of the advantages of ~step is great reusability.  ~step is like the 
Lego: one has blocks (objects provided by frameworks) and one builds a house 
(an application). One may change a point of view and he may see an application 
as a tool using those objects. Moreover,if developer were encouraged to create 
a framework and small application using that framework instead of creating one 
big application, then others may reuse components of that framework without 
need of writing same thing again. This makes developement much much faster and 
one can concentate on what he wants to do and you do not have to waste his time 
by writing something that is already there.

Not mentioning that in ~step one can use several small _collaborating_ 
applications-tools (not as command line tools, but as tools for doing your work) to 
complete one task. An I emphasize the word _collaborating_ again, because with 
~step it is so easy (DO, Drag & Drop...).

Somewhere on the net I have seen this:

Every program attemts to expand until it can read mail. Those programs which 
cannot so expand or are replaced by ones which can.

This can be like a warning to ~step.

Mac OS X has left that path almost entirely. Big apps in which everyone is
reinventing wheels and not taking advantage of the things that were left
by its progenitors(NeXTstep/OPENSTEP), with very little in the way of
collaboration. The interface is bright and cheery, but it has the smell of
death about it.

Apple have left the path. GNUstep should keep going, because it's as close
to a holy grail of computing as anything most of us is ever likely to see.


It may be necessary to change the way of thinking or point of view and to free 
ones mind from existing systems to be able to understand and efectively use 
~step. It is not ideal, but it is the way to go. It's not a catch-up game, but 
the evolution.

Maybe I am just a dreamer, but I am not the only one ... (John Lennon)


P.S.: Jeff: excuse me for paraphrasing some of your thoughts.

reply via email to

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