Sunday, December 17, 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:
  1. The group of people who feel that GNUstep should be an API/development environment
  2. The group of people who feel that GNUstep needs to be a desktop and possibly a standalone OS which is a clone of OPENSTEP/NeXTSTEP.
What I am saying is that if we do #1, #2 can follow. There is no reason why GNUstep cannot be a strong, multiplatform API AND provide the basis for a desktop/OS.

My point, quite simply is, that we must be the first one. The second one can be done in other projects. Examples of these projects are Etoile, Backbone and GAP. These projects all contain applications which make up a desktop environment on top of GNUstep. Once completed they will complement GNUstep's offering. The LiveCD provides the other part of this, which is a self-contained GNUstep environment that people can sample.

7 comments:

Jean said...

I'm very excited to read about this new direction the GNUstep project seems to be heading. From the outside, it looks as if GNUstep development has been a bit too conservative, and not standing up to its full potential. Cocoa is such an amazing toolkit, and I'd love to be able to build cross-platform apps with a similar, but free, toolkit.

Is this recent development related in any way to the announcement of Cocotron? (http://www.cocotron.org/) It seems from the looks of things that GNUstep is reacting to its announcement by refocusing the project, though I might be wrong.

GregC said...

No, if you look at the date of my original post it predates the cocotron announcement.

GNUstep has needed to refocus for a while and when I became lead I decided that was the first thing I would do.

GJC

Unknown said...

Ok, to this end, GNUstep needs:

* A decent IDE. Gorm is great, now lets get the same sort of functionality into an XCode-like IDE.
* Seamless integration into KDE, GNOME, and Windows

Unknown said...

As a professional Java programmer with a PowerBook, I have always kept an eye on the GNUstep project.

I think that many people are in a similar situation to me: I have looked at some Cocoa examples and started playing with it, writing a small test application. I really like Cocoa, and I would like to use it!

But if I write an application, I *need* it to also work under Windows, and I don't want to have to thrawl the mailing list, read 500 how-tos, etc to be able to do it, only to find out that maybe it will work, but core data (for example) is not yet supported.

So for me what would be good is:
1. Clear and easy steps for cross compiling my app (for windows) using GNUstep + clear steps for using GNUstep with XCode. (I prefer to develop & test on my Powerbook, and then do a "final" compile for Windows)

2. An updated, comprehensive list of the GNUstep impletation status for all relevant APIs, including new API's such as Core Data.

At the moment I'm still programming in Java..

Graham Lee said...

Spot on. In fact, I wonder (obviously aloud, but only because I like the sound of my own keyboard) whether having some apps with "blessed" status of being in core while others are "merely" part of Backbone, Étoilé or whatever leads to more confusion over what the purpose of GNUstep (as evinced by its "core" components) is.

Down And Out Of Sài Gòn said...

Gregory,

If you want GNUStep to catch on, then my advice is to make installation a lot simpler and less frightening to the user. Perhaps you could create precompiled packages that are ready for common distros like Ubuntu. I find the plethora of library files like gnustep-base, gnustep-common, and so on confusing, and others do too.

After all, an installation guide like this is extremely unattractive. Compare this to (say) a whole language like Python, where you can download and try out with a minimum of effort.

s said...

素食月子餐 桃園房屋 桃園房屋網 桃園房屋買賣

Objective-C end of life?? Not a chance...

Recently, I saw this article regarding ObjCs "end of life" from JetBrains. The tiobe index seems to disagree. It’s also importa...