Domain: gnustep.org
Stories and comments across the archive that link to gnustep.org.
Comments · 601
-
Not So Hard
Actually, this probably isn't as difficult as it seems. GCC compiles ObjC (in point of fact, Apple uses GCC to compile OS X), and Cocoa is just Apple's implementation of the OpenSTEP API which was originally laid out back in the NeXT days (it's actually pretty remarkable how similar it is, just move the application's menus from the corner of the screen to a bar across the top and pretty things up and you've got yourself a brand new NeXT). Anyway, GnuSTEP is another OpenSTEP compatible environment, and I suspect that the Cocoa interface wouldn't take too much work to port over.
-
Re:OS X is ...
Well. I am a Mac user. Actually, I am a NeXTSTEP user but it beomes Mac OS X after NeXT acquired Apple. So, for me, Mac OS X GUI is the UI my Unix box always has!
;)Unix never really accept CDE or Motif. They were just, well, there. Three big Unix vendors: IBM, Sun and HP have all in one time or another trying to adapt NeXTSTEP/OPENSTEP on their machines but as fragemented as the Unix was during the early 90s', the adaption never went anywhere.
If you are on Linux, you want to take a look at GnuSTEP which is an open source implementation of OPENSTEP which is the fundation of Mac OS X.
-
I'm so sick of this: Cocoa IS PORTABLE!It's called GNUstep. And yes, there are applications that build cleanly on both platforms. GNUMail.app, for example. There's also a project called Renaissance that allows you to craft your interface with XML, avoiding even issues with Apple's proprietary
.NIB files.There are also clones of NeXT/Apple's InterfaceBuilder and ProjectBuilder and a host of end user applications. GNUstep builds on Linux and other UNIX systems. The Foundation classes work fine on Windows and there's serious work to perfect the GUI classes on Windows as well.
-
Mmmm.. prety butans
Being primarily a Mac user and hence a whore for pretty interfaces (or really bare interfaces, like the GNUstep interface I use on my linux box), the first thing that came to mind is that Xandros has done a once-over on KDE almost like Ximian did for Gnome. Their theme isn't quite as lickably pretty as Industrial, but it's close, and it looks like they've certainly managed to at least even with them in terms of integration (well, sans the customized OpenOffice which is one of the key perks of Ximian).
-
GNUstepMaybe now some people might want to take a look at GNUstep which is a Free cross-platform API and library set. Besides Unix systems, it does run on Windows, but not completely and with some errors.
Every helping developer is welcome!
-
Re:Uh oh...
Um, Cocoa (nee OpenStep) is an open standard too.
-
Re:How long until KDE-SVGUI?
We already have one with GNUstep; More exactly, GNUstep uses a PostScript display model, and all the drawing (widgets, etc.) are vectoriel. This has the advantage of not duplicate code between display and printer (as it is PostScript).
-
Re:How long until KDE-SVGUI?
Yes, and GNUstep is a free, LGPL implementation of the OpenStep specifications (Cocoa is also an OpenStep implementation), running on Linux/BSD. It uses a PostScript rendering model, so it is as vectoriel as you'd want. Note that's not really useful for the moment (300 DPI screens aren't yet cheaply available), but it has at least the BIG advantage of writing the same code for the display and the printer -- basically, a GNUstep drawing backend is a big vectoriel canvas.
-
Re:Plain English
Hrmm... messed up my tag there.
It should read: ... exists in an open-source form called GNUstep ... -
Re:Plain English
One of the major APIs for OS X already exists in an open-source form called are.
Of course, this is not emulation, rather source compatibility.
Throw in a GNUstep Makefile and new interface files, and you can have apps that compile from the same source on any free *NIX with GNUstep and on OS X with Cocoa. -
Running Mac software on Linux/*BSD
The fact that all Mac binaries are PPC is going to mean at best on i386 platforms you're going to have to use emulation, a better approach is to emulate the Cocoa API allowing a recompile for i386/whatever.
The Cocoa API is basically the NextStep API with Quartz replacing Display Postscript for the display composition/rendering and a number of additional classes and extensions since. (Display Postscript was licenced, Quartz is based on the free PDF specification).
The original NextStep API exists on non-PPC platforms in two forms;
The first is Apple's own implementation which was called 'Yellow Box' back in the NextStep days and let you recompile your apps for Windows. Alas there were licencing issues that Apple claim meant the runtime was expensive to deploy.
Apple still use this runtime in WebObjects for Windows - I don't know if it's been extended to keep up with the OSX enhancements.
The second option is an interesting project called GNUStep who are working towards a complete implementation of the NextStep API and have stated they will add Cocoa's extensions where they provide value. With it being open source you could always add any missing classes/functionality yourself.
This project is usable on FreeBSD and Linux and the core and gui classes are nearly complete however the developer tools themselves are not. This i not a problem however if you are developing on OSX and using them for a port.
-
Re:Since OS X is Unix...
The proprrietary library he's referring to is the Cocoa UI layer.
Two comments :
1) OpenStep (ie, cocoa) is one of the best programming framework available, and InterfaceBuilder is alone in its category. Thus, you could program GUI apps waaaaay faster. Depends of what you want, but just dismiss it without even dare to try it seems foolish. Moreover as all the development tools are free and downloadable on Apple developer's site.
2) Sure, Cocoa is proprietary. But if OSS programmers, instead of ranting about the great product offered by Apple (based on NeXT), had helped GNUstep (a free software implementation of OpenStep !!), well, we'll be in a better world ;-)
Last Note : GNUstep is, nonetheless, available, and there is an IB equivalent (Gorm). Sadly, GNUstep is yet another forgotten GNU project -- even if with the Buzz about Cocoa and Objective-C, many people seems to come now on GNUstep (plus one of the reason is that, obviously, GNUstep is quite usable, even if bugs remains). -
Re:Not necessarily...Steve said the way they got iTunes onto Windows was by porting Cocoa wholesale--and called it "Yellow Box."
iTunes on Mac OS X is Carbon, not Cocoa. (Just verified on the new version 4.1). Apple actually does have a partial port of Cocoa to Windows; it's what the Windows developer tools for WebObjects use. A while back Apple was even pushing for developers to use it for cross-platform development (and it was called Yellow Box), but that got killed when Steve decided that OS X would only run on Mac hardware. Too bad, because Cocoa is the best API I've ever used. Fortunately GNUstep is making good progress. -
Re:What about Linux
I know Windows has the larger market share, but what about Linux? Surely, it cannot be that difficult to port from OSX (BSD-based) to Linux.
This is a common myth. The command-line user-space environment is FreeBSD-based, but the GUI is proprietary. iTunes is written with the Carbon APIs, which do not exist anywhere but Mac OS X, classic Mac OS, and a partial implementation in QuickTime for Windows.
No, the QuickTime movie players for Linux don't count; QuickTime is far more than a movie player.
If it were written with Cocoa instead, it might be possible to port it to GNUstep with some work.
By the way, I specifically said user-space; the kernel is also completely different which means hardware drivers are completely different. Don't expect that porting Linux or FreeBSD drivers to Mac OS X should be trivial either. -
Re:Mac version does not give you Linux
The fact is that Carbon is around for the duration, and isn't a "transitional API".Which, as a lover of Objective-C and GNUstep, really pisses me off. We could have had EASY source-level compatibility if they hadn't started pushing all that Carbon/CF shit. Now, every time somebody comes along and asks how they can write software to compile on both GNUstep and OS X, they find out they can't use some hacked up Mac crap and say, "Oh. Never mind then." The ex-NeXT people at Apple gave up and we lost a great API and OO language *again*.
-
Re:Whats new?
Well, we could always copy from the same sources that OSX is copying from
-
Re:what no TK?
More importantly... What, no GNUstep?
It's amazing how much GNUstep is overlooked given that it is the only toolkit whose featureset can compete with qt. Just like qt, GNUstep is a full framework covering much more than simply building a GUI, and can thus be the foundation of an entire application/environment. The OpenStep frameworks (of which GNUstep is an open-source rewrite) address everything from low-level primitives (collection classes, advanced memory management with garbage collection) to networking, file operations, GUI operations (with a graphical IDE and GUI builder modeled after NeXT, now Apple's Project Builder/Interface Builder) and more.
If more attention were paid to GNUstep, it would get the usage that it deserves. I find it superior to almost every toolkit except for qt (with which it competes neck-to-neck in terms of featureset and consistency), and any Mac OS X or OpenStep/NeXTStep programmer will give a glowing recommendation. Plus, it uses Objective-C :) -
No, there is another:GNUstep
OK, so I was joking, but it is sort of compatible with what Apple's doing.
-
Re:They've had a lot of trouble.Gnome is rapidly becoming a major clusterfuck these days. Which is a shame, because the only other real option is selling yourself to SCO (aka... Trolltech's owner), and subjecting yourself to the full GPL just to write desktop apps, or paying SCO $3000 for every developer.
So, contribute to a sane, working, API
-
Re:directfb
Try helping out with Simply GNUStep. Saw it linked off the GNUStep site and it looks like the most developed of the distros like that. Unfortunately it's nowhere near ready.
-
WindowMaker
In case anyone didn't know Window Maker is the free implementation of GNUstep. From the website "In every way possible, it reproduces the elegant look and feel of the NEXTSTEP[tm] user interface." It's actually quite a nice lightweight window manger and runs great on older hardware (for which GNOME & KDE are much too bloated) and has a pretty good developement community.
-
Re:ExplorerThe KWQ stub library that Apple used to make Safari without paying Qt developer costs is written in Objective C++ (i kid you not), and is tied to Cocoa. Cocoa of course is a proprietary set of APIs, which are not portable.
GNUstep provides an Object-Oriented application development framework and tool set for use on a wide variety of computer platforms. GNUstep is based on the original OpenStep specification provided by NeXT, Inc. (now Apple). GNUstep is becoming more and more stable every day and is used in a production environment by several companies. Feel free to browse this site to find out more about GNUstep and what it can offer.
-
Re:LINUX needs to tell apps where they live!
What Linux really needs is a dir-independent application running system.
-
What?I'm afraid that distribution does not use GNUstep; Window Maker and GNUstep, though intertwined in certain ways, are completely different projects altogether.
Window Maker a GNUstep desktop does not make, I'm afraid.
-
Re:Freecraft is a ripoff.
Yes it is legal.
If "OS X functionality" means, say, rewriting an operating system that can run Carbon and Cocoa binaries, then yes, it is damn legal. GNUstep already implements most of Cocoa, although it is not binary compatible.
If "OS X functionality" means it has OS X on it, then yes, it is legal, as long as the copy of OS X is legitimately purchased from Apple.
You can probably get Mac OS to boot on a non-Apple machine... It used to be that it required a proprietary ROM chip from Apple, that had core OS code. Apple even licensed these ROM chips to clone makers in the 1990s! (They don't make them anymore, but there are Mac clones out there...) But as of Mac OS 8.5 in 1998, the proprietary ROM chips aren't even an requirement anymore. And since Macs are mostly commodity hardware these days, it's probably easier to make a Mac clone than it ever was in the past. -
Re:Huh? BULL -LONE -EE
There's always Display Ghostscript. It probably has the potential to become as pretty as Quartz.
-
Re:Huh? BULL -LONE -EE
Quartz would actually be useful for many other projects, which is why Apple doesn't do it.
How? The source is only useful to people a) debugging the code, or b) interested in by-passing the API to shoot themselves in the foot by using internal, unpublished features. Apple keeps it closed source to maintain their competitive advantage in being the most visually appealing desktop experience, not to spite anyone.
but also learn Mac-specific stuff like Objective C in addition to the APIs.
This is uninformed rubbish. Objective-C is in the gcc compiler. Mac OS X uses the gcc suite. There is nothing "mac-specific" about Objective-C. The API has been around for over 10 years. It's called OpenStep, and if it has survived that long commercially, then perhaps it just might be worth learning. Lastly, we have source compatible OpenStep libraries for many other Unix OSs: GNUStep. -
GNUStep?
Perhaps you could hack the GNUStep Terminal.app to compile with Cocoa. For those who don't know, GNUStep is a GPL'd implementation of the OpenStep Specification of yore.
-
Re:OS
Yep. GNUstep had a Display GhostScript graphical backend at one point but it couldn't really cut the mustard and nobody uses it anymore. The guy the FSF contracted to do the work couldn't finish it. It seems that the number of programmers competent to write the necessary code is extremely low.
-
Cocoa has been cloned in part
But not all of OS X is OSS. Significant chuncks of it are closed and proprietary.
And cloned.
-
Re:clarified?
Then what makes it unix-like?
I define a *n?x operating system as any operating system that conforms in spirit to the Single UNIX Specification. I define a UNIX operating system as any *n?x operating system that carries the Open Group's UNIX brand. I define a *n?x GUI as any GUI which is designed to run on a *n?x operating system and which has a reasonably complete free implementation. (X desktops qualify, and the Mac GUI will qualify once gnustep matures to the point where porting Cocoa apps becomes trivial.)
-
Re:Someone explain the (L)GPL to the guy...
Carbon/coca is ok but its limited to the mac platform.
Au contraire. I've got yer cross-platform Cocoa right here. We've got an XML-based GUI autolayout system called Renaissance that makes it easy to write and maintain a Linux/*BSD/Solaris version and a Mac OS X version of your software. And Objective-C code is a hell of a lot easier to understand and maintain than that C++ shite. -
Re:something i always wondered aboutthey could port aqua to linux, since it already compiled under gcc anyways.
Aqua is a GUI, like Gnome or KDE. The equivalent of X11 in the Mac world is Quartz. Quartz is a client/server system, like X11, it just happens to use PDF instead of X11's binary protocol. Aqua could easily run on top of X11 and look and behave the same (well, actually, Aqua-on-X11 would probably be a bit faster than Aqua-on-Quartz).
If you want Aqua, Cocoa, and Quartz for Linux, you can effectively already get it, minus Apple's fancy graphics design. The project is called GNUStep.
-
Re:something i always wondered about
Interestingly, it seems like GNUStep has given up on DPS (well, Display Ghostscript), even though they'd long wanted to use it (to better clone NeXT). It was a hold-up for a long time, and someone wrote an Xlib backend and I think it just worked. I'm sure they could take advantage of the RENDER extension, but I don't really see the advantage of a whole Postscript interpreter under there.
-
Re:Objective-C and Cocoa
People have told me before how Objective-C was nice. But looking again now, it looks like it's only Mac OS-X, which is probably why I never looked into it before. I don't want to get locked into coding for a specific platform.
Objective C is fully available for Unix and windows systems, and I'm using it in my latest spare time project. If you're looking to code in Cocoa, GNUStep already provides a very good implementation of the Foundation, and they're working to get the Application classes fully supported under Unix and Windows.
In the Windows world you would probably best use the MinGW toolkit. If you don't plan to use GNUStep/Cocoa, but just the standard Objective C runtime, you'll still want to download the GNUStep runtime. The language runtime packaged with the latest MinGW does not support building DLLs, which can be rather frustrating if you don't know about it before you start. Once you get that built and installed, you're good to go.
I've been very happy thus far working in Objective C. I typically find my code is much smaller than when I work in C++, and its much easier to read and maintain when I'm done. There is something very pleasant and freeing about being able to work in a nicely dynamic language.
-
Re:Objective-C and Cocoa
People have told me before how Objective-C was nice. But looking again now, it looks like it's only Mac OS-X, which is probably why I never looked into it before. I don't want to get locked into coding for a specific platform.
Objective C is fully available for Unix and windows systems, and I'm using it in my latest spare time project. If you're looking to code in Cocoa, GNUStep already provides a very good implementation of the Foundation, and they're working to get the Application classes fully supported under Unix and Windows.
In the Windows world you would probably best use the MinGW toolkit. If you don't plan to use GNUStep/Cocoa, but just the standard Objective C runtime, you'll still want to download the GNUStep runtime. The language runtime packaged with the latest MinGW does not support building DLLs, which can be rather frustrating if you don't know about it before you start. Once you get that built and installed, you're good to go.
I've been very happy thus far working in Objective C. I typically find my code is much smaller than when I work in C++, and its much easier to read and maintain when I'm done. There is something very pleasant and freeing about being able to work in a nicely dynamic language.
-
Re:Not what I expected...Well, GNUstep (which is what I tend to use) is based on OpenStep, which is a WM specification originally released by NeXT (in fact, Cocoa is based on it as well). I think the main thing for GNUstep is the fact that it's based on Objective-C++. I assume AfterStep is also based on OpenStep, but I'm not sure. AfterStep I *really* don't like =)
Now, whether or not fvwm2 is either also based on the NeXT specification, or the other WMs are "based" on it because they used the code, I really don't know.
I've never really liked fvwm, dunno. It's a powerful WM, but it takes oogles of time to set just right.
-
Re:Open Source?
Oh, you mean this?
-
Re:Apple is funny companyThis is especially true of the excellent development tools that come free with OS X.
No kidding there. I only wish more people would realize how clean and elegant the old NeXT frameworks really are instead of pushing GTK or Qt when there are better cross-platform alternatives.
-
Re:My thoughts on Apple
And don't forget that Cocoa applications are source-portable with GNUstep. There are even GPL'd clones of Mail.app, and Interface Builder and Project Builder.
-
Capitalization matters.
say what?
It appears you're confusing QT with Qt. QT, or QuickTime, is Apple's multimedia platform for Mac OS and Windows. Qt, on the other hand, is a copylefted GUI toolkit for X11 and a proprietary GUI toolkit for Windows, Mac OS, and X11. A native port of the free version of Qt to Windows will not be released until ReactOS is done; a native port of the free version of Qt to Mac OS X will not be released until GNUstep is done.
-
Not too much effort requiredit surely will be a large undertaking due to the fact that it's written entirely in Objective C and Cocca. Unfortunately this means a complete re-write will be needed
Nope. GNUstep.
-
Re:Oh that Rendezvous...
The GNUstep project is a portable implementation of the Cocoa APIs.
-
Re:Here's a simple move...
You want display PDF on Linux? Use GNUstep. Unfortunately that has absolutely nothing to do with any acceleration whatsoever. It probably makes most things slower.
-
Re:stick to e16 for a wm, but e17 has nice stuff
Didn't Afterstep become GNUStep?I have to agree with you, I miss the abundance of window managers that used to be out there. All the different approaches, the interesting ideas, etc... Now the innovation that was taking place is kind of dying. GNOME and KDE are nice, but they don't try much that is edgy. Enlightenment is about the last stop these days if you want to see some innovative ideas in GUI design.
I think a lot of this has to do with lowest common denominator thinking. MOST people are satisfied to be able to just maximize, minimize and close windows. In fact a friend of mine still questions the need for multiple desktops and windowshading. I think the point is that we need multiple approaches to be able to satisfy varying work environments. It's kind of like writing your own
.bash_profile. No two are (or should be) alike, if you are talking about an advanced user. The GUI should be the same way. That's what projects like GNOME and KDE seem to forget. They are too focused on beating Windows by being the same. -
Re:Damn !
Why Sun don't just pick up OPENSTEP ! it's incredible
Because the code they have is 100% Copyrighted by Apple and as a result Sun can't just dust it off, release the source, and allow anyone to use it for no charge. ... they HAVE IT, it's one of the best Desktop ever, and they act as they don't even know that they have it. Moreover they could finally beneficiate of MacOS X programs.What Sun could do, which would help everyone, is put some work into the GNUStep project. This project includes a Java API - a very nice one; Sun would encourage the creation of OpenStep Java applications in doing so, and could take the opportunity to create a rather good cross-Unix-platform desktop while they do it. I've used OpenStep Java under OS X, and it actually felt like a smoother development arena than the Objective C system you're "supposed" to use.
Of course, it does mean Sun would be promoting a second API for Java, and that might not be quite what they want to do. OTOH, the worst part of Java, in my experience, is the standard set of APIs, so perhaps that'd be a good thing for the language and concept as a whole.
-
Re:underlying technologyDisplay Postscript is proprietary and costs money to license from Adobe. Tell me how to get it running on my RH8 box please.
What does that have to do with anything I wrote? DisplayPostscript has been available for X11 commercially since before Linux even existed, back when Apple was barely past black-and-white Macs.
XFree86 4 used to ship with a DPS extension (based on a donated IBM DPS implementation, I believe), but that isn't being developed anymore because X11 now has better mechanisms for doing the same thing. Look at the DPS site for the rationale. If you like, you can still download and use it. And if you want to see what the open source equivalent of Cocoa is doing, look at the GNUstep site.
Basically, the mainstream, about a decade ago, tried and abandoned the graphics architecture that Apple has chosen for OS X. Now, the use of PDF fixes some problems with DPS, and one can argue that machines are faster now so it doesn't matter as much anymore, but I don't think so.
In a very REAL practical sense, I can't do stuff in Gnome or KDE that I can do easily in Mac OS X.
And I fully agree with that. But that's not what we are talking about here. What we are talking about is whether that is a limitation of the underlying technology (X11 vs. Quartz) or whether it is an implementation choice by the implementors of the desktop, and I argue it is the latter.
I predict you will see X11-based desktops with all the pizazz of Mac OS X and little of the Mac OS X bloat and overhead within a couple of years.
-
Re:o-step Rebirth
However, they should have checked first: there already is the GNUStep initiative which is implementing the OpenStep specification. The O-STEP project is a futile duplication of effort by companies that are not behind the ideals of Open Source movement. All they're after is some feel-good support from our community while they're chasing a quick buck. Mark my words.
-
Re:Coding on Non-MacYou could also use GnuStep and write your app in objective C. I'm not sure about the current state of GnuStep, But I've seen apps written using it compile on OSX.
You'd probably need to borrow a mac for making sure everything compiles and works ok in OSX but you could get surprisingly far (and have a working linux app) without it.
-
Re:why?Unfortunately, TrollTech is in that list.
Nothing unfortunate about it. Use GNUstep instead.
:-) Hey, it's a much more elegant design anyway!