Fact-checked by Grok 2 weeks ago

GNUstep

GNUstep is a implementation of the frameworks, serving as an object-oriented, cross-platform development environment for building graphical user interfaces (GUIs) and applications with simplicity and elegance. It provides core libraries for non-graphical and graphical programming in , enabling developers to create desktop and server applications that are portable across multiple operating systems. As part of the GNU Project, GNUstep is licensed under the GNU Lesser License (LGPL) for its libraries and the GNU General Public License (GPL) for standalone tools, ensuring it remains open-source and modifiable. The project originated in the early 1990s as an effort to implement the specification, announced by NeXT and in 1993, following the development of in 1988. Key early milestones include the release of the GNU Objective-C runtime and foundation classes in 1993–1994, with the first official announcement in the GNU Bulletin in January 1995 and the registration of gnustep.org in April 1995. Led by contributors like Paul Kunz, Adam Fedor, and Andrew McCallum, GNUstep evolved from porting tools to other platforms, achieving its first integrated release (version 0.5.0) in March 1998, which combined core libraries and introduced X11 backend support. GNUstep consists of several key components: gnustep-make for build management, gnustep-base for foundational classes like strings and collections, gnustep-gui for elements, and gnustep-back for backend rendering. It includes developer tools such as ProjectCenter (an similar to ) and Gorm (a graphical ), facilitating . Additional features encompass support, distributed objects, font panels, and compatibility with interfaces, allowing for object-oriented access to manipulation without tying to a specific operating system or . Fully compatible with Apple's frameworks—evolved from —GNUstep extends them with additional classes and methods while maintaining conformance. It supports platforms including GNU/Linux, Windows, , , , , and other POSIX-compliant UNIX systems, primarily using X11 for display and integrating with desktop environments like , , and . Applications built with GNUstep can run on these systems without modification, promoting cross-platform portability. As of February 2025, the core components are at stable versions: gnustep-make 2.9.3, gnustep-base 1.31.1, gnustep-gui 0.32.0, and gnustep-back 0.32.0, with ongoing development hosted on and Savannah.gnu.org. These releases include bug fixes, performance improvements, and enhanced support for modern features like AddressSanitizer integration and handling. GNUstep continues to be actively maintained by the GNUstep community, focusing on robustness and compatibility with evolving standards.

Overview

Purpose and Design Goals

GNUstep serves as a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, providing a comprehensive widget toolkit and development tools for creating graphical user interfaces and applications. It aims to replicate and extend the core APIs originally defined in the standard, enabling developers to build robust software without proprietary dependencies. This implementation draws inspiration from the object-oriented paradigms pioneered in , positioning GNUstep as an open-source counterpart to Apple's framework. The primary goals of GNUstep are to deliver a portable, object-oriented environment suitable for developing desktop, server, and command-line applications across multiple platforms. It adheres closely to the specification for compatibility while incorporating extensions from and GNUstep-specific enhancements to address modern development needs, such as improved scripting and theming capabilities. By prioritizing cross-platform portability, GNUstep allows applications to run on diverse operating systems, including systems, Windows, and others, without requiring extensive code rewrites. GNUstep's design principles center on modularity and reusability, with components structured for easy separation of front-end interfaces from back-end rendering engines, such as or X11. This architecture supports a dynamic environment that facilitates introspection, enabling flexible object manipulation and extension at execution time. Additionally, it includes robust support for interface builders, allowing developers to visually construct user interfaces consistent with /Cocoa conventions, while avoiding overly prescriptive visual styling to accommodate theming. The core libraries are licensed under the GNU Lesser General Public License (LGPL), which permits their integration into both free and proprietary applications, whereas certain components, like the core binaries, are released under the GNU General Public License (GPL).

Key Features and Compatibility

GNUstep's core features revolve around its Objective-C runtime, which supports both the classic GNU runtime and the modern non-fragile ABI, enabling advanced object-oriented programming capabilities. The runtime includes options for garbage collection using the Boehm-Demers-Weiser conservative garbage collector, providing automatic memory management as an alternative to manual retain-release cycles. Distributed objects facilitate inter-process communication through mechanisms like NSConnection and NSDistantObject, allowing applications to invoke methods on remote instances in a transparent manner, though this implementation differs from Apple's Cocoa version in details such as typed selectors. Additionally, Key-Value Coding (KVC) and Key-Value Observing (KVO) enable indirect access to object properties via string keys and automatic notification of changes, supporting protocols like NSKeyValueCoding for dynamic data binding. For user interface design, GNUstep integrates Renaissance, a framework that parses XML files to generate native GUIs at runtime, promoting declarative and portable interface descriptions without reliance on binary formats. As a , GNUstep's library implements the AppKit specification, providing comprehensive support for graphical elements such as windows (NSWindow), views (NSView), controls (e.g., NSButton, NSTextField), and event handling through responders and notifications. This model ensures a consistent, object-oriented approach to building interactive applications, with event loops managing user inputs like mouse clicks and keyboard events in a manner directly analogous to NeXT's original AppKit. Developers can leverage these components to create responsive interfaces that adhere to standards, facilitating and maintenance. GNUstep provides substantial compliance with the API, allowing most applications written against the and AppKit specifications to run with minimal or no modification. It offers partial compatibility with , allowing many macOS applications to be ported by adapting Apple-specific extensions, often through conditional compilation directives like #ifndef GNUSTEP. Integration with modern toolchains, including as the preferred compiler, supports 2.0 features such as properties, blocks, and (ARC), enhancing development efficiency across environments. The framework supports building and running on diverse platforms, including GNU/Linux, Microsoft Windows, , , , , macOS (via X11), and other POSIX-compliant systems. This portability is achieved through backend abstractions, such as the Cairo or X11 backends, enabling binaries to execute on target systems without alterations, thus promoting cross-platform application deployment.

