Home > OpenStep, GNUstep > Presentation of the GNUstep Project Presentation of the GNUstep Project Submitted by Nicolas Roard 2003-04-03 OpenStep, GNUstep 32 Comments Nicolas writes: “This is an article I wrote with Fabien Vallon about GNUstep, published previously in Linux-mag in France, along with an interview of three core developpers of the GNUstep’s project.” About The Author Eugenia Loli Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker. Follow me on Twitter @EugeniaLoli 32 Comments 2003-04-03 9:22 pm Hello! I get a 404 on those two URLs ! Thanks for fixing, Ciao, Steve 2003-04-03 9:22 pm Links don’t seem to work. 2003-04-03 9:25 pm They do work, but it seems that their web server is misconfigured or something. With Safari, it shows me that it tries to load and load and load with no actual loading of the page, but if I press the Stop button on the browser, the page is actually there. I don’t know how this would work with other browsers, but the content is there (and the site pings fine), it just seems to be a weird configuration problem somewhere… 2003-04-03 9:25 pm Try http://www.roard.com/docs/lmf1.article/ instead 😉 2003-04-03 9:27 pm yop, it seems that the server is very slow tonight 🙁 try perhaps the direct links to the html pages : http://www.roard.com/docs/lmf1.article/index.html and http://www.roard.com/docs/interview/index.html 2003-04-03 9:55 pm Ok, thanks to Tim Harrison of the linuxstep project, there is now a mirror if you experience problems with the current url : http://www.linuxstep.org/mirrors/roard.com/lmf1.article/ for the article, and : http://www.linuxstep.org/mirrors/roard.com/interview/ 2003-04-03 10:12 pm After reading the article it appears that GNUstep is a rewrite of the Next/Apple display PDF system however, looking at the flow chart, it appears to require x11. If it does require x11 then what is the point other then having a source compatibility with apple ppc software? 2003-04-03 10:16 pm It does require X11 for its Unix versions. Read here for their mission: http://gnustep.org/information/mission.html 2003-04-03 10:26 pm It’s almost disgusting how easy it is to write fairly complex programs under Cocoa/OpenStep. Objective-C combined with powerful foundation classes is really only a small step up in difficulty from “light” programming languages such as VB, PHP, or Perl. I’m working on some innovative software right now that I plan to release for OS X by the end of the year, and it’s only possible because of Cocoa. Perhaps I’ll start working on a port to GNUstep as well. Jared 2003-04-03 10:39 pm it appears that GNUstep is a rewrite of the Next/Apple display PDF system Hm … NO. First, NeXT didn’t used a PDF display but a PostScript one. Secondly, GNUstep is an implementation of the OpenStep programming framework. Cocoa, on Mac OS X, is also an implementation (with some minor additions) of OpenStep. The framework is where you find all the objects you need to program an application; a display PDF is just that, something to display PDF. Same for a display PostScript. One of the interesst with the architecture of GNUstep (or Cocoa) is that you only write once your code for screen or for printing — it’s the same ! you send postscript to your screen and to your printer. The other big interesst is that theorically, between your screen and your printer, it’s true wysiwyg. Actually, there is no “useable” Display PostScript on linux, thus GNUstep provide a small additional level to print on non-postscript display (eg, X11 screen for example) … for example the backend -art use libart to display GNUstep application (so it’s smoothly antialiased). But you still send postscript code… Anyway, the big interesst of GNUstep is that it is an implementation of OpenStep, which is one of the best programming framework available. And it’s free. 2003-04-03 11:43 pm I probably won’t be buying a Mac any time soon, but I am interested in following OpenStep and using ObjC/Cocoa framework on x86. Its interesting to see a reference to hosting GS even on BeOS under “Installation of GNUstep”. My only criticism is that the NS look seems tired & dated, where the OSX look is overdone for my tastes. I’d like to see NS brought up to date a little, at least a little more use of color. It doesn’t help that ObjC books are a rare these days although I keep an eye out. Without really having read a NS/Cocoa app, it seems to me that it allows an app to be built more Lego/schematic style, building up from smaller components to bigger & bigger modules, where C++ frameworks come at it the other way around, planning & then impementing top down. Comments 2003-04-03 11:59 pm I love the “Star Trek: Next Generation” font they used in their GNUstep architecture diagram. 2003-04-04 12:39 am My only criticism is that the NS look seems tired & dated, where the OSX look is overdone for my tastes. Well, beauty lies in the eye of the beholder – but you are certainly right about OSX … 2003-04-04 2:12 am I liked the article. I installed GNUStep and WindowMaker on my box and it was nice. I really liked the mail.app (until it erased all messages on my pop server when i told it not to). The only thing i really did not like about GNUStep is how they have that window pop up with the menu for each app that you run. I usually like to manage my screen real estate so that i can see 2-3 applications at once, and those things poping up was driving me nuts. I really hope GNUStep the best of luck, i’m a huge NeXT fan. 2003-04-04 2:14 am I specially like the Objective C part. But I’m concerned about trademarks, copyrights, patents etc. Couldn’t Apple send a “Cease and Desist” letter? They made it when everyone tried to copy the Aqua interface. And considering the last SCOxIBM “novel”, I fear for the worst… 2003-04-04 2:27 am >But I’m concerned about trademarks, copyrights, patents etc. It is based in the OpenSTEP specification, which is an open standard, so no worries. 2003-04-04 4:51 am I am a NeXT enthusiast. I have been reluctant to move from using NeXTStep on my PII to Linux or *BSD running GNUStep, but this article almost makes it tempting. I cannot afford to go OSX. GNUStep is the only affordable upgrade path. I thought the article was well informed, straight-forward, clearly written, had just enough history to say where we are, just enough of the “where we want to go” talk, and just enough tech-info on the system and Obj-C to pique some interest from the programmers. Thanks for posting it. 2003-04-04 5:45 am They wrote an article that was technical enough for hard core people to be interested in without leaving the general computer user behind! This could be a silver bullet for Linux. If they get it running on Windows well enough for freeware/shareware/commercial developers to use as a framework it would mean a lot more “mainstream” software for Linux. Bundles make the OPENSTEP spec really enticing. No more executing shell scripts. Just double click a folder with the .app extrnsion and the program launches. Not to mention the fact that it allows you to combine programs intended for multiple platforms. It would be nice if a few people rallied behind this well-documented, mature, planned system and began creating applications. It would really simplify things like installing applications (you just have to download a folder bundle) and getting compiled software for non-x86 platforms (since multiple platforms can be accommodated in one bundle). Also, while Mac OS X doesn’t have the number of applications that Windows does, it does have its fair share of quality apps. Source compatibility would mean that a lot of cool apps could come to Linux (including OmniWeb – still the best DESIGNED web browser even if it has become a little slow rendering the complex pages that are common today and Frogblast). It would encourage OS X developers to use Cocoa/OPENSTEP. Further, if they could get it running on Windows (NeXT did have OPENSTEP running on WinNT) it would REALLY give developers the incentive to write for GNUStep to run on Windows, Linux and Macintosh! Think of the possibilities! GNUStep becomming the defacto development platform once developers realise the benefit of being able to support so many operating systems using the same code! Linux having all of the apps (well, except MSFT ones) that Windows and OS X do! Sorry, I’m just seeing a world of possibilities that, for the first time in too long, could take Microsoft head on because their system is clearly better – no caveats like the current weird way of adding Linux programs (not meant as flame bait, it’s just that even with management tools I can’t figure out how to avoid problems. I do just fine with apt-get, but I prefer more commercial distros than Debian – hey, I like bluecurve) or Linux’s varing by application behavior and widgets (GNUStep/OPENSTEP/Cocoa make sure that all applications function the same with the same feel – this is something that even Windows often lacks). GNUStep/OPENSTEP/Cocoa applications can be written soooo much faster than traditional applications and Windows compatibility (which isn’t as much of a pipe dream as I make it seem) would mean that developers could create Windows applications 10 times faster than they currently do with the added bonus of Linux and Macintosh compatibility. Not to mention how polished the programs come out. I just can’t seem to stop talking. Just excited to see some action in this camp! 2003-04-04 7:07 am agreed, on everything. 2003-04-04 8:06 am How compatibile with OSX is GNUStep? Can I use Project Builder and design my GUI using Interface Builder and then do a simple recompile with GNUStep? What I really want is to be able to write my program for osx, and then use GNUstep to produce versions for Windows and Linux. But every time I check the supported platforms page, it keeps telling me that the windows versions are unstable… 2003-04-04 8:42 am IIRC GNUstep does not directly understand the .nib format of MacOS X’s Interface Builder. It has its own IB, which uses the .gmodel format. But there is a tool “nib2gmodel” to convert the nib file into the right format, so it should be possible do recompile your Cocoa application under GNUstep. 2003-04-04 9:01 am GNUStep doesn’t run well on Windows right now. GNUStep isn’t a viable development platform for Windows, YET. Hopefully, it will become much better since, beyond the crossplatform capabilities, it allows developers to create more complete and elegant applications more quickly. There are a few compatibility barriers between Cocoa and GNUStep. The first would be the nib format used by Interface Builder. You can get around that by using ‘nib2gmodel’ which will convert nib files into GNUStep’s gmodel files. You can always just use Gorm to re-create the interface for GNUStep if you don’t want to convert it. GNUStep doesn’t currently support Objective-C++. That isn’t a big deal unless you are tring to write a wrapper around a currently existing back end (Obj-C++ is what allows applications like Safari or Camino to exist – those people took a C++ project and quasai-ported it to cocoa). Beyond that, avoid using Cocoa.h includes, CoreFoundation, Quicktime, NSToolBar, or Drawers. The two are VERY close because GNUStep was designed to be a “clone” of OPENSTEP which Apple didn’t modify much. Oh, it might be easier to write for GNUStep and “port” to OS X since OS X supports pretty much everything that GNUStep does so you don’t run into the worry of “I designed this app around Quicktime or something else and Quicktime or something else isn’t available on GNUStep.” I listed out what to avoid, but sometimes one forgets and uses something and then you’ve got to take it out. Either way it’s not bad. I’m sure that some of the people working on the project would help you if you asked. 2003-04-04 9:49 am Concerning the portabilty between GNUstep and OSX I found an interesting article – GNUMail.app, the portability evidence http://www.tldp.org/linuxfocus/English/May2002/article241.shtml 2003-04-04 10:31 am i think the GUI needs a redesign. It does not have to be like Aqua, but a little bit more modern and better looking, but still simple and clear. I wonder how GNUstep apps looks on windows. like native apps? is the scrollbar left or right? 2003-04-04 12:33 pm A theme close to Bluecurve, Apple Platinum or MandrakeGalaxy would be nice. Hey, I’m partial to the platinum/lavender look. It makes it look bright while businesslike. OPENSTEP applications on Windows NT used the native look and feel of the operating system (scroll bar on the right and all). 2003-04-04 3:47 pm I have only tried running SimplyGNUStep, so I can’t comment on GNUStep totally… I do like that GNUStep can be cross platform, but I really wish that GNUStep would have a perfered platform that they can base directory structure around. I know this is the aim for LinuxStep, as well as SimplyGNUStep… but they need a focus more for a NextStep upgrade/clone. SimplyGNUStep, as I recall was just WindowMaker with a program that ran over top of it. If you closed out the GNUStep file manager you were back to WindowMaker. All WindowsMaker ever needed was a NextStep clone of a file manager. I rather dislike that menu in the left top corner in NextStep but I could live with it… Running over WindowMaker needs to stop,either run there own server other then WindowMaker, or take WindowMaker source and write into it. 2003-04-04 5:12 pm If you’ve got linux with GNUstep installed, does a window manager come with GNUstep, or can you use any WM you like? I’d read that WindowMaker is written in C — is there a WM that is written in obj-c and is specifically meant to go with GNUstep? Is an obj-c WM even desirable? 2003-04-04 6:21 pm @smoerk & Sean : well, on windows it currently use the same look as on linux (see http://www.roard.com/screenshots/gnustep_on_windows2.jpeg for example). For the moment, there is no theme available; but some works was done : http://www.roard.com/screenshots/screenshot_theme20.png . But it’s not yet released. @William Ray Barker : Well, you pretty much describe the LinuxSTEP goals … SimplyGNUstep isn’t so ambitious, it’s just a linux distro with GNUstep softwares preinstalled. I think LinuxSTEP is a far more (but a longer) interessting approach. @johnG : Well, GNUstep isn’t a “desktop” (as in “a bunch of apps working together”), but a programming framework for gui and non-gui programs, which provide thoses programs many interessting ways to cooperate with them (services, pasteboard, distributed object, etc.). A GNUstep-based desktop, which could take care of delivering a set of applications, would be great, but it doesn’t exist for the moment. WindowMaker is the preffered X11WM for GNUstep because it’s the one which handle the best GNUstep’s programs characteristics. Anyway, you could launch GNUstep apps with another WM, as any other X11 apps. There are 2 window managers programmed using ObjC and the GNUstep framework : http://wiki.gnustep.org/index.php/WindowManagers But they aren’t very stable yet. Anyway, having a working dedicated WM for GNUstep would be great, because things could cooperate better, and things could be included directly in the WM (like the file manager), as it was on NeXT. 2003-04-04 7:52 pm Its seems that the programming framework with Objective-C was NeXTStep’s main advantage. Duplicating the NeXT system (or OSX for that matter) just seems kinda silly to me. NeXTStep was and is great, but unless it is actively being improved beyond its originial state, it will eventually fall behind other systems (it already looks out-of-date – superficial, I know). Is there any way the framework could be linked up (efficiently) to KDE or Gnome (or even just QT or GTK+)? GNUstep just seems destined to remain a small niche (of a niche) otherwise. 2003-04-04 8:20 pm If you’ve got linux with GNUstep installed, does a window manager come with GNUstep, or can you use any WM you like? GNUstep is an API, a collection of libraries. You do not “run” GNUstep. So, yes, you will need _any_ window manager, but (currently) WindowMaker is preferred, as it best supports GNUstep. I’d read that WindowMaker is written in C — is there a WM that is written in obj-c and is specifically meant to go with GNUstep? Is an obj-c WM even desirable? Correct, WindowMaker is written in C, and brings it’s own NeXT’ish library, WINGs. Per se, WindowMaker has nothing to do with GNUstep, but is “tagged” as the window manager of choice. And yes, there are window managers written in Objective-C, specifically for GNUstep, though work on them is in progress. The most, uhm, advanced right now probably is InterfaceWM, at http://interfacewm.sourceforge.net/ 2003-04-04 10:34 pm Its seems that the programming framework with Objective-C was NeXTStep’s main advantage. Duplicating the NeXT system (or OSX for that matter) just seems kinda silly to me. uh ? I don’t understand. GNUstep reimplements the OpenStep framework. It’s not the look who matters here, but the available class to program with ! NeXTStep was and is great, but unless it is actively being improved beyond its originial state, it will eventually fall behind other systems (it already looks out-of-date – superficial, I know). Well, if you take apart the look, explain me in WHAT OpenStep fall behind other systems ? Frankly, it’s quite the opposite in my opinion (and I am a former Qt advocate 😉 OPENSTEP, due to mechanisms like services, was perhaps the only “true” Unix Desktop sytem, in that it follows the same basic idea (small programs cooperating with each others). Is there any way the framework could be linked up (efficiently) to KDE or Gnome (or even just QT or GTK+)? GNUstep just seems destined to remain a small niche (of a niche) otherwise. ??? Well if you simply want to program with Objective-C, which is a language, some bindings for KDE and GNOME exists. But how the hell do you want to plug an existing programming framework, GNUstep, and “plug it” to ANOTHER programming framework such as KDE/Qt or GNOME/GTK ??? it’s simply not possible. What could (perhaps) be done, is to have some gui-backend for GNUstep which would use some “local” set of widgets, such as windows widgets or Qt or GTK. But actually, the backend system is not *at all* done in this sense. 2003-04-05 1:12 am Is there any way the framework could be linked up (efficiently) to KDE or Gnome (or even just QT or GTK+)? I’m not sure I understand why you would want to do that. KDE and GNOME essentially offer GUI widgets, as does GNUstep. If you take a closer look, you will see that GNUstep’s (or OPENSTEP, if you will) will offer a FAR superior concept in that respect. Apart from that, to use Qt, you will need an Objective-C++ capable compiler, which gcc (currently) is not – a good thing IMHO if it stays that way. But, there are ‘bridges’ for KDE/Qt and GTK to be used with Objective-C available. Take a look are Sourceforge or Freshmeet.