Domain: gnustep.org
Stories and comments across the archive that link to gnustep.org.
Comments · 601
-
Re:Carbon and Cocoa: open source emulation?
GNUstep is a GNU project to create an open source set of frameworks that conform to the OpenStep (now Cocoa) API. Core foundation is 99% complete currently, and very usable. AppKit has a way to go yet. Basically, at best GNUstep will one day give you source compatability (meaning don't hold your breath for those proprietary closed source mac apps). Currently, it's not there yet for several reasons.
First, AppKit has some work to do on the more advanced controls (like the text model). Second, the GNUstep folks are trying to catch up to a moving target (Cocoa). Third, there's an amazing lack of interest in the GNUstep project so it is not moving all that fast. Finally, Cocoa apps used a completely different makefile format and also store interfaces in nib files which are in a semi-proprietary format. This means to build OSX apps, you'd have to rewrite the makefiles (pretty simple), and either convert the nib's to something your app can use (conversion is very rough, doesn't work well) or rewrite your interface by hand.
So one day I hope things will look better, but right now anything with a complex interface would be a pain to port to GNUstep. -
Re:Some comments
I hope you read this...but if the developer strictly adheres to using only the standard frameworks and libraries built on the standard frameworks for the Yellow Box / OPENSTEP / Cocao / whatever it is caled now...it should only require a simple recompile to be ported to linux and most of the other major *nix's and BSDs. What you say! How is this possible! Why, there is a little (not so) secret things called gnuSTEP. What does it do? Well, it provides a set of Frameworks that are 100% compatible with the OPENSTEP specification. And guess what? Mac OS X Cocao is OPENSTEP! Yay. And, gnuSTEP is really close to 1.0 (the last release was what the developers said was the last release before 1.0). So, we may see lots of cool apps on linux in the future, once people start writing Cocao apps for Mac OS X. See all the fun and magic over at gnustep.org. Today.
------------- -
Re:Some comments
The reason is simple: it is relatively easy to write to the Mac environment, since all the API calls are standardized.
Standardization in itself doesn't ease development. I gave up Mac development in 1992 because the API at that time was horrible, and it's only gotten worse. Microsoft products under OS X will use that API (Carbon) if IE is any indication, and most existing Mac apps will move over to OS X via Carbon. This won't help Linux users at all, since there are no efforts (I know of) to get the Carbon API implemented directly (sans emulation) on Linux.
Cocoa on the other hand is based on OpenStep, which has seen active open source development at GNUstep. Clueful new development for Mac OS X will use this API. Slap whatever GUI you want on it; OpenStep doesn't care. If Linux users hope to take advantage of Mac OS X application development, they should put their efforts into GNUstep.
-
Re:So -- cross platform apps?
Then use, GNUStep
-----
"People who bite the hand that feeds them usually lick the boot that kicks them" -
site downThe site is down. linuxfocus.org is down for me completely.
I thought GNUStep was the api layer that allowed for a Next-ish type interface. I know that while WindowMaker was not written using GNUStep, it is compatible.
You
/. editors and anyone else interested could go to the source to learn about GNUStep here. -
Re:Berlin missed the boat
Display PostScript isn't vector based the way Aqua is AFAIK(though I think it COULD be if you tried). Besides, even if it were, there are no environments using Display PostScript in such a way(which was my point). And yes, I am very familiar with GNUStep and MacOS which both used Display PostScript, but once again, not in a vector based GUI. Swing is definitely not vector based.
I think perhaps you're misunderstanding what vector based means. It's not about auto-scaling pixmaps. It's about not having pixmaps at all. All your drawing primitives and much on-screen data are defined by equations. Resizing, translating, rotating are not about matrix multiplications and manipulations ala Gimp/PhotoShop. They're all perfect operations because the transformations are not being applied to a pixmap. No need for anti-aliasing, no need for bicubic interpolation, nearest neighbour or anything like that. I know I'm not even doing it justice, so I'll provide the link to a very informative article about Aqua.
No toolkit will do that for you without expensive matrix transformations. I think if you check out the Berlin webpage under the "Screenshots" section, you may see what I mean.
-----
"People who bite the hand that feeds them usually lick the boot that kicks them" -
Re:Python and Propoganda both start with the lette
-
Re:Python and Propoganda both start with the letteHm... check out GNUStep.
Objective C isn't going to die. Apple's use of it will hopefully bring some attention to it.
Cryptnotic
-
X, MacOSX ... and GNUstep!
It's kinda funny that WindowMaker (which is affiliated with GNUstep (hence the logo at the top of the dock)) is running -- since GNUstep represents NeXT circa 1994, I suppose you can have three entirely separate generations of software running.
-- -
Apple and WINTEL PCs
Apple should just release an OpenStep implementation for Darwin. Remember NeXTStep for Intel systems? Sort of base it on that. Either that or work with the GNUStep people to couple GNUStep with Darwin to get a Pseudo-OSX type OS for WINTEL systems minus Aqua and other OSX-only features. Let the GNUStep people enhance the GUI to Apple's guidelines.
-
FreeBSD could be so much more than a server OS...
I've often thought that FreeBSD could be a super easy Desktop OS with little work.
Everytime someone mentions FreeBSD on /. people have to mention the ports collection and how cool it is. Then, all the Debian people counter with how cool apt-get is. Both are very cool, but I have to say that FreeBSD continually impresses me with how complete the ports are.
Some kind of a meta port that installs a userfriendly desktop along with a standard set of apps would be super cool.
I've always had an easier time of getting hardware working in FreeBSD than Linux, including soundcards and my video capture card (just add "device pcm" to the kernel config file for 99% of sound cards)
In my years of running both FreeBSD and Linux, I've only had one hardware snafu with BSD (if anyone can help, it's the integrated sound on the FIC AZ11 Mainboard. It only plays noise.:-( No IRQ conflicts that I can find)
I'd love to package a FreeBSD/GNUstep port with a nice installer for FreeBSD, but I lack a lot of programming experience. If anyone knows of a project similar to this, I'd love to hear about it, or if not, someone might be interested in forming a group?
-Peter -
Re: Jobs-aphrenicMostly agree, but there's one small thing I disagree with:
It would be hard to port an OS X application to other UNIXes because the app is written for Quartz and Aqua, not for X-Windows.
Actually, GNUStep implement most of the API needed in this instance. GNUStep running over Darwin or FreeBSD would be very, very, close to being an equal of MacOS X that could run the same native applications.There would be differences in structure - GNUStep runs over Display Ghostscript (and some PDF version of the same thing), which in turn runs over X. This would be transparent to the programmer.
Of course, GNUStep isn't skinnable yet from what I remember, so, somewhat ironically, anyone running this combination would see MacOS X apps looking like NextStep apps, and Gnome/KDE apps looking like MacOS X apps. It would probably be very... odd.
(Other note: My understanding is that the GNUstep people haven't gone for binary compatability yet, but I'm guessing that's a matter of time. All that needs to be done is to write MacOS X style wrapper libraries, from what I understand. Which is one of the reasons why I used the phrase "very very close" above, the other being that it wont run MacOS 9 apps, which MacOS X can do.)
-- -
Re:I don't see it happeningA good question to ask might be "How much profit is Apple making from the average Mac" and then asking if users would be willing to pay this + media + retail costs for MacOS X.
I'm guessing that if Apple is making $50-100, which seems unlikely but with an iMac coming in at $800, hardware costs making up some of that, retail costs making up even more, it might be possible, you might be able to see MacOS X for less than $200. Which is cheaper than a brand new boxed copy of Windows right now, but not by much. I doubt most Slashdotters would be willing to shell out that much. NextStep and OpenStep used to retail for around $500 IIRC, and the enthusiasm of its users was not enough to make people actually want to spend money on it.
Indeed, as superior to Windows OS's goes, the news currently is fairly bleak. Even the cheap systems, BeOS, QNX, etc, have failed to make any headway and had to go to a free (as in beer) distribution model to hold on to market share.
Then again, another question is "Would it, priced at a lower margin, attract many more times the number of users that would have otherwise been unwilling to buy a Mac". If so, then the prices might be lower, but Jobs et al would have to be very sure that they'd see a dramatic improvement in market share. If sales of Macs without x86 MacOS X would have been 1,000,000, but with the x86 platform available be half that with a mere 800,000 expected sales of x86 MacOS X, Apple wouldn't even be able to halve the price.
Right now, I don't see it as impossible that MacOS X might be released in an x86 form, but I suspect the price would be a great deal more than most people would be willing to pay, especially with most people(still!) being forced to buy Windows anyway and with little chance the x86 version will be able to run all OS X software (remember there's all the stuff designed to run on MacOS 9 that wont work)
I think Intel people who want the platform might be better of contributing to the GNUStep and Darwin projects. You wont get Aqua, but the platform will be free (as in speech and as in beer), and wont rely on Apple hardware sales to determine the level of support both now and in the future.
--
Keep attacking good things as "communist" -
It also lives in GNU/Linux...While CDE is the standard commercial UNIX desktop, some of the most popular GNU/Linux window managers are inspired by or clones of the slick NeXTstep interface. The most popular is undoubtedly GNUStep is a fairly complete clone which is also the "official" GNOME WM. (Bugger off, E-freaks!
;) AfterStep, which shares core team members with GNUStep, is an older WM inspired by NeXTstep that also allows infinite customization. And be sure to pick up a copy of Aterm, a terminal emulator with NeXTstep-style scrollbars and really awesome transparency setups.
AfterStep actually used to be CmdrTaco's fave window manager, before he sold out to the Enlightenment camp. Fun fact: Taco is the author of the dockable CD applet "ascd", which looks really cool but dumps core more often than Shaft smacks hoes. :)
Apple may be trying some NeXTstepish things with OS X, but IMHO they should instead bring back the NeXT tradition of awesome, sleek black hardware. It is my hope, even though I don't use Macs, that the iMac's successor embodies this aesthetic philosophy... but I'm not holding my breath; despite the fact that Jobs wants to appear rebellious and artsy, he will never again sell a machine whose external appearance might frighten their now-core userbase of little kids and grandmas.
All generalizations are false.
-
Re:Petition for OS X on Intel hardwareWhy bother? Why not just have the Linux community work on the interface to Linux to look like Aqua or to have it user configurable to use "Skins" to look like anything it wants to?
Then consider using GNUStep on a Unix version for the PC like Linux. Maybe someone can do a Carbon API library port or something?
-
Re:Well, that's nifty... but useless.
News flash: Most of us are hoping for OSX, including Aqua, on Intel-based architecture, not the other way around.
And some people, instead of just hoping, are trying to deliver it.
-
Re:AQUA and Xfree86
Hmm. You know, it would be nice if somebody were working on a free clone of the NeXT/MacOS X graphics system.
Oh, they already are. GNUstep. -
Re:The Author of this article just doesn't get it.
-
Re:Article ignores Nextstep UsersWhat can I say, except "Amen"? Have you had a look at GNUstep? We're cloning PB and IB (CVS). Things are kind of slow going right now, but I'm going to finish the IB palettes over Christmas break.
We also have a Workspace.app and some other applications.
-
Don't wait for C#
Why not use a C-based object-oriented language that has been evolving for over a decade with an open standard that was first drafted in 1994? Yes, I'm talking about Objective-C and OpenStep, which is the most important technology behind Apple's new Mac OS X and has open source efforts (beyond what is already available in gcc, that is) available at www.gnustep.org. It's worth a look for anyone who is interested in serious object-oriented development.
-
(Yeah, well..) Darwin != Free, GNUStep isDarwin is covered by the Apple Public Source License, to which the Free Software Foundation has dedicated a whole page, and that's not because they like it. The OSI had been very mistaking in calling this stuff "Open Source". Remember that such an Apple license can be retracted any time you have a patent conflict with Apple.
And, let's figure, who doesn't?
Wasn't apple that company that bought rights to the one-click shopping "patent" from Amazon.com, and showed they were even proud of that? (Actually this is a rhetorical question, never bother replying "yes, they were".) So if you own anything of a Website with a shopping interface which is just a little bit too easy, you can't use Darwin. Sucks, right?
So I don't give for MacOS X, and I think that anyone who codes for MacOS X in his spare time isn't helping out anybody but Apple. Apple owns this code. No-one (and then again, everyone) owns Free Software.
If you think that the MacOS concepts are cool, you'd be glad to hear that they are modeled after the open OpenStep standard. And if you want to work on a Free OpenStep implementation, go work on GNUStep.
Yes, there are differences with MacOS X (and NextStep):
- Binary incompatibility (due to compiler issues and to undocumented resource file formats in the OpenStep specification)
- Works on top of the X Window System instead of its own graphics thingies
- Follows the NextStep look & feel
- Not Out Of Beta Yet (doh, the only NS implementation that
- is
;-)
So if you want to develop a Free MacOS X, GNUStep is a really good place to start from. I simply hope that by the time MacOS X is released, the headlines will look like "GNUStep: a better MacOS X than MacOS X"
:-)
It's... It's... -
GNUstep!most apps will pretty much have to be rewritten, unless you write them for GNUstep which is an implementation of the OpenStep specification, which itself is the base for Mac OS X.
GNUstep aims to allow you to write apps so that you will pretty much just have to recompile them for either GNUstep, OPENSTEP or Mac OS X.
greetings, eMBee.
-- -
This is something NEW, folks
Why is almost everyone here bringing up the long-gone-and-deadness of the old Amiga machines, and then in the same breath writing the SDK off as DOA?
This SDK has nothing to do with the old Amiga machines. They kept the name, but that and maybe a certain degree of technical unconventionality are about all this has in common with what Amiga used to be.
This is a cross-platform, hosted application environment. It has a virtual-processor architecture, such that the same binary will work for all platforms (through dynamic recompilation). Everything is based around the Taos kernel, which is (supposedly) the only thing that actually has to be ported to a new architecture for the entire system to support it.
So what this really is is something like Java on steroids, or GNUstep sans native binaries. I love that the core system is quite compact (apparently the Taos kernel is 12kB!), and that it is highly geared toward efficient parallel processing. That the whole thing is called Amiga is a bit odd, but looking into this, one explanation becomes clear: What Amiga boxen were to the hardware peers of its day, this seems to be to the software of today. This really does look like advanced stuff. Read more about it.
I am disappointed, however, that the system is proprietary. Don't wanna go there. But then, hey, these guys are way ahead of the curve. And who knows, maybe the AROS folks will begin their own implemetation of the new API once they finish with the old one :-) -
wow
I'd agree with your statements if your target audience is an existing linux user who wants to run linux.
But if you're a current Mac user, your arguments miss the point. The cons you list can be grouped into three categories:
- completely subjective, and biased towards unix
- complaining about features which are obviously not perfectly functional, given the 'beta' designation
- pointing out UI issues which are relatively trivial to change, not software design flaws
really. so if I want a desktop operating system with a modern design, with a rich oo programming api with access to advanced display technologies, what are my choices:
- *nix and gnustep
- *nix and berlin
- macosx
linux and gnustep might be at an analagous point in development, check out their status page. berlin is still in heavy development. but the big difference is apple has salaried employees working on this. and the cocoa api is much more powerful than openstep/gnustep because of its access to quartz, which is like dpsng + opengl + quicktime. gnustep is a clone, and will always be catching up to cocoa.
and if you really want, install Apple's dev tools, XFree86, and be done with it, you've got a gnome-ready workstation (when it gets ported, Darwin is just another BSD). Have you seen ProjectBuilder? I've never before seen such a nice IDE that uses open-source tools (gcc, gdb, jam). And for you hard core unix guys, openssh included.
And, to top it off, you get all the OS9 applications that Mac users are used to. You get a java runtime environment whos swing interface is consistent with the MacOS interface. You get a professionally designed and polished GUI.
I would argue that ALL MacOSX needs for release is polishing. A linux system that looks like MacOSX can do nothing that MacOSX will not be able to do.
cheers,
-o -
wow
I'd agree with your statements if your target audience is an existing linux user who wants to run linux.
But if you're a current Mac user, your arguments miss the point. The cons you list can be grouped into three categories:
- completely subjective, and biased towards unix
- complaining about features which are obviously not perfectly functional, given the 'beta' designation
- pointing out UI issues which are relatively trivial to change, not software design flaws
really. so if I want a desktop operating system with a modern design, with a rich oo programming api with access to advanced display technologies, what are my choices:
- *nix and gnustep
- *nix and berlin
- macosx
linux and gnustep might be at an analagous point in development, check out their status page. berlin is still in heavy development. but the big difference is apple has salaried employees working on this. and the cocoa api is much more powerful than openstep/gnustep because of its access to quartz, which is like dpsng + opengl + quicktime. gnustep is a clone, and will always be catching up to cocoa.
and if you really want, install Apple's dev tools, XFree86, and be done with it, you've got a gnome-ready workstation (when it gets ported, Darwin is just another BSD). Have you seen ProjectBuilder? I've never before seen such a nice IDE that uses open-source tools (gcc, gdb, jam). And for you hard core unix guys, openssh included.
And, to top it off, you get all the OS9 applications that Mac users are used to. You get a java runtime environment whos swing interface is consistent with the MacOS interface. You get a professionally designed and polished GUI.
I would argue that ALL MacOSX needs for release is polishing. A linux system that looks like MacOSX can do nothing that MacOSX will not be able to do.
cheers,
-o -
Don't forget GnuSTEP
This looks real good for ObjC. You now what ? NeXTstep really did have 10 years of advance. He's only getting mainstream now...
:-)
I'd *love* to see ObjC gain a mainstream-ish following. It's everything C++ and Java should have been.
This would also bode well for the GnuSTEP project and GCC's ObjC front end. GnuSTEP is already integrating some of Apple's OSX changes to the OpenSTEP API, and is already the closest thing out there to OSX (that isn't owned by Apple). -
Re:NeXTLinux?
(Has a nice ring to it...
:-)
granted people here don't like shelling out money for anything let alone as OS but I for one will be shelling out my (insert $$ value here) for a version of NeXTSTEP running on big hardware. I don't think I'll need the seperate partition for linux anymore.
Can't say much about the hardware and core OS (though I've heard my share of good things about the NeXTCubes, and gosh they looked killer), but for the working environment, you could always go with GnuStep.
Hmmm... perhaps if you had some Mac hardware, installed [the microkernel-based] Darwin, and built GnuStep... that would probably be as close to a free OSX/OpenStep as one can get, yes? -
Re:linux version of APIs
-
Re:Reviews?
Mac OS X being essentially the latest incarnation of OpenStep (with MacOS emulation being the single most significant addition, IMHO), it's got far and away the most productive environment (tools + object libraries) for GUI app development I've ever had the privilege of working with... It's amazing how little coding it takes to put a good app together once you've wired up the UI in InterfaceBuilder... (Back when I was working at a game company, I used OpenStep Enterprise 4.2 on NT to put together a very helpful in-house GUI tool for PSX texture VRAM layout that I'd just never have had the time to build with any other tool set.) OpenStep (now "Cocoa" [cringe]) truly enables one (or a few) developer(s) to to the work of many.
I'm burning my own savings right now working solo on an open source project, and have been doing the prototyping on Mac OS X Server because the productivity benefits are just so great. (I've also just joined ADC, taking advantage of the $400 special, and am eagerly awaiting DP4 and the Beta...) I can't imagine being able to accomplish what I'm working on in a reasonable amount of time any other way...
For more development info, I heartily suggest you check StepWise -- in particular their nice archive of back articles, including numerous pieces on development topics.
Also, be sure to check out the Mac OS X mailing-lists (archives available) maintained by Omni Development (a longtime OpenStep consulting & development house -- try OmniWeb, it's great!). In particular: macosx-dev is where development stuff gets discussed.
For general OpenStep info, you might want to look on the GNUstep site (bearing in mind that Cocoa is a growing superset of OpenStep).
Hope this helps!
-
Darwin?
No chance unless they port Darwin to PC hardware. And we all know that's not gonna happen.
I believe I read that Darwin has already been ported to x86 a couple months or so back, but either way it doesn't matter, Darwin is just another Mach kernel, with a screwy license no less. The "aqua" gui is what they aren't going to port to x86 before hell freezes over. Which may well be a good thing. The use of NeXT technology and design is a good thing, but the UI seems to have some major problems, with some major design decisions appearing to have been made with more emphasis on eye candy than usability.
If you really want a mach kernel with a good UI, take a look at the The HURD and GNUstep - real Free Software projects that could use your help.
-
Development
Of course, this has been in development since 1993 - the NeXT is the foundation for all of this.
That's why OS X is based on a Unix kernel - it's so much easier for integration with OpenSTEP.
The GnuSTEP team is also building OpenSTEP, but in a GNU fashiion, for integration with X.
That means apps for OS X can be recompiled, with no changes, and run on Linux and any other GnuSTEP enabled platform - that was the whole goal of OpenSTEP, to allow write once - compile anywhere type development, with a simple and elegant OO variant of C.
It is also a beautiful interface, now, from the eyecandy point of view. They've taken the Step interface (see Windowmaker and Afterstep) and combined it with the good ol' Mac menubar. That bar at the bottom... it's the Dock.
I think OS X still uses Display PostScript, which is just as cool as regular Postscript.
Idea: Web integration of DPS? Instead of HTML, perhaps? It would scale nicely to any size window... but thats another thread.
Enjoy. I'mna have to buy me a Mac :) -
OpenStep/YellowBox/Cocoa is the key issue for meI use both Linux and Mac systems, and hope to see both platforms continue to maintain healthy followings (healthy enough to insure significant continued software development & hardware support). Whether either of these OSes ever topples Windows [the embodiment of all we love to hate] is immaterial to me. I would much rather see neither reach this goal of questionable value, if the cost had to be losing one in the process. As much frustration as OS incompatibilities cause, I think realistically the world needs a healthy diversity of OS (or at least UI layer) alternatives.
These days I am doing most of my work on Mac OS X Server (eagerly awaiting the public beta of Mac OS X!). The one overwhelming reason for this: OpenStep (subsequently dubbed "YellowBox" and now "Cocoa" [*cringe*] by Apple) is hands-down the most productive and intelligently engineered OO application development platform that I have yet had the privilege of working with. I have a great deal of admiration for the work that was done by NeXT's software engineers, based on the foresight and clear thinking that is evident in the OpenStep frameworks and tools (most notably InterfaceBuilder). And, I love working in Objective-C.
If the Mac was to vanish, my greatest worry would be that it might take OpenStep/Cocoa into the dark night with it. For years, this magnificent development framework remained the exclusive domain of Fortune 500 custom apps development (discounting NeXT's initial inept foray into upper academia), because that was the narrow target market NeXT chose after it abandoned the hardware end of its business. By far the most exciting thing about Mac OS X to me (since I can already get the UNIX part by just running Linux), is that it will make the power of OpenStep available to mainstream developers for the first time.
If the Mac vanished off the map tomorrow, GNUstep would be the one remaining hope for OpenStep. However, a great deal of work remains to be done to complete GNUstep, and I think this endeavor stands to benefit from Mac OS X's success. (As more developers discover what they can do with Cocoa, I expect there will be increasing demand for the ability to run Cocoa apps on other platforms. Also, Apple's continued development of Mac OS X and Cocoa, particularly in the realm of user-interaction improvements, could help provide impetus and direction for continuing to evolve GNUstep beyond the base OpenStep vision.)
In this sense, I think it would be a real loss to the development community (and thus to the end user) if Mr. Raymond turned out to be right about the Mac's eventual demise.
-
Gnustep is far from deadThe WindowMaker/gnustep environment is not dead, not by a long shot, projects such as the i3dkit, webkit and even the swarm simulation environment are in daily use and active development.
The problem for many people who might otherwise be interested in it is that it depends on Objective-C which is a minority language by any standard. The good thing about Objective-C is that it's built in to most of the more recent versions of the GCC, the bad thing (to the unfamiliar) is that it's the bastard child of C and smalltalk. Myself, I find it eminently readable and robust, so I'll go on using it even if it is "totally irrelevant".
For free software it all comes down to personal preference, that's why there won't be a One True Interface ®. Now or in the future, that's not to say that certain interface idioms won't become nearly universal, or that better education and more experience won't raise people's expectations. But as long as anyone can modify or alter any aspect of their system (a good thing) and as long as the only check on releasing code is the choice of uptake on the part of the users there will be only minimal interface consistency.
This isn't a bad thing, the people who want consistent UI standards are acting as if the Free Software Movement is a unitary entity that should be acting in concert towards a defined goal. Ha.
Gnustep Links for the interested Official Gnustep site
Unofficial Gnustep Site
WindowMaker
Swarm Project not part of Gnustep, but an interesting use of Objective-C. -
Re:License wars are a waste of energyA large part of the problem is that this zine is propagating the tired old techniques of the industry rags of yore that turned every competing product into a Marketshare War(tm), often fallaciously polarizing the debate in a world with more than two competitors. "Foo Strikes Back", blah blah blah. The debate is deliberately warmed-over to keep us from getting bored.
I agree with you about the religious issues and flames surrounding licenses. But I found one point you made curious: "They...cause resources to be squandered in duplicate efforts" Are you suggesting that duplicate efforts like gnustep, gnome, and the host of other desktop projects wouldn't exist without the debates? Don't you think that the hackers behind these projects have better motivation than that? And what, exactly, is wrong with the choice afforded by the diversity that this "duplicate effort" brings?
-
Libraries
Objective-C is, in and of itself, a wonderful langauge, but comes with very little functionality. Even many of the fundamental object capabilities depended on NeXT's FoundationKit et al, which for a long time, was only available in Nextstep, and just before NeXT's assimilation by Apple, in Openstep, which was Nextstep's libraries licensed to other vendors.
The GNUStep project is trying to get these libraries up to speed, meeting and in some cases exceeding the OpenStep specs, but without them, it is very difficult to develop in Objective-C on any platform but NextStep or that rare zebra, OpenStep for Solaris.
For more info on GNUStep, I suggest looking at newsWire.
-
You can use it nowYou can go install GNUstep now and go for it. We've just had our latest release (0.6.6) and things are becoming stable enough to begin writing applications. We desperately need more end-user software. We have an alpha version of a GL framework (GNU 3DKit) and work is being done on an IB clone called GORM (it's currently available in the GNUstep CVS) and a PB clone called ProjectCenter that will be available here. There are a few other applications available as well. Any efforts to port existing Objective C applications to GNUstep are also appreciated. I'd like to see a good modern web browser written for GNUstep.
Currently, you can write applications with the developers release of MOSX or with an old OPENSTEP box and then convert the nib files to gmodels. This is the way ProjectCenter and the 3DKit are being written. We would really appreciate any and all interest.
-
Waxing something NeXT
Ah! It's about time the Slashdot community recongnized NeXT. So many Linux and *BSD users are oblivious to NeXTSTEP (and later OpenStep, Rhapsody and Mac OS X). The GUI, Objective-C, the programming framework, and Unix and Mach. They're a dream to use!
The GUI: Pure gold, man. In many ways, the NeXT GUI is far more elegant and functional than even the Mac OS GUI- CDE and other WMs and environments for X11 come nowhere even close.
Objective-C: A much better object oriented C than C++. More like a cross between C and Smalltalk than some tacky add on to C. Elegant, simple, and a minimal syntax change to regular C. Dynamic like Smalltalk, but retaining the run-time speed of C. Objective-C's dynamic nature allowed for great products like ActiveDeveloper and Joy Developer which allows Obj-C users to develop apps interactively like Smalltalk or Python, whereas C++ is about as static as it gets.
Programming Framework: Killer API. A rich class library of support classes like the mutable array (what?! you're still rolling your own?) and dictionary (or hash-table) as well as the AppKit, the means of creating GUI apps. Also, distributed objects were a no brainer with the Foundation framework which was a part of NeXTSTEP. It's a good thing to see this framework brought to the masses in the form of GNUstep.
Not to mention the IDE... InterfaceBuilder and ProjectBuilder are two tools which the world just recently cought up with. All of these ideas you see in most modern IDEs were invented for NeXTSTEP.
Unix and Mach: What can I say? Geeks dig it. Mach allows for some funky IPC action, and if you wanted, you could always drop into tcsh if that's where you feel more at home. The truly great part? You didn't have to know how to use a shell to get work done. If you didn't know Unix, you could still have all of the power of Unix exploited by this wonderful OS.
I still use my cube when I can, for lighter-weight computing, something I choose over my Power Mac G4 or a PC running Linux whenever I can. -
Re:Revolutionary software at least...But the software, oh man was that software ahead of it's time...
Specifically: NeXT leveraged the run-time-binding in Objective-C to create InterfaceBuilder (IB). IB allowed the programmer to create a UI by dragging and dropping interface objects. Yes, a lot of tools do that, but IB was different in that it wasn't a code generator per se. IB created a "nib" file that basically "freeze dried" the UI objects and their relationships. You dragged and dropped your buttons and text fields and other widgets, then you dragged connections between them and clicked radio buttons to specify which methods the buttons would invoke. Very slick, very fast and you didn't have to tromp through a bunch of Obj-C source to make changes. (You could even hack the UIs of apps without needing the source!) A brilliant tool for constructing "mission critical custom apps," which NeXT finally determined was its true calling. I remember watching a video of the 1992 (I think) NeXTWORLD keynote where the Steve used IB to query a database and display the result (including a tiff, IIRC) without "writing any code..." Wow.
So what killed NeXT? High prices, lack of standardization with the X community, and (ultimately) the Web. Even after they killed their hardware in 1992 and went x86, the developer version of the software cost $3K-$5K/seat. IB and its integrated editor-debugger-source-manager ProjectBuilder were great for building client-server apps, but the three-tier world marginalized them. WebObjects (their middle-tier software, now offered by Apple) is supposed to be pretty good but has a pretty limited following.
I have my NeXTstation in the basement and have many fond memories of late-night hacking on it. The spirit lives on in GNUstep. The software lives on as Mac OS X Server but latest word has it that Obj-C has been deprecated in favor of Java, at least for WebObjects.
Neutron
-
GNUStepAssuming that most MacOS X apps will be written in the "Cocoa" API (which is essentially the next version of OpenStep), they could be brought over to Linux and other Unices via GNUstep, which has made significant headway towards implementing the OpenStep API on Unix. While the Interface Kit (which is the widget library porviding the NeXTSTEP widgets [or Aqua widgets on MacOS X]) is still in need of improvement, the Application Kit (which provides a TON of extremely useful classes for any sort of application development, CLI or GUI) is very nearly MacOS X-compliant. I believe distant/distributed objects are even talking between GNUstep/MacOS X already. When/If GNUstep reaches 1.0, I would recommend it to people writing Linux apps even if they weren't aiming for a MacOS X port. The well-designed and elegant Objective-C/OpenStep API blows away the C++/Qt and C/GTK+ APIs we've become latched to lately.
- Joe
-
And with GNUStep you can keep your software free!If you decide to port to MacOS X please try out GNUStep. That way you can keep your software free and run on MacOS X when it finally ships.
From www.gnustep.org:
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. -
And with GNUStep you can keep your software free!If you decide to port to MacOS X please try out GNUStep. That way you can keep your software free and run on MacOS X when it finally ships.
From www.gnustep.org:
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. -
Tough Call... GUI's a problem...
It is certainly well and good that the "plumbing down below the GUI" looks like BSD, as that represents a well-understood and well-regarded set of "plumbing." That means that you get easy ports of "server side" stuff like Apache, PostgreSQL, Perl, Python, and such.
But with Apple having had some difficulty deciding what their GUI strategy would become, it's going to be a bit problematic to just plain choose a GUI. Do you go with:
- Yellow Box?
Oops. No longer available.
- OpenSTEP?
Oops. No longer available.
- Aqua?
- Quartz?
- Carbon?
- Cocoa?
The really critical thing about all of these options are that none of them, save, perhaps for OpenSTEP, via GNUstep , has any ability to run on any of the existing Unix-like systems.
In effect, in order to use existing Unix apps in GUIed manner on MacOS-X, you need to create a GUI from scratch and layer that on top somehow.
That may be nicely supportive of "web-oriented" applications; I'm sure WebObjects will work nicely on OS-X, as will the sysadmin tool WebMin, and so long as you've got a good web browser, that can provide a way of doing a bunch of useful things.
But that does not provide you with a port of the latest Sid Meier game, nor does it provide a way of running the latest SAP GUI.
- Yellow Box?
-
GNUstep
You want to take a look at GNUstep. It's part of the GNU project, and is an effort to recreate the OpenStep environment entirely as free software.
-
GNUstep misinformation
GNUstep is progressing, contrary to the author's statement that it's in eternal limbo. It is moving, albeit slowly, and has picked up quite a bit in the last year, as the OpenStep API is once again in the spotlight, in the guise of Apple's Mac OS X. Want it to move faster? Lend a hand! No open source project moves forward without the help of volunteers!
Also, the author seems to be under the impression that GNUstep doesn't rely on X. Although it's quite possible to write a new back-end to interface it with Berlin, or any other graphics archetechture (it was designed with that forethought), it currently uses X (with a Display Ghostscript extension) as a display medium. GNUstep is cool, but as of now it certainly is not a replacement for X, and that's not it's primary intent.
Aside that, the article hit the bull's eye. I'm happy to see that Slashdot sucked it up and posted it; too many *BSD and (in especial) Linux users think that X is the epitamy of cool, simply because you can have 'l33t things like enlightenment. Bah! -
gnustepJust thought I'd throw in my support for GNUstep. They are working very hard at getting it API compatible with OpenStep, and eventually Cocoa as well. In fact, I understand that GNUstep's NSDistantObject is already co-operating with Mac OS X's NSDistantObject (and there is/was some talk of creating a CORBA gateway for it). Right now, only a small part of AppKit is implemented (though nearly all of FoundationKit is), and what's there is slow, probably due to the poor performance of the X11 PostScript xgps that I'm using (if you're lucky enough to have a fast PostScript engine for your windowing system, such as on Windows or NeXT or many Unices, it may be quite a bit faster).
Anyway, back to the point: if there is any free software written for OpenStep (e.g. NeXT) or Mac OS X, it should be able to run (eventually) without changes on GNUstep. Plus, the API is much cool. Not to suggest that OpenStep is the sole Wave Of The Future, but it is a very nice alternative to GNOME and KDE (or at least it will be once it gets a bit more mature).
-
Re:I'm a Mac developer...it would really help if Cocoa was cross-platform (I know it is, but Apple won't license it for Windows any more)
There's always GNUstep.
-
Re:GUI API is not proprietary
And now you couldn't be more wrong. If you don't know anything about a subject, please remain silent. OpenStep is both open and a published specification, and if you would have looked at the GNUstep site for even a minute you would have found it here.
Could Apple start implementing extensions or a completely new class hierarchy? Sure, and they already have extensions, which they have grouped along with their standard OpenStep implementation, and called it Cocoa. All Jobs was saying is that they will advance the technology as they see fit. It would be nice if they didn't make any restrictions to the API extensions (and I don't know that they have), but they're the ones who decide what is best for their business model. -
Re:GUI API is not proprietary
And now you couldn't be more wrong. If you don't know anything about a subject, please remain silent. OpenStep is both open and a published specification, and if you would have looked at the GNUstep site for even a minute you would have found it here.
Could Apple start implementing extensions or a completely new class hierarchy? Sure, and they already have extensions, which they have grouped along with their standard OpenStep implementation, and called it Cocoa. All Jobs was saying is that they will advance the technology as they see fit. It would be nice if they didn't make any restrictions to the API extensions (and I don't know that they have), but they're the ones who decide what is best for their business model. -
GUI API is not proprietary
Anything graphical is written using Apple's proprietary APIs.
You couldn't be more wrong. The MacOS X GUI classes are contained in the AppKit, which is part of the OpenStep standard. For (rough) implementations of this for Linux and other OSes, see the GNUstep site.
Of course, that has nothing to do with QuickTime, since it is using the Carbon API instead of the Cocoa API. -
Re:Porting Ms Apps
As it has ben mentioned before, Cocoa is just the next version of the OpenStep libraries of which GNUStep is an implementation. Development on the GNUStep libraries is slowly plodding along, they could use our help. When they are finished, Mac OS X Cocoa apps should be only a recompile away, if you can convince the Author to go through the effort.