History

Origins in OpenStep

OpenStep emerged in the early 1990s as a collaborative effort between Inc. and Inc. to standardize a cross-platform application programming (API) for object-oriented . Announced in late 1993, the initiative built upon NeXT's proprietary operating system, specifically version 3.2, by abstracting its core frameworks into an OS-independent specification. The first draft appeared in the summer of 1994, with the full OpenStep API specification publicly released on October 19, 1994, emphasizing portability across diverse hardware and operating systems like Unix, Windows, and Mach-based platforms. This standard defined key libraries such as (for base objects and utilities) and Application Kit (for user interfaces), expressed primarily in the language, to enable developers to write applications once and deploy them widely without . The GNUstep project originated within the GNU Project of the as an open-source implementation of the specification, aiming to bring its capabilities to systems. Initial efforts traced back to December 1993, when Keith Mason announced a GNU implementation alongside the release of objcX-0.5, a developed by Paul Kunz and his team at the Stanford Linear Accelerator Center (SLAC) to port the HippoDraw data analysis application from to Unix with support. This work extended earlier libraries, such as Andrew McCallum's Collection Library (alpha release May 21, 1993) and Kresten Krab Thorup's beta of the GNU Collection library (May 22, 1993), which provided foundational object management tools. The project gained momentum in January 1994 with Michael D. Marchionna's call for volunteers via the Project, coinciding with the nearing public availability of the specification. By November 1994, the GNU Class Library version 0.1.0 was released, marking a structured push toward compliance. The name "GNUstep" had been suggested as early as May 11, 1991, by Barry Merriman in discussions about emulating on non-proprietary hardware. The first formal announcement appeared in the January 1995 GNU Bulletin, with Adam Fedor contributing the initial CVS check-ins in March 1995 and the gnustep.org domain registered on April 27, 1995. Early motivations for GNUstep centered on creating a counterpart to NeXT's development tools, which were tied to expensive hardware and restricted licensing. Developers sought to embody the GNU Project's philosophy of accessible, libre software while capitalizing on OpenStep's vision of a universal, object-oriented that could foster and innovation across platforms. At SLAC, the impetus was practical: avoiding a complete rewrite of existing NeXTSTEP-based applications by providing a portable runtime and frameworks for scientific computing on standard Unix environments. This aligned with broader goals of promoting as a productive language for and non-GUI applications, distinct from emerging alternatives like C++, by offering dynamic typing, runtime introspection, and simplicity in . Among the initial challenges was the absence of official source code from NeXT or Sun, compelling early contributors to rely on the 1994 public specification, partial documentation, and reverse-engineering elements of for fidelity. Diverse implementations—such as SLAC's Motif-based objcX for and standalone class libraries—required into a cohesive system, often involving custom builds and runtime adaptations for varying Unix variants. Achieving cross-platform without a full implementation (a hallmark) necessitated backend abstractions, while limited volunteer coordination and resources slowed progress toward a complete, compliant framework. Despite these hurdles, the project emphasized modularity, splitting components like the Application Kit into frontend ( library) and backend (display adapters) to enhance portability.

Major Releases and Milestones

