Skip to main content


Showing posts from 2006

What GNUstep is and is not....

Recent replies to my previous post on the gnustep-dev mailing list have made it necessary for me to further define what I believe GNUstep should become in the future.

GNUstep is a development environment and API, first and foremost. While GNUstep contains a few apps which comprise a minimal desktop... mainly GWorkspace... I feel as though it should not be considered as a desktop project. Yes, I know this contradicts what I said in part of my previous posting, but here's why I've had this change of heart. It is necessary for GNUstep to focus on being one thing and doing that extremely well. GNUstep's main purpose, like OPENSTEP's, is to provide a multiplatform development environment and API.

The way I see it right now, the project is divided into two camps:
The group of people who feel that GNUstep should be an API/development environmentThe group of people who feel that GNUstep needs to be a desktop and possibly a standalone OS which is a clone of OPENSTEP/NeXTST…

Plans for Change

As Chief maintainer, it is up to me to determine the direction of the project.

Over the past several years interest in GNUstep has steadily increased, but not nearly by enough. In order to reach a wider audience, GNUstep needs to do a number of things (not necessarily in priority order):

1) Adopt a more modern look. This includes the look of the windows, the color scheme and how the menus are rendered. It's okay to let that old gui go, it's not going to kill you to do so. ;) Users like things to look "good". This is entirely subjective. Personally, I think GNOME and KDE are quite ugly under the best of circumstances. To this end, we need to make integrated theming available in GNUstep and make it easy.

2) Make regular releases. Start courting different distributions to include GNUstep in their package set. Start getting the word out. Start making sure that people KNOW that GNUstep is alive and well. This, I believe, is the main reason why people have the …

Chief Maintainer for GNUstep

I have been involved with GNUstep for seven years now, since 1999. It is my great pleasure to take leadership of the project so that I can help it grow. From my first commit to NSScreen to the latest Gorm nib modifications, this project has been a labor of love for me, and it will continue to be so for many years to come.

I sincerely hope that Adam will remain a part of the project. A "thank you" hardly expresses what the project owes him. You have our deepest gratitude, Adam, for everything.

Qt, Interface Builder and "Modern C++ programmers"

I just don't understand what it is about some people. While reading slashdot, I came upon this article at regdeveloper and I'm thinking to myself that it's nice to see another crossplatform library, aside from GNUstep, in the open source world, but when I get to page 3 the author pops up with this little tidbit:
In fact, on the Mac, I find the combination of Qt and C++ far more intuitive than the weird Objective-C language and the frighteningly non-intuitive Interface Builder.Whoa there... did he just say Interface Builder is unintuitive? Wow.... of all of the lame brained things I've heard Qt developers say, this really tops the list. If you take a look here.. you will see that it is quite easy to learn InterfaceBuilder, or alternatively, GNUstep's Gorm.

Interface Builder is built on one basic principle: making connections between objects. That's really it. Everything else is peripheral. "Modern" C++ programmers complain about Objective-C…

Nib Encoding Now Working in GNUstep

Although it's experimental at the moment it's working. As you can see here, I'm saving a nib file from Gorm to the "Cocoa Nib" format:

Here is the same nib file after being loaded into IB on OSX:

This functionality opens up all kinds of possibilities for GNUstep. It will ease porting by allowing developers to utilize one format or to easy translate from nib->gorm and vice versa. All Mac OS X developers need to do is to make sure they save the nib files as 10.2 or later, and GNUstep will be able to read the archives.

I'm going to continue refining these enhancements until they are perfected. They're very close at the moment, but like anything new they need to be shaken out a little.

Feel free to comment. Thanks, GJC


I read a blog today called "nextbuntu" it can be seen at A few things stated on the website are entirely false:

1) That GNUstep has changed the names of the classes "and everything"
GNUstep has done nothing of the sort. For all of the classes in the published API of OpenStep and Cocoa, we have used the same class names, constants, method and function names. Period. It is trivial to port applications from Cocoa or OpenStep to GNUstep so long as Carbon and the Core* libraries (for which we have no equivalent) aren't used. The only classes which use GS as a prefix are private classes which are not part of the NS (Cocoa) framework.

It's immediately apparent that no review whatsoever was done by NeXTbuntu regarding the current state of GNUstep.

2) Graphics makeover
This is something that has been on the top of my personal list, as GUI maintainer, for a long time. RIO and others have made some progress in getting this done on the t…

Nib loading working in GNUstep

As you can see from the screenshot, Gorm is now able to load nibs just fine.

Gorm should be able to save nibs in the next few weeks. This is a huge step forward for GNUstep. Builder and Loader classes have been added along with a factory class which gets the appropriate builder/loader for a given format. Gorm has also been changed so that it is effectively format agnostic. This means that it can accept any format that a builder/loader class can give it.

In addition to the above Gorm also uses the NSDocument* classes instead of implementing it's own framework.

Why Linux is boring

It seems, for whatever reason, that the Linux community has stopped evolving. We only seem to be heading towards one of two environments: GNOME or KDE. Now, of course, I'm not blind, this trend has been obvious for a very long time. It's amusing, however, that so many people buy into it. They don't see the potential for other possibilities, and they assume that anything which challenges the current two dominant players must be "nuts".

Is this the brave new world of open source? Will KDE and GNOME be all we have? I have looked at both and I am unimpressed with what they offer. Both are poorly designed, amateurish pieces of software. They both feel like they have "evolved" to this point and were never *designed* to be like this. In my next few articles, I'll examine them both further.

A couple of ideas

A few ideas have been rolling around in my head recently:
Champollion -- OSX app, most likely will need a kernel extension.... translator from x86 -> PPC (the opposite of ABI compatibility with Mac OS X. (suggested by aurynn)
Both of these seem like good ideas to me and I wanted to get the out someplace. ;)