Apple-style Garbage Collection for GNUstep
etoileos.com
etoileos.com
- What Cocoa features does the application use? Something written for OS X 10.2 using "oldschool" APIs is much easier to port than a new app that perhaps makes extensive use of 10.5+ features, binding magic, Core Data, etc.
- What other frameworks does the app use? If it makes heavy use of something like Apple's media and animation APIs (Core Animation, Core Image, QTKit, etc.), it will be very difficult to port because GNUstep doesn't cover these.
(Edit: one important factor is the degree to which the port needs to integrate with the target platform. GNUstep doesn't look very native on Windows, for example. But if the port is something like a custom application targeting Linux, then the look of widgets and fonts may not matter at all.)
The trouble is the few times when it doesn't behave as expected. I tried porting a paint program I had once written for OS X to GNUstep. Everything was going swimmingly until I ran into a behaviour of the OS X NSImageRep caching mechanism that wasn't replicated. Unfortunately, the program more or less depended upon that behavior, so coding around it wouldn't have been trivial. I know where in GNUstep the issue lies but I just haven't had the time to have a go at fixing it, so for the time being, I remain stumped.