The development of GNUstep began with its first major combined release, version 0.5.0, announced on March 16, 1998, which integrated the core libraries into a single package for easier distribution and use. This alpha release marked the project's initial consolidation following earlier fragmented efforts. Subsequent progress included the release of GNUstep GUI 0.9.1 on November 24, 2003, as an unstable version that introduced enhancements to the graphical interface library, improving compatibility and functionality. A stable milestone arrived with GNUstep Base 1.0 on April 9, 2001, coinciding with the LaunchPad 1.0 user release, which provided a solid foundation library for non-graphical objects and established long-term API stability. Key advancements in the mid-2000s focused on graphics and UI capabilities. In 2005, developers initiated the integration of backend into GNUstep Back, enabling high-quality rendering and better cross-platform display support through discussions and redesign efforts starting in February. framework, aimed at declarative , saw its first public release on December 25, 2002, but gained broader adoption and updates in subsequent years to facilitate portable UI creation atop GNUstep libraries. By the 2010s, support for the compiler was established, with initial compatibility for 2.0 features achieved around December 2010, allowing modern language extensions like blocks and non-fragile ABI in GNUstep applications. Recent releases have emphasized maintenance, compatibility, and tool enhancements. GNUstep Base 1.27.0 was released on April 14, 2020, incorporating improvements for Mac OS X compatibility and general-purpose classes. ProjectCenter, the , reached version 0.7.0 on February 3, 2023, featuring editor enhancements, bug fixes, improved templates, and better Windows support. The most recent update, GNUstep Base 1.31.1, arrived on February 28, 2025, as a minor release addressing fixes and minor enhancements to the core library. Notable events include the project's migration to GitHub for version control, which was nearly complete by June 11, 2017, facilitating easier collaboration and open-source contributions across repositories like libs-base and libs-gui.

Architecture

Core Frameworks

The core frameworks of GNUstep form the foundational libraries that enable object-oriented application development, providing essential utilities and graphical interface components compatible with the standard. These frameworks, primarily GNUstep Base and GNUstep GUI, deliver a robust set of classes and protocols for building without reliance on systems. GNUstep Base serves as the equivalent to Apple's Foundation framework, offering a comprehensive collection of non-graphical classes for fundamental operations. It includes utilities for string manipulation through classes like NSString and NSMutableString, which handle text encoding, formatting, and internationalization. Collection management is supported by structures such as NSArray, NSDictionary, and NSSet, enabling efficient storage, enumeration, and manipulation of data objects. Threading capabilities are provided via NSThread and synchronization tools like NSLock and NSOperationQueue, facilitating concurrent programming in multi-threaded environments. Networking features encompass URL handling with NSURL and service discovery using NSNetService, while file handling is managed by NSFileManager and NSFileHandle for directory operations, reading, and writing. Overall, Base focuses on core data and system interactions, ensuring portability across operating systems. GNUstep GUI implements the AppKit framework, delivering the graphical user interface components necessary for desktop applications. It manages windows through NSWindow, which supports resizing, minimization, and layering with configurable style masks. Views are handled by NSView and its subclasses, providing a hierarchical structure for rendering content and responding to user input. Controls such as NSButton, NSTextField, and NSSlider enable interactive elements like buttons, text inputs, and sliders, with customizable appearances and behaviors. Printing functionality is integrated via NSPrintOperation and NSPrintInfo, allowing applications to generate and manage print jobs with options for paper size and copies. Event loops are orchestrated by NSApplication and NSEvent, processing user interactions, keyboard inputs, and mouse events in a responsive manner. Inter-framework interactions between and rely on shared services from Base to enhance GUI operations. The runtime in Base provides dynamic method invocation and object introspection, allowing GUI classes to leverage Base's foundational objects seamlessly. Notifications via NSNotificationCenter enable communication across frameworks, where GUI components can observe and respond to events posted by Base objects, such as bundle loading or changes, promoting in event-driven designs. Archiving mechanisms, including NSCoder and NSKeyedArchiver, support GUI by serializing states, hierarchies, and configurations for persistence and exchange between the layers. GNUstep includes extensions that augment the core frameworks for specific utilities. SystemPreferences acts as a tool, comprising modular panes for managing environment settings like themes, fonts, and defaults, extensible by third-party applications for system-wide customization. The Performance library extends with optimized classes for caching, monitoring, and analysis, aiding developers in benchmarking and enhancing application efficiency without altering core APIs.

Graphics Backends and Tools

GNUstep's graphical rendering is facilitated by the gnustep-back library, which abstracts the GUI drawing functions into calls compatible with various underlying graphics systems, enabling cross-platform compatibility. This library supports multiple backends, including the default backend that leverages the 2D library for scalable, high-quality output on systems and other platforms. is the default and recommended backend for its superior vector rendering, anti-aliasing, and cross-platform support. Older options include the art backend, a deprecated vector-based renderer using the libArt PostScript-like library, and the xlib backend, a deprecated option for direct X11 integration on systems. On Windows, the winlib backend provides native Win32 support with optional integration, while macOS compatibility is achieved through 's ability to interface with CoreGraphics via custom NSGraphicsContext ports. GNUstep includes experimental support for compositing (as of 2025), extending beyond traditional X11 and Win32 environments. Backend selection is configured system-wide or per-application using the defaults command, such as defaults write NSGlobalDomain GSBackend libgnustep-cairo, allowing developers to switch renderers for optimal performance on specific hardware or operating systems. This flexibility enables optimization for diverse graphics stacks; for instance, offers superior vector rendering and compared to legacy backends like or xlib, reducing redraw artifacts and improving efficiency in dynamic UIs, while winlib minimizes overhead on Windows by leveraging native . Performance tuning via backend choice is particularly beneficial for resource-constrained environments, where lighter options like xlib can reduce latency at the cost of modern features. Supporting development workflows, GNUstep provides Gorm, a mature graphical tool that serves as an alternative to Apple's , enabling drag-and-drop creation and editing of user interfaces with support for object connections, custom palettes, and interactive testing. The GNUstep Makefile Package streamlines project building by encapsulating configuration, compilation, and installation rules into simple , allowing developers to compile applications or libraries with commands like make while supporting options for debugging or profiling. For debugging, GNUstep integrates natively with GDB (version 6.0 and later), supporting syntax for breakpoints on methods (e.g., break -[Class method:]), variable inspection via print or po commands, and runtime execution with GNUstep-specific scripts like debugapp. Complementing these tools, the library extends GNUstep's capabilities by allowing user interfaces to be defined declaratively in XML files using GSMarkup, eliminating the need for manual coding of elements and enabling direct editing in text-based tools. GSMarkup parses these files at to generate native widgets, ensuring portability across GNUstep and macOS without source modifications, while its dynamic system supports themeable interfaces that adapt to sizing and styling changes seamlessly. This approach promotes , as themes can be swapped via bundles, preserving integrity through intelligent autolayout.

