Hacker News new | past | comments | ask | show | jobs | submit login

Since roughly 2004 (that's when I first learned about Mac OS X, NeXT, and GNUstep as a high school student), I've been periodically keeping track of the state of GNUstep since I believe there's value in having a FOSS alternative to macOS and its technology. GNUstep could have been the primary GUI development toolkit for the Linux desktop. Unfortunately, GNUstep never caught lightning in the way other FOSS desktop projects did, and I attribute this to bad timing.

My understanding is that when the KDE project started in 1996, GNUstep wasn't ready yet (remember that the OpenStep specification that the original GNUstep was based on was released in 1994), and GTK+ was not separate from GIMP. My understanding is that options for FOSS GUI toolkits were sparse in 1996. What did not help GNUstep's case in 1996 was the fact that NeXT appeared to be dying; nobody in early 1996 would have guessed the outcome of NeXT. Thus, the creator of KDE decided on Qt, which had licensing terms that were not-quite FOSS. This caused consternation among some people in the FOSS community, which lead to the founding of the GNOME desktop. GNOME ended up adopting the now-separated-from-GIMP GTK+ toolkit around 1998. Meanwhile work continued on GNUstep, but by the time 2000 rolled around much of the Linux desktop community rallied behind KDE and GNOME.

Ever since Mac OS X was released, every now and then somebody with Mac OS X and Cocoa experience would look at GNUstep and say, "Wow! I saw what Apple could achieve with NeXT technology; what if we used GNUstep to build something similar for Linux?!" and then get started on a project, only for that person or team to lose momentum and eventually give up. One such promising project that is now dead is Étoilé (http://etoileos.com), which was based on GNUstep and inspired by Mac OS X, yet had ideas of its own, such as versioned objects and support for a dialect of Smalltalk called Pragmatic Smalltalk that leveraged GNUstep's Objective-C APIs. Étoilé would have been a fresh, new Linux desktop experience that would have brought us closer to the dream of a modern "Smalltalk operating system," but unfortunately that project lost momentum, like so many open source projects that don't have corporate backing or massive community support.

There is a really interesting project called helloSystem (https://hellosystem.github.io/docs/) that is a fork of FreeBSD that aims to re-create the Mac OS X Tiger user experience and conventions. However, this project is built on the Qt toolkit instead of GNUstep.

Will GNUstep ever gain momentum? I don't know; on one hand there is a vocal minority of long-time macOS users who are disappointed with Apple's software direction and would like to have an alternative to macOS that involves the least amount of friction as possible. However, different macOS users like macOS for different reasons. For those who like macOS due to its user interface guidelines and consistency, helloSystem may look promising to them, especially if it gains traction. For those who like macOS due to its object-oriented APIs, they may be interested in taking a look at the .NET ecosystem and the languages it supports.

Personally, I'm dreaming of a Common Lisp desktop heavily influenced by Smalltalk, the Mac, and OpenDoc (Apple's commercially unsuccessful component-based software technology). I remember coming to the realization a few years ago that NEXTSTEP is essentially a pragmatic Smalltalk desktop environment, except instead of running a Smalltalk VM it ran Objective-C and Display PostScript on top of Unix. I'm thinking, why not go all the way with a programmable object-oriented environment and build a desktop environment from the Common Lisp Object System and its meta-programming facilities. It would have a standard set of UI guidelines for user-facing applications, but for power users, because everything is an object, it is possible to combine objects using scripts. If only I had more free time....this would be the ultimate realization of a desktop environment for power users based on taking Xerox PARC's technology to its limits.




My graduation project was porting my supervisor thesis of a particle engine originally developed on a NeXT Cube in Objective-C/OpenGL into Windows/MFC/OpenGL, because it was clear it was going nowhere (OS X wasn't yet announced).

So I actually lived through those events, and also think most modern environments fail short of what desktop computing could have been, and in a twisted way Windows is the closest of them all with COM and .NET, yet the whole WinDev vs DevDiv politics messed even that one, most likely beyond repair in the presence of current UI stack chaos.


Thanks for commenting. I've been reading your posts for quite some time and I enjoy your commentary about how Windows, from a developer's point of view, is the closest living thing we have to the types of Smalltalk and Lisp environments people at Xerox PARC and other places enjoyed in the 1980s and early 1990s. Windows has the infrastructure to make a truly great operating system; I've been reading a lot more about the .NET ecosystem this year, including multi-language interoperability through the Common Language Infrastructure and PowerShell scripting. What's unfortunate about Windows are the ads, the telemetry, the aggressive attempts to make people use Edge, and the strange UI choices that Microsoft made starting with Windows 8 (and, arguably, since Windows XP's Luna interface). I think of Windows as a gem that's unfortunately encrusted with layers of dirt.

Another project I pay periodic attention to is ReactOS. If ReactOS matures to the point it can run on modern hardware and can run modern Windows software, then I'd make ReactOS my daily driver. A daily driver version of ReactOS combined with .NET would make quite a compelling platform for me.


I fully agree. When you know what to take from Windows, it's a great OS. The hackability of the UI with AHK is way above what Gnome or even KDE can offer.

Yet in a funny way, when I explain to seasoned Linux hackers that my OS of choice is Windows, they look at me in a funny way :)


> helloSystem ... fork of FreeBSD ... re-create the Mac OS X Tiger user experience and conventions

There are also a few GNU/Linux distros in this UX category, e.g. Zorin, Elementary, Budgie ... They are listed on https://distrowatch.com/. (I have no association with these distros.) Maybe helloSystem should be added to Distrowatch?

In general, the spirit of Gnome was/is to improve UX (user experience). There have been misadventures shall we say. At this point, I have come to want just a terminal, an editor, and a Web browser. ^_^

[1] https://elementary.io/

[2] https://zorin.com/os/

[3] https://ubuntubudgie.org/


I think it's worth mentioning that a lot of MacOS design language has been absorbed into Gnome itself: grayish/metallic windows, the app launcher, the top menu bar, et alia.


But no menu in the top menu bar, making it kind of a waste of space


I was a developer in the 90s and 00s and frankly I thought peoples dislike of Qt was pretty superficial. The problems being that GTK sucked. I’d have forgiven NIH (not invented here) syndrome if GTK was at least as good as Qt but it wasn’t. Frankly I even preferred oldskool Tk over GTK.

In the time frames we are talking about, I also cared very little for NeXT. It did have its fans and deservedly too. But I was banking on BeOS becoming the POSIX workstation of choice. I even preferred that over Linux. But 90s Linux wasn’t exactly a smooth experience like it is today.

These days little has changed my mind about GTK vs Qt.


Well, I guess you can still run Emacs on top of Guix :)

I'm being tongue-in-cheek, but Emacs could be considered a graphics toolkit in its own right.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: