Saturday, June 15, 2013

GNUstep Mythbusting...

Myth #1: GNUstep doesn't care about or implement any of the Cocoa frameworks or classes

As illustrated by some of the comments here, people still don't understand, really, what GNUstep is all about.  Sometimes I think it's the name, and sometimes I think it's just that people are willfully ignoring the facts or just want to spew nonsense in order to sound intelligent.

GNUstep implements most of the 10.5 APIs and is currently working on some of the 10.6, 7 and 8 Cocoa APIs.   Additionally, the project has implemented CoreFoundation, CoreGraphics and CoreAnimation is upcoming.   So, please, people.  Get off of this whole "GNUstep doesn't care" thing. We care and we are implementing as much as we can.   We are roughly 20 individuals, Apple is multi-billion dollar corporation.

Myth #2: No one uses GNUstep.

Wrong again, GNUstep is currently in use in millions of devices around the world.   This company http://www.apportable.com is using much of the GNUstep codebase to accomplish this.   It forms the basis for their UIKit implementation which is used to port applications from iOS to Android.   If we were only OpenStep, this wouldn't be possible.   Additionally, GNUstep is used by a number of companies to produce ports of their applications to Windows and to Linux.   See our wiki page about GNUstep success stories for more.

Myth #3: GNUstep can only look like NeXTSTEP

Not true.  GNUstep has devoted a lot of time to theming and the ability to make applications written using GNUstep look like just about anything you would like them to look like.

I'm sure these aren't the only myths circulating, but they are the most prominent and, to me, the most annoying.   I can't seem to get it through people's heads.  GNUstep is so much more than it used to be and so much more than people think it is.  I wish, for once, that people would actually look at the project before making judgements.

Myth #4: GNUstep looks like NeXTSTEP, so it must only implement NeXTSTEP

I honestly never expected developers to judge a book by it's cover, but many people do, even otherwise intelligent people.

3 comments:

DMJC said...

I think the problem is that there is no usable desktop system that can show all this stuff off. Because the tools for a desktop system aren't there (web browser even a wrapped one, correct handling of Macintosh menu style by window manager) Noone is being exposed to GNUStep on a daily basis. You can't really immerse yourself in the environment when you have to have a jarring experience of switching from GNUStep applications to other Linux applications.

If there was a web browser, then you could run GNUStep with Macintosh menu style and have a cohesive desktop. I think that would encourage a lot of people to get into running/hacking on GNUStep. API-wise I think the project is fantastic and the newer Cocoa developments, coreanimation/coregraphics etc are going to make GNUStep a very useful system especially if the functionality of Apple's video decode/encode pipeline system gets copied. If something like Quartz Composer gets made I won't need a mac except as a toy...

The rest of the desktop system is basically there, there's Music/Video/IRC/File management applications. It's the lack of a browser that's killing it, at least for me. I even tried to build Mantella the firefox wrapper from Etoile but the code is too out of date. Any wrapped browser would do. Just something to stop the mac style menubar from disappearing (as this is very annoying) when I go online. On the window manager side, I just want the window manager to not let you drag windows over the macintosh style menu. It needs to always be on top and not allow applications to cover it, that way you can always access it. If a wrapped browser isn't possible, then make the window manager draw the mac style menu bar anyway, with just the current running process name where the mac menu would be.

Still, despite these things GNUStep is easily the most powerful API on Linux. I'm quite confident it can make a far superior desktop and development environment to anything we've seen out of the GTK/QT camps so far.

GregC said...

DMJC,

Thank you for these insights. They are valuable. A desktop project should be separate from GNUstep itself, but it is extremely important.

I have plans to use CEF to create a WebView that is compatible with the one in WebKit that which is capable of acting as the core of a GNUstep based web browser. CoreAnimation and CoreGraphics are in the works. CoreGraphics is nearly complete and CoreAnimation is soon to follow.

Greg

Stephen Ferris said...

An up to date nightly build of the WebKit browser would be awesome.

I like the concept of Etoilé, but I have a fantasy of making it look more like Mac OS X Server 1.2, with the old Platinum theme and all. Then a nice flat design theme would be nice, as well as an option to go straight old school OpenStep/NextStep. Having the desktop environment look cool is a big one in addition to the above points.