Applications

Native Applications

Native applications developed specifically for GNUstep utilize its core frameworks, such as the AppKit and libraries, to deliver functionality tailored to the platform's object-oriented, cross-platform design. These applications form the foundation of the GNUstep ecosystem, providing essential utilities, tools, and specialized software that integrate seamlessly with the . Many are maintained through the GNUstep Application Project (), a community effort hosted on Savannah that coordinates and releases for GNUstep-specific software.

Core Utilities

GWorkspace serves as the official file manager and workspace manager for GNUstep, reimplementing the NeXT workspace manager with enhancements like spatial file viewing and an advanced database-based search system. It enables users to organize files, manage desktop shelves, and perform operations such as copying, moving, and deleting through an intuitive, icon-based interface suitable for daily use. SystemPreferences is the central settings application for the GNUstep environment, allowing users to configure aspects of the desktop, including themes, display options, and application behaviors via modular preference panels. It provides a unified for system-wide adjustments, such as switching visual themes or managing input devices, ensuring consistency across GNUstep applications. Graphos is a drawing application under the GNUstep Application Project, supporting creation and editing of with features for paths, shapes, and exports. Its version 0.7 was released in August 2018.

Development Tools

ProjectCenter functions as GNUstep's integrated development environment (IDE), facilitating the creation, management, and building of projects with support for editing code, compiling via GNUstep Make, and integrating debugging tools. Its version 0.7.0, released on February 3, 2023, includes enhancements to the editor and bug fixes for improved stability. Gorm acts as an for GNUstep, enabling developers to visually design graphical user interfaces by dragging and dropping widgets, connecting outlets and actions, and generating code for AppKit-based applications. It supports and editing of complex layouts using GNUstep's elements.

Other Originals

Price, known as the Raster Image Convolution Engine, is an image processing application that supports viewing, filtering, and enhancing raster images in various formats using high-quality algorithms. It leverages GNUstep's capabilities for manipulations like blurring, sharpening, and , making it suitable for and professional image work. Burn is a CD and DVD burning utility that serves as a graphical frontend to tools like (cdrecord and mkisofs), cdrdao, and cdparanoia, allowing users to create data, audio, and mixed-mode discs through an easy-to-use interface. Its last stable release, version 0.6, was made available in 2005, with ongoing maintenance via community repositories. These native applications are actively maintained through the GNUstep Application Project, with recent activity including the ProjectCenter 0.7.0 update in 2023 and other releases like Addresses 0.5.0 in February 2025, demonstrating ongoing community support despite varying maturity levels across projects.

Ported and Third-Party Applications

