[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep Base OpenStep Compliance
From: |
Richard Frith-Macdonald |
Subject: |
Re: GNUstep Base OpenStep Compliance |
Date: |
Sat, 5 Apr 2003 03:33:32 +0100 |
On Friday, April 4, 2003, at 11:07 pm, Tim Harrison wrote:
On Friday, Apr 4, 2003, at 15:55 Canada/Eastern, Richard
Frith-Macdonald wrote:
I can't see why we'd want the OPENSTEP 4.2 implementation as a
particular target. In terms of look and feel of the gui and
applications
IMO NeXTStep3.2 was better and we should be aiming for that,
while in terms of implementing the OpenStep API OPENSTEP4.2 is
little better than MacOS-X, so where undocumented implementation
details are concerned we should take a live system in preference to
a dead one as our primary standard.
I think you're TOTALLY missing the point. We're not talking about
wanting a dead system. We're talking about wanting support for an API
that is UNCHANGING, as opposed to the CHANGING API of Cocoa, something
we may not have the resources to track, and something that might
implement changes that break previous OpenStep/OPENSTEP behaviour,
causing GNUstep to be less than consistent.
Yes ... I was missing that point ... because *NOBODY* is proposing
following a changing API in the sense you seem to mean.
So discussing that doesn't seem profitable.
People keep saying "OpenStep (or OPENSTEP, or whatever bloody
combination of case you wish) is dead".
I think this may be a cause of confusion ... if you are not aware of
the distinction between OpenStep and OPENSTEP then for most of this
thread you won't actually be understanding the discussion ... the two
terms have very different meanings.
And then, in the next breath, argue that Cocoa is just an updated
OpenStep. Which is it? Is it dead? Is it Cocoa now?
Is it alive and well and living in Freedom/France? Is it my cat? I
think OpenStep is alive and well, and Apple is learning how to build a
proprietary system out of something that used to be a whole lot more
"open". So, maybe OPENSTEP 4.2 hasn't been a "current" system for a
while, but the core technologies beneath it (OpenStep and the
additions for OPENSTEP) are VERY much alive.
OpenStep is an API specification ... it was produced in 1994 and has
not changed since.
OPENSTEP is an implementation of OpenStep ... it went through a few
versions ending in 4.2 and is no longer developed or readily available.
MacOS-X is an implementation of OpenStep ... it's derived from OPENSTEP
and is still developed and available to buy.
GNUstep is an implementation of OpenStep
OpenStep won't be dead until people stop implementing/using it.
OPENSTEP is dead in the sense that it's no longer developed/sold and
fewer and fewer people use it.
MacOS-X and GNUstep are alive ... they are being developed/sold and
more people are using them.
I'm very happy to have backward compatibility options for OPENSTEP
users built into the code ... as long as those users help maintain
them,
but I don't want to spend my time borrowing time on someones old
OPENSTEP system to test each change I make so that the code
conforms to the OPENSTEP4.2 implementation.
But, the point is, having "forward compatibility" with Cocoa would be
a much wiser design choice.
Which is what I'm advocating! I was just saying I don't mind having
backward compatibility too.
Chasing an actively developed, and changing API, and expecting to base
a stable system on it is, in my opinion, folly.
But *NOBODY* proposes that.
> Starting with a solid, stable, unchanging base, and then adding on
extensions to that, carefully selected from Cocoa, makes infinitely
more logical sense.
Everybody is saying we want the OpenStep API as our core, and to add
extensions to it.
I've kept my personal reasoning out of this, thus far. But, I'm
absolutely infuriated by the current state of GNUstep. I've been
trying to build an operating environment that is significantly based
on GNUstep, but I have trouble going forward with it, because I don't
want a user to have to reinstall the ENTIRE system every time someone
makes a change to the releases, and suddenly everything from the
user's mail client to the desktop/workspace to the init system no
longer functions. And, to a small degree, this happens to most of us,
from release to release. Even from CVS checkout to CVS checkout. And
I can't tell you how many times I've ranted, or watched others rant,
about how ridiculously unstable GNUstep is, and how pissed off people
are that the API/implementation/documentation (just kidding) keeps
changing under the apps, making them fail miserably.
If you really think you can maintain a stable development environment
while tracking Cocoa as a primary goal, then I salute you. But,
historically, and certainly up to this exact point in time, GNUstep is
NOT stable, does NOT seem to have a solid goal (whether it be
Cocoa-clone, OpenStep implementation, or anti-GNOME, whatever), and,
in my opinion, has trouble getting developers and users because of
these issues, not because NSDrawer isn't implemented.
I love the concept of GNUstep. I love what it could/can be. I can't
tell you how many people say, "I read about GNUstep several years ago,
and hoped it would be ready by now". I started getting involved with
this community two years ago now, and honestly believed that this
environment would be ready for the kind of system I wanted to build.
And, for some silly reason, I still stay, and still try to do my part
for making things better. I can't code to save my idiot life, but I
submitted proposals for cleaning up filesystem organisation. I want
to see GNUstep rise above. But, in the current state, I fear that it
will forever remain an unstable, niche gadget, and act as an example
of what might have been.
Does that make it clearer as to why we'd want to focus on
OpenStep/OPENSTEP as a basis for development? I can't think of any
way to make it more plain.
It explains your frustration. I'm frustrated by lack of stability of
the gui too. However MacOS-X has nothing to do with that ... lack of
developers does!
The gui is still relatively unstable because we don't have lots of
people fixing bugs. That means it has a relatively large number of
bugs (being a large package), and that means that application
developers build their applications based on buggy behaviors, and the
applications then break when the bugs *are* fixed (or when new bugs are
accidentally introduced of course). Also the gui package is *complex*
with a lot of interrelationship between classes, so fixing a bug in one
place often exposes a problem elsewhere.
When we try to fix bugs in the gui code (or implement stuff from the
OpenStep API that's not yet implemented) we *very* often find that the
OpenStep spec is not clear enough or complete enough to tell us exactly
what we should do.
At this point we need a reference implementation to check behavior
against. We can use some version of OPENSTEP or some version of
MacOS-X as our reference. It doesn't matter much because both behave
broadly similarly (after all, MacOS-X is derived from the OPENSTEP
codebase), but the MacOS-X implementation is *much more readily
available*
It's important that when we fix a bug we try to get the *right*
implementation rather than just something that fixes the immediate
problem. Checking against a reference implementation helps a lot with
that.
This is what I'm talking about when I say we should use MacOS-X.
It's not a matter of tracking a changing API ... it's a case of
clarifying the OpenStep API using an (almost) unchanging reference
implementation.
The changes in various releases of MacOS-X are almost all *additions*
to the MacOS-X API, and GNUstep specifically does not commit to
tracking them (though often we do add the new stuff when it looks good).
So, to try to clarify again ...
We should Implement the OpenStep API in the core libraries.
We should use MacOS-X as a library test reference platform,
We should implement NeXTstep look and feel applications on top of it.
One thing I'd like ... if it was practically possible ... would be for
developers to be able to get hold of OPENSTEP4.0 or NeXTstep 3.2 and
some way to run the systems! MacOS-X provides a good convenient
reference for the OpenStep API implementation, but its gui look and
feel is quite different (and imo inferior) to the look and feel I'd
like to see.
- GNUstep Base OpenStep Compliance, Adam Fedor, 2003/04/03
- Re: GNUstep Base OpenStep Compliance, Richard Frith-Macdonald, 2003/04/04
- Re: GNUstep Base OpenStep Compliance, Richard Frith-Macdonald, 2003/04/04
- Re: GNUstep Base OpenStep Compliance, David Ayers, 2003/04/04
- Re: GNUstep Base OpenStep Compliance, Adam Fedor, 2003/04/04
- Re: GNUstep Base OpenStep Compliance, Richard Frith-Macdonald, 2003/04/04
- Re: GNUstep Base OpenStep Compliance, Tim Harrison, 2003/04/04
- Re: GNUstep Base OpenStep Compliance, Nicola Pero, 2003/04/04
- Re: GNUstep Base OpenStep Compliance,
Richard Frith-Macdonald <=
- Re: GNUstep Base OpenStep Compliance, Philippe C . D . Robert, 2003/04/05
- Re: GNUstep Base OpenStep Compliance, Richard Frith-Macdonald, 2003/04/05
- Re: GNUstep Base OpenStep Compliance, Helge Hess, 2003/04/05
- Re: GNUstep Base OpenStep Compliance, Jeff Teunissen, 2003/04/06
- Re: GNUstep Base OpenStep Compliance, Helge Hess, 2003/04/08
- Re: GNUstep Base OpenStep Compliance, Markus Hitter, 2003/04/08
- Re: GNUstep Base OpenStep Compliance, Helge Hess, 2003/04/08
- Re: GNUstep Base OpenStep Compliance, Markus Hitter, 2003/04/08
- Re: GNUstep Base OpenStep Compliance, Helge Hess, 2003/04/05
- Re: GNUstep Base OpenStep Compliance, David Ayers, 2003/04/05