I am a rather new contributor but these are my thoughts. A lot of the points I'm making up I haven't brought up before, so there might be important things I haven't considered.

There are two things that are major blockers, at least in my view:

* CoreAnimation-AppKit bridging (CAAppKitBridge) -- many macOS applications depend on this, and also it is necessary for Chameleon and any reasonable SwiftUI implementation

* Swift-ObjC bridging -- most newer freely-licensed and proprietary code written on top of the macOS frameworks now use Swift, and it will be impossible to leverage that code without implementing bridging

Getting past those blockers would enable:

* Touch support in Gui and Back -- this would make GNUstep more useful to build code for touchscreens, just as GNOME and KDE are moving towards. A lot of touch devices could become a lot more useful if the high-quality existing desktop code could easily be brought to touch. Also, given that the most viable UIKit implementation is a wrapper around AppKit/Gui, this would reduce the maintenance burden of maintaining touch. I'd imagine that the CAAppKitBridge would be helpful but not necessary for this.

* UIKit implementation using Chameleon -- this would allow iOS applications to be ported to GNUstep, which would allow us to gain a much larger userbase. It requires the CAAppKitBridge.

* SwiftUI implementation using OpenSwiftUIProject/OpenSwiftUI (not to be confused with the other abandoned projects called OpenSwiftUI with the same goals) -- this would allow newer apps to be ported. Also, Apple is starting to introduce APIs which are SwiftUI-only, and it will be impossible to implement those without implementing SwiftUI

Things that I personally care about:

* Porting GitUp -- a very good Git client, is probably a worthwhile project to focus effort on due to its complexity and 2015-era code, which could show our ability to port newer non-Swift code.

* Porting CodeEdit -- would give us an actually good IDE, written in AppKit and SwiftUI, with support for Language Server Protocol (allowing us to use clangd for syntax highlighting, navigate to definition, showing documentation on hover, etc) and with an Xcode-like appearance

Another thing we should think about:

* Apple is rewriting Foundation in Swift (this new code is Apache-2.0 licensed), and has already been using parts of swift-foundation in production. Modern Foundation and CoreFoundation have parts which are simple wrappers around swift-foundation.

Does anyone have any thoughts?

On 2/15/25 18:16, Richard Stallman wrote:
[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Congratulations on the new release.

Is there an up-to-date list of the features that GNUstep needs and lacks?
I would like to see it.


  • ... Riccardo Mottola
    • ... Richard Stallman
      • ... Steven R. Baker
        • ... Xavier
          • ... Steven R. Baker
      • ... Ethan C
        • ... Luke Lollard via Discussion list for the GNUstep programming environment
          • ... Svetlana Tkachenko
      • ... Riccardo Mottola
        • ... Richard Stallman
        • ... Richard Stallman
          • ... Ethan C
            • ... Joseph Maloney via Discussion list for the GNUstep programming environment
        • ... Ethan C

Reply via email to