Several applications originally developed for , , or macOS have been successfully ported to GNUstep, leveraging its compatibility with the standard to maintain core functionality across platforms. For instance, Cenon, a tool, was adapted from its origins to run on GNUstep, providing features like drawing, text handling, and output for design and illustration tasks. Similarly, Adun, a molecular , was ported to enable biomolecular modeling and within the GNUstep environment. Other notable ports include , a basic akin to macOS equivalents, and TimeMon, a time-tracking utility, both derived from codebases. These adaptations demonstrate GNUstep's role in preserving legacy NeXT software on modern systems. Third-party and community-contributed applications extend GNUstep's ecosystem with specialized tools built or adapted by external developers. The hosts several such contributions, including AClock, an analog application that displays customizable time with smooth seconds and alarm features, designed for integration with window managers like . Chess, a ported from , offers gameplay with AI opponents and is available through GNUstep package repositories. Additionally, , an testing tool developed by Technologies, utilizes GNUstep libraries for its builds, enabling cross-platform script-based testing of user interfaces on non-Apple systems. These applications highlight community efforts to fill gaps in , , and utilities. The porting process to GNUstep typically involves recompiling Objective-C source code using GNUstep's runtime and libraries, which provide near-complete OpenStep API compatibility but require adjustments for platform-specific extensions. Developers use tools like conversion scripts from NeXTSTEP to OpenStep formats to handle legacy code, followed by bridging mechanisms in Objective-C to resolve differences between GNUstep's Foundation and AppKit implementations and Cocoa's additions, such as conditional compilation directives (e.g., #ifdef GS_MACOSX) to isolate Apple-only features. Successful ports, like those in the GNUstep wiki's documentation, often focus on core UI and data handling while replacing proprietary backends with open alternatives, allowing a single codebase to target multiple environments including Linux and Windows. Despite these capabilities, GNUstep ports face limitations in supporting advanced macOS features, particularly those reliant on proprietary frameworks. For example, Core Animation, which handles complex layered graphics and transitions in , has only partial implementation in GNUstep via the QuartzCore library, relying on for rendering but lacking full interactivity and performance optimizations found in Apple's version. Developers must avoid or emulate such features—such as by using basic AppKit views instead—to ensure portability, which can result in simplified visuals or reduced animation fluidity in ported applications.

Ecosystem

Étoilé was a modular user environment built on GNUstep, emphasizing project and document-oriented workflows through higher-level frameworks that extended GNUstep's capabilities for collaboration and component-based applications. It provided services and tools that leveraged GNUstep's foundation to create a cohesive experience beyond basic elements. However, the project has been dormant for over a decade as of 2025. StepTalk serves as GNUstep's official scripting framework, enabling language-independent scripting—primarily using Smalltalk syntax—for automating and extending GNUstep applications and servers. By integrating with Objective-C's dynamism, it allows developers to create scriptable components that interact seamlessly with GNUstep's core libraries, facilitating customization without recompilation. helloSystem is a FreeBSD-based desktop operating system that uses GNUstep as its primary UI , aiming to deliver a simple, elegant interface inspired by macOS while simplifying application bundles derived from GNUstep's .app format. In this integration, GNUstep provides the backend for graphical elements, enabling native-like application development and runtime on without relying on Linux-specific dependencies. Window Maker is an X11 window manager originally designed for tight integration with GNUstep, emulating aesthetics to support GNUstep's through themed sessions and icon handling. A 2022 fork of specifically tailored for GNUstep enhances session launching and theming, such as with Rik or NesedahRik themes, to improve compatibility and visual consistency.

Community and Current Development

The GNUstep community is organized around regular collaboration tools and platforms that facilitate ongoing and . Monthly audio and video meetings occur on the second Saturday of each month from 16:30 to 19:30 GMT, providing a for developers to discuss progress, challenges, and priorities. Communication primarily takes place via public mailing lists hosted on GNU Savannah, covering topics such as , user , and announcements. Source code repositories are maintained on under the gnustep organization, with additional hosting and project management on Savannah, enabling contributions from a core group of active maintainers. As of February 2025, GNUstep remains actively maintained, with the latest stable release of the library at version 1.31.1, incorporating bug fixes and minor enhancements. The library advanced to version 0.32.0, released in February 2025, featuring improvements in stability and compatibility. No major releases have occurred since then as of November 2025. Development efforts emphasize support, building on preliminary integration introduced in earlier versions, alongside performance optimizations and enhancements for Windows compatibility to broaden cross-platform usability. GNUstep sees adoption in specialized domains, including embedded systems where its lightweight, portable frameworks support resource-constrained environments, and educational settings for teaching and development concepts. It integrates seamlessly with projects like helloSystem, a FreeBSD-based that leverages GNUstep's .app bundle and runs compatible applications natively. Similarly, the GNUstep Application Project () extends the ecosystem with administrative tools and utilities tailored for environments. Despite this, the user base remains small yet dedicated, centered on developers and enthusiasts valuing open-source alternatives to proprietary frameworks. Ongoing challenges include the infrequency of major releases, which can slow broader adoption, and the need to recruit additional maintainers to sustain momentum amid evolving platform demands. Future directions focus on enhancing convergence with Apple's APIs to improve portability for macOS applications, coupled with initiatives such as a redesigned to increase visibility and attract contributors.

