I think some times that the Linux community can be too concerned with window dressing and not enough by substance. What make this Mac like isn't a skin deep sort of thing. It's about being able to write a program and have it run on both.
Now, there is such a thing as not having enough of an eye for Window dressing as well. That's one of the historic complaints about GNUStep. People complain that it looks too much like the Old School NeXT. That's probably a valid complaint. These guys are making progress. I'd rather have the UI look pretty in 0.3 or 0.4 than the development libs suck into perpetuity. On that front, GNUStep is reasonably Cocoa-compatible--to the point of being able to share.Nibs (user interface files) with the Mac.
The reasoning is actually pretty good. They are building a services based desktop that also has a lot of components for which they want broad reuse to be possible. The FSF actually releases most of GNUStep under the LGPL. Given the age and status as an FSF project, I wonder if LGPL wasn't in part to address the requirements of GNUStep.
3. Compile Etoile per the instructions in the tarball.
It's a bit different procedure than your average configure, make, make install. My hope is that someone will start packaging current versions for Ubuntu. Maybe I'll get off my duff and start doing that.
Etoile may be in its relative infancy, but I believe it has great strategic potential for the FOSS movement. Etoile / GNUStep is building some great infrastructure, uniting the Mac and FOSS communities, and is building on some very interesting ideas.
If you haven't already done so, I urge you to check out David's Core Object posting. There is some exciting stuff there. Smalltalkers will find it particularly interesting.
Props to the Etoile team! This is even more reason for me to grow my Objective C / Cocoa / GNUStep skills.
Why not compatible? *BSD, AIX, and others have had binary compatibility for several other *nixen for a long time. Adding binary compatibility between such systems isn't trivial, but it's certainly within Sun's reach.
Most software shops have dedicated architects. In many cases, those architects can be blowhards with little practical skills, but a good architect can actually do a lot of good for a project. The same can be said of a good project manager.
The strength / weakness of the Open Source model is that it collapses these structures into a flatter skill space. On the bright side, coders get to scratch their itch and prove that their employers' architects are simply wankers that hold them back. On the down side, those same architects are marginalized from the Open Source community unless they work for a company that sponsors major Linux development (RedHat, Novell, IBM, etc). The "shut up and code" ethos of Open Source can create major problems in a project. A lot of times, prolific coders aren't your best coders, and are often abysmal architects (not always, though!). Another downside of missing architects in Open Source is that most architects tend to hold positions of power in commercial IT shops. I suspect the poor integration of architects / project managers / etc. into the FOSS world is probably the reason commercial software is as prevalent as it is.
Think of an olde tyme army that would have had archers, macemen, generals, horsemen, etc. A lot of them were effective because of the separation of tasks and the inherent benefits of combining them. FOSS development tends to lack a lot of those divisions. Consequently, we lose out on some of those modern software development tactics. On the upside we do have a lot of extremely talented foot soldiers.
There's clearly some happy spot for efficient development. Microsoft isn't it. Neither is FOSS, I believe. But efficiency is not the point of either. Microsoft's goal is to produce stodgy software that doesn't change much. FOSS's "goal" is to spin out ideas rapidly. FOSS has been much more successful by that metric than Microsoft has.
That is an excellent collection of reading material.
I periodically hear arguments like that of the original poster. They are mostly misinformed. It has taken Microsoft a very long time and vast fortunes to get their OS to a point where it competes with the UNIX architecture (for varying measures of 'compete').
Now, yes, Google probably has loads of people smart enough to do original OS research. In fact, it's obvious that they've done some pretty fundamental computer science work already. However, they are also probably smart enough not to throw out a tested architecture in favor of Something Else--at least if they decided to get into the consumer OS game.
Google needs to burn brain cycles on their own Taligent / Copland / Whatever OS like they need a hole through the head.
It seems like the OLPC has the right idea with respect to how to use Linux: Simple, consistent, limited scope system designed for a uniform hardware platform.
Right now one of the biggest hurdles for Linux uptake is the critical mass problem. If you take all of the technologies loosely associated with Linux right now, there is probably plenty of critical mass for Linux to take off in a meaningful way. However, it's not really about Linux adoption, it's about vertical stacks of technologies in the Linux universe.
In short, we don't have "Linux" users. We have Linux + Gnome + Firefox + Debian system managment-isms. For programmers, it gets worse: We have Linux + GNU + X11 + Cairo + GTK + Python + Gnome APIs. Now, at each level imagine somewhere between one other and 50 other competing technologies.
If you don't believe me, feel free to respond to this post and tell me what the best development environment / language to write Linux desktop apps in is. Okay, now what's the best distribution? While we're at it, what's the best text editor? With that as a context, now tell me about UI guidelines and keychain standards.
It seems to me that, for better or worse, the OLPC project the potential to create a huge, gigantic mass of individuals with a more heterogenious understanding of what Linux "looks like" than has ever existed before.
Apple has differentiated itself by creating a cohesive environment. Apple users get angry when applications don't conform to specifications. If within the "Linux community" enough people could agree to write apps to a specification, Linux's popularity would rise and we'd see broader uptake.
Sugar could be that for a certain 90% demographic of Linux users. Imagine: A uniform display canvas, UI standards, consistent technology stack?
I don't even know that Sugar's technology doesn't suck, but at least it gives some architectural direction.
Anyway, lest some overzealous moderators accuse me of drifting dangerously off topic, I see a huge need for the sort of limited-purpose system that the original poster is looking for. My parents, my wife's parents and grandparents, (Myself?!) etc. I'm sure there are more than a handful of people here who wish they could set up a system that had some basics like video conferencing (to talk to the grandkids), web surfing, and... what else?
*The* killer feature would be having a big enough body of users that you knew patch management, upgrades, and hardware compatibility would be automatic. Maybe an OLPC with a bigger screen and keyboard for grandma's eyes and arthritic fingers would fit the bill?
Yeah, I used to live about 4 blocks from the Myrtle Street tap room for the K House... I guess you love your local. I agree that Blackfoot brewing makes one hell of a brew.
You crossed the "high line." Nope, not much up there. Driving the highway is fun. You pass through a little town called "Big Sandy" (birthplace of Pearl Jam bassist Jeff Ammet). If I recall correctly, you have an option to make a left turn.
It's marked by a sign that simply has an arrow and the word "Canada" on it.
Yeah, and maybe with two democratic senators, MT will back it up too.
Judy Martz was a tool: Mrs. "My husband never hit me, but then I never gave him reason to."...or the fact that she was a *self professed* lapdog of industry.
Hey, how about you Montanans also get a ballot initiative to institute instant runoff voting (IRV)? I'm an expat, but I still vote in MT elections... I'd support it.:-)
As a Montanan who has since moved down south... of the equator to New Zealand, I can say that the job market probably isn't what you want. There are very few employers.
That said, Montana's a beautiful place. Oh, and the Kettlehouse (MT brew) brews the best beer in the world.
We used to joke about people moving to Montana to pay the scenery tax. Short answer, you're probably not going to get rich there.
I remember an old "PR" campain in MT to discourage Californians from moving in:
"Montana Sucks. Now go home and tell your friends."
Most people who use OS X for any time at all love it. Why not give everybody a chance to love it? Why not let developers get a taste for the development tools without buying a new system? What do you think their next computer purchase will look like?
They could work with VMWare to create an appropriately DRMed player if they are that paranoid about piracy. VMWare already has their ACE platform that could probably be extended to include some sort of virtual TPM.
Offer OS X as a bundle with a specially modified VMWare player. Let 90% of PC users see what they've been missing. I bet any piracy will be dwarfed by the gains in market share.
The best case scenario I see for Apple would be for some smart cookie to write a minimal Linux distro that boots up VMWare and OS X inside--a poor man's OS X if you will. Users of such a configuration are likely to be the geeks. They'll start learning ObjC and Cocoa and maybe increase the platform's worth. Even if some geeks are content to run an unsupported configuration like this, and *never* purchase a proper Mac, they'll be a force for conversion and software development.
I've been casually flollowing the etoile development, and I've even gone so far as to (mostly successfully) build GNUStep and Etoile on my OS X-running Powerbook. It's clear that GNUStep has made some strides in recent times. Etoile seems to be proving that there are some with a vision of what a GNUStep *platform* could be. All in all, pretty exciting stuff.
The catch is, that integrating this stuff is a bit more work than your average./configure, make, make install... I'd like to see someone pick a reference platform and target it for continuous integration that closely tracks Etoile and GNUStep development. My personal favorite would be some kind of BSD, however, I'm a pragmatist and realize that Ubuntu is probably the logical choice for such a task given its ubiquity and its history of eventually making 1st class citizens of derivatives (kubuntu, edubuntu, xubuntu, etc).
Fact is, I think that we'd start seeing more apps show up for GNUStep if we had a supported reference platform. You know, give developers some place where they could port their apps over from Mac OS X in peace without having to worry about spending "hacking day" compiling software rather than writing it.
Long term vision seems to be what the FOSS community generally lacks. Innovation in FOSS tends to be dominated by disruptive technologies. For example, nobody probably predicted that Ruby on Rails would grow as it did before it was already on its way up.
Recall that initially, the FSF/GNU vision of what the GNU OS would look like would be a combination of HURD, the GNU userland that we know today, and GNUStep for graphical applications.
But the FSF's approach with GNU was always a long term approach. The GNU userland took a damn long time to build. In many ways, not having to concentrate on writing a kernel (because Linux stepped in), and not having to write a GUI layer (because it largely languished from lack of developers), has enable GNU to produce a pretty kick-ass userland, compiler suite, etc. As a BSD fan, I'm fully aware that even BSD stands on the shoulders of FSF giants (for example, say, gcc).
Along the way though, developers have scratched their own itches. KDE came along and was an ambitious project written in C++/QT. It had some less than desireable traits to a significant number of developers: C++ is an ugly bastard, and QT wasn't (then) libre.
Enter GNOME. They didn't want to use C++ so they decided to write a desktop environment in C. In retrospect, that sounds to me about as smart as Be trying to write chunks of the BeOS kernel in C++ (eek!).
Both start on relatively shaky foundations (for various reasons) but HUGE amounts of developer effort are poured into beating the other. Labors of love and things of beauty are built on those relatively unstable foundations. Some of the problems disappear: QT goes GPL. Some of the problems are addressed: GNOME begins to write software in the more elegant, but less proven C# with its Mono project. But certain perceived problems remain: C++ is still inelegant, C# has Microsoft smell all over it, and furthermore We have our camp and We want to beat Them.
Meanwhile, work continues on GNUStep. GNUStep allows GUIs written for OS X (NIBs) to be used in GNUStep and vice-versa. GNUStep starts being used to write some more serious applications. Gnustep even starts looking more modern with the addition of themes (everyone always cares more about flash themes now, than a useable development framework tomorrow).
Fact is, the NeXT design has proven itself 2.5 times already in a big way. When NeXT was NeXT, NeXTStep was the most innovative thing in town and was revered by All. When NeXT acquired Apple (for a large negative sum), the architecture was proven again (Mac OS X anyone?). Now, GNUStep is soooo close. The framework is there and stable, but it needs: 1. integration into a coherent environment. 2. applications of all colors, shapes, and sizes.
GNU's long-term vision is starting to be realized with GNUStep, but it doesn't have the critical mass. Too many disruptive technologies have, well, disrupted that vision. It's less exciting to stay the course with long-term vision, but at some point, that is what will make a "successful" Linux desktop. Too much of our core infrastructure is rotten to compete long term. Of course, success here is relative. FOSS has already been successful on teaching people how to hack. Where it hasn't been successful is as a consumer, desktop, market competitor.
Both Microsoft and Apple have modernized and made their development environments more consistent (C#,.Net et al. for MS, and ObjC, Cocoa, Quartz, etc. for Apple). Where's our modern, coherent set of API/Frameworks for the Desktop? C#/Mono? C++/QT/KDE? XUL/Javascript/Whatever? GTK/C? ObjC/GNUStep?
I think at this point it's about goals. Do we want to compete on the Desktop? For all the people who say yes, I recommend getting together and swallowing some pride, quashing some egos, and coming together to push for it. Even if we can build and maintain 7 competing desktop environments, development platforms, etc., the rest of the world doesn't want to deal with them.
Come down to Wellington in the Peoples Republic of Kiwistan and tell me that Sydney's cold.
Sigh. We picked the wrong year to move to NZ and to Wellington to boot. Gale force wind again? Yup. I think that was just an iceberg flying past my 2nd floor window.
The Esperanto language community has something called "Pasporta Servo" (English wikipedia article here).
It always seemed to me that this would be a fun way to travel. You can go to foreign countries, get a place to crash, an interesting host, and not feel like a clod for only speaking English. I guess I like the idea of traveling and meeting people half-way.
Plus, it's a way to expand your mind and make a statement for peace and global understanding by learning esperanto (as if you needed a reason!):-)
Hmm... that reminds me, I'm behind on my language lessons at lernu.
Thank you for the thoughtful answer. I've not coded any XUL myself, so it is interesting to hear the perspective of others who have.
Can someone comment on if Mozilla is still pushing for XUL as a way of creating general purpose UIs for the web (maybe they never were?), or have they given up on that in favor of using it strictly for thick client apps such as Firefox?
I agree with your assessment about IE and availability, but I still would have thought there would be a few geek-focussed sites that might have cropped up with rich UIs in XUL. I mean there is a reasonably large Firefox install base now, and I'd have thought that for some sites, that would make writing the UI worthwhile. Maybe it's harder to write XUL than I think.
The only detail I'd nitpick is that the installation bit only affects certain classes of application. I'm not sure what makes an app require an installation and others not, but the Mozilla Amazon Browser seems quite slick and doesn't require installation (at least not in my Camino browser).
It seems like XUL has/had so much potential to provide rich user interfaces via the web. Apart from Firefox extensions that may use bits of XUL, what are people doing with it? I remember an example of a XUL interface to Amazon.com that was quite impressive. I kept expecting web sites to start having XUL versions with very rich UIs. I seem to recall that Oracle was even interested in XUL for a while.
How is this on topic? Well, it seems like AJAX is delivering a lot of the rich UI stuff that XUL was supposed to, but in a slightly less elegant way (from my peripheral understanding of both technologies). Am I fundamentally misunderstanding something here, or is AJAX a popular but pale immitation of what XUL was supposed to be?
The problem is that GNUStep isn't really a desktop environment per se, but rather a development environment that some enterprising people could turn into a desktop environment.
Check out Etoile's news page for a little bit of eye candy and an idea of how they are using GNUStep to begin building a real desktop environment in the same vein as OS X.
I think some times that the Linux community can be too concerned with window dressing and not enough by substance. What make this Mac like isn't a skin deep sort of thing. It's about being able to write a program and have it run on both.
.Nibs (user interface files) with the Mac.
Now, there is such a thing as not having enough of an eye for Window dressing as well. That's one of the historic complaints about GNUStep. People complain that it looks too much like the Old School NeXT. That's probably a valid complaint. These guys are making progress. I'd rather have the UI look pretty in 0.3 or 0.4 than the development libs suck into perpetuity. On that front, GNUStep is reasonably Cocoa-compatible--to the point of being able to share
-Peter
Quite right! I suppose Tim Berners-Lee wouldn't have been doing much hypertext transport with out some sort of a hypertext transport protocol. ;-)
The reasoning is actually pretty good. They are building a services based desktop that also has a lot of components for which they want broad reuse to be possible. The FSF actually releases most of GNUStep under the LGPL. Given the age and status as an FSF project, I wonder if LGPL wasn't in part to address the requirements of GNUStep.
No, it's not a window manager. It's more analogous to something like GNOME or KDE with their associated libraries.
u ntuppc-610.html
Here's a rough step-by-step:
1. Install the dependencies listed here: http://gnustep.blogspot.com/2006/10/gnustep-on-ub
2. Use the GNUStep "Startup" package (you need a newer version of GNUStep than what is bundled with Ubuntu): http://www.gnustep.org/experience/Startup.html
3. Compile Etoile per the instructions in the tarball.
It's a bit different procedure than your average configure, make, make install. My hope is that someone will start packaging current versions for Ubuntu. Maybe I'll get off my duff and start doing that.
Cheers,
Peter
Etoile may be in its relative infancy, but I believe it has great strategic potential for the FOSS movement. Etoile / GNUStep is building some great infrastructure, uniting the Mac and FOSS communities, and is building on some very interesting ideas.
If you haven't already done so, I urge you to check out David's Core Object posting. There is some exciting stuff there. Smalltalkers will find it particularly interesting.
Props to the Etoile team! This is even more reason for me to grow my Objective C / Cocoa / GNUStep skills.
-Peter
Why not compatible? *BSD, AIX, and others have had binary compatibility for several other *nixen for a long time. Adding binary compatibility between such systems isn't trivial, but it's certainly within Sun's reach.
Most software shops have dedicated architects. In many cases, those architects can be blowhards with little practical skills, but a good architect can actually do a lot of good for a project. The same can be said of a good project manager.
The strength / weakness of the Open Source model is that it collapses these structures into a flatter skill space. On the bright side, coders get to scratch their itch and prove that their employers' architects are simply wankers that hold them back. On the down side, those same architects are marginalized from the Open Source community unless they work for a company that sponsors major Linux development (RedHat, Novell, IBM, etc). The "shut up and code" ethos of Open Source can create major problems in a project. A lot of times, prolific coders aren't your best coders, and are often abysmal architects (not always, though!). Another downside of missing architects in Open Source is that most architects tend to hold positions of power in commercial IT shops. I suspect the poor integration of architects / project managers / etc. into the FOSS world is probably the reason commercial software is as prevalent as it is.
Think of an olde tyme army that would have had archers, macemen, generals, horsemen, etc. A lot of them were effective because of the separation of tasks and the inherent benefits of combining them. FOSS development tends to lack a lot of those divisions. Consequently, we lose out on some of those modern software development tactics. On the upside we do have a lot of extremely talented foot soldiers.
There's clearly some happy spot for efficient development. Microsoft isn't it. Neither is FOSS, I believe. But efficiency is not the point of either. Microsoft's goal is to produce stodgy software that doesn't change much. FOSS's "goal" is to spin out ideas rapidly. FOSS has been much more successful by that metric than Microsoft has.
-Peter
Let me just say that endangered tuatara's taste delicious.
*ducks*
Just kidding. Spotted kiwi birds and little blue penguins taste much better.
All joking aside, we've got got a lot of truly unique wildlife here. I feel fortunate to have seen some of these, even if only at the zoo.
-Peter
That is an excellent collection of reading material.
I periodically hear arguments like that of the original poster. They are mostly misinformed. It has taken Microsoft a very long time and vast fortunes to get their OS to a point where it competes with the UNIX architecture (for varying measures of 'compete').
Now, yes, Google probably has loads of people smart enough to do original OS research. In fact, it's obvious that they've done some pretty fundamental computer science work already. However, they are also probably smart enough not to throw out a tested architecture in favor of Something Else--at least if they decided to get into the consumer OS game.
Google needs to burn brain cycles on their own Taligent / Copland / Whatever OS like they need a hole through the head.
It seems like the OLPC has the right idea with respect to how to use Linux: Simple, consistent, limited scope system designed for a uniform hardware platform.
Right now one of the biggest hurdles for Linux uptake is the critical mass problem. If you take all of the technologies loosely associated with Linux right now, there is probably plenty of critical mass for Linux to take off in a meaningful way. However, it's not really about Linux adoption, it's about vertical stacks of technologies in the Linux universe.
In short, we don't have "Linux" users. We have Linux + Gnome + Firefox + Debian system managment-isms. For programmers, it gets worse: We have Linux + GNU + X11 + Cairo + GTK + Python + Gnome APIs. Now, at each level imagine somewhere between one other and 50 other competing technologies.
If you don't believe me, feel free to respond to this post and tell me what the best development environment / language to write Linux desktop apps in is. Okay, now what's the best distribution? While we're at it, what's the best text editor? With that as a context, now tell me about UI guidelines and keychain standards.
It seems to me that, for better or worse, the OLPC project the potential to create a huge, gigantic mass of individuals with a more heterogenious understanding of what Linux "looks like" than has ever existed before.
Apple has differentiated itself by creating a cohesive environment. Apple users get angry when applications don't conform to specifications. If within the "Linux community" enough people could agree to write apps to a specification, Linux's popularity would rise and we'd see broader uptake.
Sugar could be that for a certain 90% demographic of Linux users. Imagine: A uniform display canvas, UI standards, consistent technology stack?
I don't even know that Sugar's technology doesn't suck, but at least it gives some architectural direction.
Anyway, lest some overzealous moderators accuse me of drifting dangerously off topic, I see a huge need for the sort of limited-purpose system that the original poster is looking for. My parents, my wife's parents and grandparents, (Myself?!) etc. I'm sure there are more than a handful of people here who wish they could set up a system that had some basics like video conferencing (to talk to the grandkids), web surfing, and... what else?
*The* killer feature would be having a big enough body of users that you knew patch management, upgrades, and hardware compatibility would be automatic. Maybe an OLPC with a bigger screen and keyboard for grandma's eyes and arthritic fingers would fit the bill?
-Peter
It seems to me that they could probably get the first batch paid for by us geeks who have been drooling over the OLPC hardware for a while.
Hell, I'd pony up ~$400-$500 for a unit. I wonder how many orders at that price point would be enough to get manufacturing cranking.
Plus, from my way of thinking, the OLPC project could use some more content creators doing homebrew design on the OLPC hardware.
Yeah, I used to live about 4 blocks from the Myrtle Street tap room for the K House... I guess you love your local. I agree that Blackfoot brewing makes one hell of a brew.
You crossed the "high line." Nope, not much up there. Driving the highway is fun. You pass through a little town called "Big Sandy" (birthplace of Pearl Jam bassist Jeff Ammet). If I recall correctly, you have an option to make a left turn.
It's marked by a sign that simply has an arrow and the word "Canada" on it.
Yeah, and maybe with two democratic senators, MT will back it up too.
...or the fact that she was a *self professed* lapdog of industry.
:-)
Judy Martz was a tool: Mrs. "My husband never hit me, but then I never gave him reason to."
Hey, how about you Montanans also get a ballot initiative to institute instant runoff voting (IRV)? I'm an expat, but I still vote in MT elections... I'd support it.
As a Montanan who has since moved down south... of the equator to New Zealand, I can say that the job market probably isn't what you want. There are very few employers.
That said, Montana's a beautiful place. Oh, and the Kettlehouse (MT brew) brews the best beer in the world.
We used to joke about people moving to Montana to pay the scenery tax. Short answer, you're probably not going to get rich there.
I remember an old "PR" campain in MT to discourage Californians from moving in:
"Montana Sucks. Now go home and tell your friends."
Most people who use OS X for any time at all love it. Why not give everybody a chance to love it? Why not let developers get a taste for the development tools without buying a new system? What do you think their next computer purchase will look like?
They could work with VMWare to create an appropriately DRMed player if they are that paranoid about piracy. VMWare already has their ACE platform that could probably be extended to include some sort of virtual TPM.
Offer OS X as a bundle with a specially modified VMWare player. Let 90% of PC users see what they've been missing. I bet any piracy will be dwarfed by the gains in market share.
The best case scenario I see for Apple would be for some smart cookie to write a minimal Linux distro that boots up VMWare and OS X inside--a poor man's OS X if you will. Users of such a configuration are likely to be the geeks. They'll start learning ObjC and Cocoa and maybe increase the platform's worth. Even if some geeks are content to run an unsupported configuration like this, and *never* purchase a proper Mac, they'll be a force for conversion and software development.
-Peter
I've been casually flollowing the etoile development, and I've even gone so far as to (mostly successfully) build GNUStep and Etoile on my OS X-running Powerbook. It's clear that GNUStep has made some strides in recent times. Etoile seems to be proving that there are some with a vision of what a GNUStep *platform* could be. All in all, pretty exciting stuff.
./configure, make, make install... I'd like to see someone pick a reference platform and target it for continuous integration that closely tracks Etoile and GNUStep development. My personal favorite would be some kind of BSD, however, I'm a pragmatist and realize that Ubuntu is probably the logical choice for such a task given its ubiquity and its history of eventually making 1st class citizens of derivatives (kubuntu, edubuntu, xubuntu, etc).
The catch is, that integrating this stuff is a bit more work than your average
Fact is, I think that we'd start seeing more apps show up for GNUStep if we had a supported reference platform. You know, give developers some place where they could port their apps over from Mac OS X in peace without having to worry about spending "hacking day" compiling software rather than writing it.
Long term vision seems to be what the FOSS community generally lacks. Innovation in FOSS tends to be dominated by disruptive technologies. For example, nobody probably predicted that Ruby on Rails would grow as it did before it was already on its way up.
.Net et al. for MS, and ObjC, Cocoa, Quartz, etc. for Apple). Where's our modern, coherent set of API/Frameworks for the Desktop? C#/Mono? C++/QT/KDE? XUL/Javascript/Whatever? GTK/C? ObjC/GNUStep?
Recall that initially, the FSF/GNU vision of what the GNU OS would look like would be a combination of HURD, the GNU userland that we know today, and GNUStep for graphical applications.
But the FSF's approach with GNU was always a long term approach. The GNU userland took a damn long time to build. In many ways, not having to concentrate on writing a kernel (because Linux stepped in), and not having to write a GUI layer (because it largely languished from lack of developers), has enable GNU to produce a pretty kick-ass userland, compiler suite, etc. As a BSD fan, I'm fully aware that even BSD stands on the shoulders of FSF giants (for example, say, gcc).
Along the way though, developers have scratched their own itches. KDE came along and was an ambitious project written in C++/QT. It had some less than desireable traits to a significant number of developers: C++ is an ugly bastard, and QT wasn't (then) libre.
Enter GNOME. They didn't want to use C++ so they decided to write a desktop environment in C. In retrospect, that sounds to me about as smart as Be trying to write chunks of the BeOS kernel in C++ (eek!).
Both start on relatively shaky foundations (for various reasons) but HUGE amounts of developer effort are poured into beating the other. Labors of love and things of beauty are built on those relatively unstable foundations. Some of the problems disappear: QT goes GPL. Some of the problems are addressed: GNOME begins to write software in the more elegant, but less proven C# with its Mono project. But certain perceived problems remain: C++ is still inelegant, C# has Microsoft smell all over it, and furthermore We have our camp and We want to beat Them.
Meanwhile, work continues on GNUStep. GNUStep allows GUIs written for OS X (NIBs) to be used in GNUStep and vice-versa. GNUStep starts being used to write some more serious applications. Gnustep even starts looking more modern with the addition of themes (everyone always cares more about flash themes now, than a useable development framework tomorrow).
Fact is, the NeXT design has proven itself 2.5 times already in a big way. When NeXT was NeXT, NeXTStep was the most innovative thing in town and was revered by All. When NeXT acquired Apple (for a large negative sum), the architecture was proven again (Mac OS X anyone?). Now, GNUStep is soooo close. The framework is there and stable, but it needs: 1. integration into a coherent environment. 2. applications of all colors, shapes, and sizes.
GNU's long-term vision is starting to be realized with GNUStep, but it doesn't have the critical mass. Too many disruptive technologies have, well, disrupted that vision. It's less exciting to stay the course with long-term vision, but at some point, that is what will make a "successful" Linux desktop. Too much of our core infrastructure is rotten to compete long term. Of course, success here is relative. FOSS has already been successful on teaching people how to hack. Where it hasn't been successful is as a consumer, desktop, market competitor.
Both Microsoft and Apple have modernized and made their development environments more consistent (C#,
I think at this point it's about goals. Do we want to compete on the Desktop? For all the people who say yes, I recommend getting together and swallowing some pride, quashing some egos, and coming together to push for it. Even if we can build and maintain 7 competing desktop environments, development platforms, etc., the rest of the world doesn't want to deal with them.
Of co
Come down to Wellington in the Peoples Republic of Kiwistan and tell me that Sydney's cold.
Sigh. We picked the wrong year to move to NZ and to Wellington to boot. Gale force wind again? Yup. I think that was just an iceberg flying past my 2nd floor window.
-Peter
The Esperanto language community has something called "Pasporta Servo" (English wikipedia article here).
:-)
It always seemed to me that this would be a fun way to travel. You can go to foreign countries, get a place to crash, an interesting host, and not feel like a clod for only speaking English. I guess I like the idea of traveling and meeting people half-way.
Plus, it's a way to expand your mind and make a statement for peace and global understanding by learning esperanto (as if you needed a reason!)
Hmm... that reminds me, I'm behind on my language lessons at lernu.
Thank you for the thoughtful answer. I've not coded any XUL myself, so it is interesting to hear the perspective of others who have.
Can someone comment on if Mozilla is still pushing for XUL as a way of creating general purpose UIs for the web (maybe they never were?), or have they given up on that in favor of using it strictly for thick client apps such as Firefox?
-Peter
I agree with your assessment about IE and availability, but I still would have thought there would be a few geek-focussed sites that might have cropped up with rich UIs in XUL. I mean there is a reasonably large Firefox install base now, and I'd have thought that for some sites, that would make writing the UI worthwhile. Maybe it's harder to write XUL than I think.
The only detail I'd nitpick is that the installation bit only affects certain classes of application. I'm not sure what makes an app require an installation and others not, but the Mozilla Amazon Browser seems quite slick and doesn't require installation (at least not in my Camino browser).
-Peter
It seems like XUL has/had so much potential to provide rich user interfaces via the web. Apart from Firefox extensions that may use bits of XUL, what are people doing with it? I remember an example of a XUL interface to Amazon.com that was quite impressive. I kept expecting web sites to start having XUL versions with very rich UIs. I seem to recall that Oracle was even interested in XUL for a while.
How is this on topic? Well, it seems like AJAX is delivering a lot of the rich UI stuff that XUL was supposed to, but in a slightly less elegant way (from my peripheral understanding of both technologies). Am I fundamentally misunderstanding something here, or is AJAX a popular but pale immitation of what XUL was supposed to be?
-Peter
The problem is that GNUStep isn't really a desktop environment per se, but rather a development environment that some enterprising people could turn into a desktop environment.
Check out Etoile's news page for a little bit of eye candy and an idea of how they are using GNUStep to begin building a real desktop environment in the same vein as OS X.
-Peter
The NeXT Version of Windows(TM) has been announced at WWDC, only to be *delivered* at a MacWorld several times in history.
-Peter