Thoughts about GNUstep

Gregory Casamento <[email protected]> Fri, 1 May 2026 05:55:33 -0400
Newsgroups gmane.comp.lib.gnustep.general
Message-ID <CA+BLX-yxpbWjBWeLa00TD+C6qavbJW3rR9cao5kBzLMbDnWR2Q@mail.gmail.com>
All,

I've been thinking about this recently about GNUstep, its path to success
and where it needs to improve.  First I will cover what GNUstep is and what
you already know...

GNUstep's greatest advantage is that it is *not just another desktop*. It
is a *complete application framework* with a coherent philosophy:
Objective-C, AppKit/Foundation-style APIs, visual UI tools, and a desktop
environment built around applications rather than around shell chrome.

Its strongest advantages:

   1. *It has a proven design lineage*
   GNUstep follows OpenStep/Cocoa ideas, the same family of APIs that
   influenced macOS. That means it inherits a mature object model, MVC-style
   UI design, delegates, responders, services, bundles, nib/gorm-style
   interfaces, and clean application architecture. GNUstep describes itself as
   a cross-platform, object-oriented development environment compatible with
   Cocoa/OpenStep concepts.
   2. *It can offer something many open source/free software OSes still
   lack: a stable native app platform*
   GNOME has GTK/libadwaita. KDE has Qt. Electron has the web stack. But some
   open source/free software OSes still lack one dominant, elegant,
   long-lived desktop application model. GNUstep’s pitch is stronger if it
   becomes the “write real desktop apps again” platform.
   3. *Objective-C is somewhat underrated for systems-level GUI work*
   Objective-C is a thin layer over C with dynamic messaging, which makes
   it powerful without the complexity of C++. GNUstep’s own wiki emphasizes
   that Objective-C is a strict superset of C.
   4. *It is portable by nature*
   GNUstep's framework is intended to hide architectural differences and
   allow code to be ported across platforms. That matters because a successful
   development system cannot be single-platform forever.
   5. *It has a complete “small but real” ecosystem*
   GNUstep has Foundation/Base, AppKit/GUI, Gorm, ProjectCenter,
   GWorkspace-style tools, and modern desktop efforts like GNUstep
Desktop/GSDE,
   Gershwin, Ambrosia, etc. that assemble the pieces into a usable
   environment.

The cold, hard truth is: *GNUstep will not succeed merely because it is
better designed.* It succeeds only when/if it becomes easier, prettier,
better documented, and more practical than GTK/Qt/Electron for real
developers.  I have said many times before that sometimes people will stick
with "good enough" even when something better comes along UNLESS that thing
is SO compelling that they are forced to reconsider.  This is the challenge
we are facing.

*GNUstep can succeed where other desktops struggle because it can be both a
desktop and a disciplined application platform.* GNOME and KDE are
excellent desktops, but GNUstep’s deeper opportunity is to become the
free-software equivalent of Cocoa: a coherent native framework where apps
feel integrated, code remains understandable, and developers can build
serious desktop software without dragging in a browser engine.

Swift is where GNUstep’s long-term story either becomes *compelling* or
*irrelevant*—there’s not much middle ground.  We need to explore options
for swift compatibility.  I realize many don't like this.  I, personally,
don't like swift very much, but, for better or worse it is something that
many developers are highly attracted to.

Key Points:
* Its path to success is *NOT* nostalgia for *NeXT*.
* Its path is: *Cocoa-like productivity, GNU freedom, modern packaging,
polished apps, excellent docs, swift compatibility, and a stable API that
developers can understand and trust.*

I realize that much of this might sound harsh, but it is only out of love
for this project that I am saying what I am.  I further realize that much
of this is antithetical to what some people on this project believe.
Fortunately or not, sometimes the technologies that succeed are NOT the
ones that we would wish.

I am hoping this sparks real and PRODUCTIVE discussion instead of endless
email threads defending a given position.

Yours, GC
-- 
Gregory Casamento
GNUstep Lead Developer / Black Lotus, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.openhub.net/languages/objective_c