References

  1. [1]
    Introduction - GNUstep
    Introduction to GNUstep. GNUstep is a free, object-oriented, cross-platform development environment that strives for simplicity and elegance.
  2. [2]
    GNUstep.org
    OK, it's a free, standard, object-oriented, cross-platform development environment that is meant to provide generalized visual interface design, a cohesive user ...
  3. [3]
    GNUstep History
    GNUStep ; January 1995. The first announcement in the GNU Bulletin: ; March 1995. First found CVS checkin of Adam Fedor ; 27 April 1995. gnustep.org is registered.
  4. [4]
    Releases · gnustep/tools-make
    - **Latest Release Version**: 2.9.3
  5. [5]
    Releases · gnustep/libs-base - GitHub
    1 Announcement. The GNUstep Base Library, version 1.31.1, is now available. 1.1 What is the GNUstep Base Library? The GNUstep Base Library is a library of ...
  6. [6]
    Releases · gnustep/libs-gui - GitHub
    1 Announcement. This is version 0.32.0 of the GNUstep GUI library ('gnustep-gui'). 1.1 What is the GNUstep GUI Library? It is a library of graphical user ...Missing: official | Show results with:official
  7. [7]
    Releases · gnustep/libs-back - GitHub
    The GNUstep gui library is a library of graphical user interface classes written completely in the Objective-C language; the classes are based upon Apple's ...
  8. [8]
    Mission - GNUstep
    GNUstep's goal is to create a free, superior development environment based on and inspired by Cocoa (originally the OpenStep standard developed by NeXT Computer ...
  9. [9]
    GNUstep
    GNUstep is a framework for GUI and server applications, using an open-source version of Cocoa APIs, and is portable across platforms.Introduction · GNUstep · GNUstep Wiki · GNUstepWiki:Site support
  10. [10]
    Introduction to GNUstep - GNUstepWiki
    Apr 14, 2020 · License. The GNUstep libraries are covered under the GNU Lesser (Library) Public License. This generally means you can use these libraries in ...Missing: licensing | Show results with:licensing
  11. [11]
    [PDF] GNUstep Installation and User Guide
    Feb 8, 2000 · It's primary goal it to provide a free software implementation of the OpenStep specification portable to as many different variants of UNIX as ...
  12. [12]
    Objective-C Compiler and Runtime FAQ - GNUstep Wiki
    Nov 29, 2015 · The NeXT Objective-C runtime ... GNUstep has supported garbage collection via the Boehm GC for some years. The GNUstep runtime also supports a GC ...
  13. [13]
    [PDF] 1 GNUstep Frequently Asked Questions with Answers
    Jan 1, 2008 · The GNUstep base library contains a compatibility header that works with both runtimes. You should use functions there or use OpenStep ...
  14. [14]
  15. [15]
    1. GNUstep Frequently Asked Questions with Answers
    GNUstep applications provide their GUI via the OpenStep API, which provides fully object-oriented access to GUI manipulation.
  16. [16]
    Gui - GNUstep
    Gui. The GNUstep GUI library is a free software package implementing the API of the OpenStep Application Kit (tm), or "AppKit", including later additions.Missing: widget toolkit
  17. [17]
  18. [18]
    Linux - GNUstep
    This will install GNUstep with most modern features enabled, including a recent version of Clang, support for ARC and other modern Objective-C features.
  19. [19]
    GNU & OpenStep - GNUstep.org
    GNUstep is to make porting our applications easier, to leverage the benefits of the Objective-C language, and to push the idea of OpenStep as a common object ...Gnustep Hype And History · Gnustep Implementation · Beyond OpenstepMissing: foundation | Show results with:foundation
  20. [20]
    Interview with Adam Fedor of the GNUstep Project – OSnews
    GNUstep is based on the original OpenStep specification provided by NeXT, Inc. (now owned by Apple and incorporated into MacOSX). We are hosting today an ...
  21. [21]
    Application News 2003 - GNUstepWiki - GNUstep.org
    Feb 24, 2005 · GNUstep-gui and GNUstep-back, 0.8.5 (stable). 21 Mar 2003, GWorkspace, 0.5. 17 Mar 2003, GNUstep-base and GNUstep-make, 1.6.0 (stable). 07 Mar ...
  22. [22]
    ANNOUNCE: GNUstep LaunchPad 1.0 Release - GNU mailing lists
    From: Adam Fedor. Subject: ANNOUNCE: GNUstep ; Subject: ANNOUNCE: GNUstep LaunchPad 1.0 Release. Date ; 1.0 Release. Date: Mon, 09 Apr 2001 21:33:55 -0600 ...
  23. [23]
    Cairo api for standard display API, back-cairo redesign & saving/res
    Feb 8, 2005 · In general, I think keeping the recipe of the backend as dynamic as possible is the best choice. I agree cairo's api is really well thought out, ...Re: gnustep-back without freetype - GNU mailing listsDid not find correct version of backend (libgnustep-back-024.bundle),More results from lists.gnu.org
  24. [24]
    Getting Objective-C 2.0 to work on Debian's GNUstep with clang
    Dec 6, 2010 · As of Dec 6th 2010, this is the package that needs to be installed: View Raw Code? apt-get install gobjc-4.3.
  25. [25]
    ANN: GNUstep Base Library 1.27.0 - GNU mailing lists
    ANN: GNUstep Base Library 1.27.0 ; From: Ivan Vucica ; Subject: ANN: GNUstep Base Library 1.27.0 ; Date: Tue, 14 Apr 2020 00:06:05 +0100 ; User- ...
  26. [26]
    GNUstep Wiki
    Improved text object and editor. April 22 2017. GNUstep Make 2.7.0 stable release. (Download Make). GNUstep Base 1.25 ...Missing: official | Show results with:official
  27. [27]
    Git migration nearly complete - GNU mailing lists
    Jun 11, 2017 · Git migration nearly complete ; From: Ivan Vučica ; Subject: Git migration nearly complete ; Date: Sun, 11 Jun 2017 16:20:53 -0700 ...
  28. [28]
    GNUstep Base
    Compatibility. GNUstep is generally compatible with the OpenStep specification and with recent developments of the MacOS (cocoa) API. Where MacOS deviates ...
  29. [29]
  30. [30]
  31. [31]
  32. [32]
    NSWindow - GNUstep.org
    Feb 11, 2025 · Sets the origin (bottom left corner) of the receiver's frame to be the specified point (in screen coordinates). setFrameTopLeftPoint: - (void) ...Missing: history | Show results with:history
  33. [33]
    NSView - GNUstep.org
    Allocating a private gstate may improve the performance of views that are focused a lot and have a lot of customized drawing parameters.
  34. [34]
  35. [35]
  36. [36]
    NSArchiver class reference
    Summary of each segment:
  37. [37]
    System Preferences - GNUstep
    System Preferences is an application which allows to manage the settings of many aspects of the gnustep environment and its applications.Missing: Performance | Show results with:Performance
  38. [38]
    gnustep/libs-back: The GNUstep gui library is a library of ... - GitHub
    The GNUstep gui library is a library of graphical user interface classes written completely in the Objective-C language; the classes are based upon Apple's ...<|control11|><|separator|>
  39. [39]
    Backend - GNUstepWiki
    Jul 5, 2013 · GNUstep's backend provides a small set of functions used by the GUI library to interface to the actual window system (X11, etc).Missing: 2005 | Show results with:2005
  40. [40]
    ANN: GNUstep Back 0.26.0 - GNU mailing lists
    Dec 10, 2017 · ... GNUstep GUI Backend ('gnustep-back'). ... * cairo: Allow creating a NSGraphicsContext with a custom graphics port, other than a CGContext.Re: Status of Cairo backend - GNU mailing listsANN: GNUstep GUI 0.26.2 - GNU mailing listsMore results from lists.gnu.orgMissing: art | Show results with:art
  41. [41]
    GNUstep Releases Early Wayland Support, Many Other ... - Phoronix
    May 6, 2021 · The GNUstep Makefile Package meanwhile better supports newer versions of GCC, supports storyboard files, supports building on Windows with Clang ...
  42. [42]
    GNUstep Build Guide for Unix Systems
    This guide will try to guide you through the installation process of building GNUstep from source code.<|separator|>
  43. [43]
    is the bad performance because of backend and how could I change ...
    Apr 26, 2024 · My question is is it possible to just compile one backend with xlibs myself and configure debian official gnustep to use that backend? You can always install ...Re: newbies would have a lot of questions with gnustep environmentSetting the backend - GNU mailing listsMore results from mail.gnu.org
  44. [44]
    Gorm - GNUstep Developer Tools
    Gorm, or 'Graphical Object Relationship Modeller', is GNUstep's interface designer, using drag & drop to create and edit graphical interfaces.Missing: official | Show results with:official
  45. [45]
    1. Makefile Package - GNUstep
    Apr 1, 2004 · This project provides rules for building java programs. It also makes it easy to make java projects that interact with the GNUstep libraries.
  46. [46]
    Debugging with GDB - GNUstep.org
    GDB is the GNU debugger and is the main method used for debugging Objective-C programs. Full support for debugging Objective-C with GDB was added in version 6.0 ...Missing: integration | Show results with:integration
  47. [47]
    gnustep/libs-renaissance - GitHub
    Have your code or scripts generate simple XML data describing your windows and GUIs; Renaissance will magically create the GUIs from the XML. - write GUIs for ...
  48. [48]
    renaissance - GNUstep Development Framework - Ubuntu Manpage
    GNUstep Renaissance allows you to describe your user interface in simple and intuitive XML files, using an open, standard format describing the logic of the ...
  49. [49]
    GNUstep Application Project
    The GNUstep Application Project delivers you the tools to improve your GNUstep workspace experience. Applications and utilities for your desktop.Missing: native SystemPreferences Ink Price Burn AEditor gdb- front- end
  50. [50]
    GNUstep Workspace Manager: GWorkspace
    GWorkspace is a GNUstep workspace manager, a reimplementation of NeXT's manager with added features, and is stable for daily use.Missing: official | Show results with:official
  51. [51]
    User Applications - GNUstep
    The GNUstep Workspace ... GWorkspace is the official GNUstep workspace manager. It is a clone of NeXT's workspace manager and already ready for daily usage.
  52. [52]
    Project Center - GNUstep Developer Tools
    ProjectCenter is GNUstep's IDE for rapid development and management of applications, tools, and frameworks, similar to XCode, and creates makefiles.Missing: official | Show results with:official
  53. [53]
    ProjectCenter.app - GNUstep Wiki
    Feb 12, 2024 · Current Version: 0.7.0. Released: See February 3, 2023; Licensed: GPL. Overview. Over a decade ago, NeXT Computer Inc. revolutionized ...
  54. [54]
    PRICE - SourceForge
    PRICE is a high quality image viewing, filtering and enhancement application for GNUstep and MacOS. PRICE was born to support my research in image processing.
  55. [55]
    gnustep-apps/price - Gentoo Packages
    PRICE, which stands for Precision Raster Image Convolution Engine, aims to be a high quality Image filtering, enhancing and manipulation program.
  56. [56]
    Burn.app - GNUstepWiki - GNUstep.org
    Oct 20, 2021 · Burn (fka GSburn.app) is a GNUstep based CD burning program. Current Version: 0.60. Released: May 21, 2005; Licensed: GPL. Overview. Burn.icon.
  57. [57]
    schik/burn: Burn is a CD burning program for GNUstep - GitHub
    Burn (fka GSburn.app) is a GNUstep based CD burning program. It serves as front-end for Joerg Schilling's cdrtools (cdrecord and mkisofs), cdrdao, and ...
  58. [58]
    Étoilé: Powerful. Beautiful. Open.
    Étoilé is a GNUstep-based, modular user environment built from open source, designed for project and document orientation, and component-based applications.
  59. [59]
    Étoilé
    Étoilé is an innovative GNUstep based user environment built from the ground up on highly modular and light components with project and document orientation ...
  60. [60]
    StepTalk Scripting Framework - GNUstep
    StepTalk is the official GNUstep scripting framework. StepTalk is more than a scripting framework with an illusion of single objective environment.Missing: Price | Show results with:Price
  61. [61]
    gnustep/libs-steptalk: StepTalk is a scripting framework for ... - GitHub
    StepTalk is a scripting framework for creating scriptable servers or applications. StepTalk, when combined with the dynamism that the Objective-C language ...Missing: Price | Show results with:Price
  62. [62]
    Specifications — helloSystem documentation
    Simplified application bundles: The format helloSystem predominantly uses for native applications. Derived from the GNUstep .app bundle format, but further ...
  63. [63]
    helloSystem 0.8: A friendly, all-graphical FreeBSD - The Register
    Jan 31, 2023 · GNUstep is a long-running and somewhat schizophrenic project, which has implemented a NeXTstep-like desktop environment more or less by accident ...
  64. [64]
    Window Maker: Home
    Window Maker is an X11 window manager originally designed to provide integration support for the GNUstep Desktop Environment, although it can run stand alone.
  65. [65]
    Re: WindowMaker fork made for GNUstep
    Jun 5, 2022 · Re: WindowMaker fork made for GNUstep ... Sweet!! One suggestion I have had for a while is to implement the ability to add apps from gsworkspace.
  66. [66]
    gnustep/plugins-sessions-windowmaker - GitHub
    These are configs and scripts to launch a mac-like WindowMaker session with GNUstep. GNUstep will use themes like rik.theme, NesedahRik.theme, NarcissusRik. ...
  67. [67]
    Derivatives/Census - Debian Wiki
    Jun 19, 2022 · GNUSTEP is a Debian derivative aimed at shipping the GNUstep software for developers and users interested in Objective-C MVC development (Cocoa ...Missing: forks | Show results with:forks
  68. [68]
  69. [69]
  70. [70]
    GNUstep - Mailing lists - GNU Savannah
    Savannah is a central point for development, distribution and maintenance of free software, both GNU and non-GNU.
  71. [71]
    GNUstep - GitHub
    The GNUstep gui library is a library of graphical user interface classes written completely in the Objective-C language.Missing: website | Show results with:website<|control11|><|separator|>
  72. [72]
    GNUstep - Summary [Savannah]
    ### GNUstep Project Summary
  73. [73]
    Gui - GNUstepWiki
    Feb 11, 2025 · GNUstep GUI is the core package implementing the AppKit. Current Version: gnustep-gui 0.32.0. Released: June 11, 2025; Licensed: LGPL ...
  74. [74]
    Re: Wayland compositor/desktop environment (was: Theming)
    Jul 11, 2025 · gnustep.github.io is not ready for this yet. We need to have good installation instructions available, which will depend on packaging. In the ...
  75. [75]
    'GNUstep doesn't really leap forward into the present time' -- WHAT ...
    I think the main misunderstand here is the GNUstep has not many active development that can be seen by many people. The releases are getting less frequent ...
  76. [76]
    Re: GNUstep Public Relations & more - GNU mailing lists
    May 6, 2025 · I understand there is an effort being made to produce a new site (gnustep.github.io) and I believe this is probably due to the same conclusions ...