Linux needs to disappear

Okay, I confess that I chose this headline to draw you into this blog entry. A more accurate headline would be "Operating systems need to disappear". But I don't want my meaning to be misconstrued. The term "operating systems" would have to include proprietary operating systems. If I say "proprietary operating systems need to disappear", I mean they should be wiped off the face of the earth. When I say Linux should disappear, I mean that end users shouldn't need to know it's there. Big difference. Add to that the fact that I would love to see Linux as the operating system for all computing devices, and there's not much left to use as a headline except "Linux needs to disappear".

Be patient, please, because this is about much more than Linux disappearing. It's primarily about Network Computing, with Zimbra as an example of why this is the future.

I began to preach this philosophy many years ago, and I've promoted it from different angles. Back when I worked for InfoWorld, well before the Evolution client was ready, I stated that Evolution was the wrong approach to email and calendaring for this very reason. Please don't flame me for dissing Evolution. As of the latest versions it has turned into a truly wonderful application. This isn't about how good Evolution is compared to any other client, open source or proprietary. I also understand the motives that drove the desire to create Evolution, and I think it was created with good intentions. It's also a very good thing that it came out when it did. The alternatives to Evolution that I had in mind weren't available yet, so Evolution, Thunderbird, KMail and other clients were great interim solutions, and still are.

Here is the right way to do email, calendaring, and other messaging and collaboration tasks: Zimbra. No, I don't mean the specific product, Zimbra. I mean the philosophy behind it. It is a prime example of why network computing is superior to platform-dependent, OS-dependent computing.

You can finish this blog entry now, or if you want to get an idea of what I'm talking about, visit the Zimbra demo page. If you're not anti-Flash and have Flash installed, then I strongly suggest you view the Flash Demo. It illustrates features you might miss if you simply try the Hosted Demo. But if you're anti-Flash or simply do not have Flash installed, then go for the Hosted Demo.

More anti-flame disclaimers

Again, this isn't about Evolution or Zimbra. I don't use either as of this moment. For the record, I use Thunderbird and Mutt as my email clients. I've toyed with the idea of switching to Evolution, so I don't want you to get the idea that I have gone out of my way to avoid it. I just haven't gone out of my way to use it, either. It would take too long to explain why I use both Thunderbird and Mutt, and I'm already going on too much of a tangent.

I have CommuniGate Pro installed on my local server, and I use it to pull down mail from almost every one of my email accounts, and I have many. Yes, I know CommuniGate Pro isn't open source, but it's a terrific server and it has been working flawlessly for years. Whenever something works this well, it takes a very compelling reason to "fix" it, especially since I have better things to do with my time. I know there are excellent open source alternatives, and there have been for a long time. I used an old version of Cyrus IMAP along with Procmail and Fetchmail before I switched to CommuniGate Pro. It was a lot more work to set up this combination, but it was worth the trouble even back then. I'm sure it has improved a great deal since. I'm not even sure what else is available today since I haven't been motivated to switch from CommuniGate Pro.

Work with me on this

I used to access my own personal IMAP email server from the web when I travelled because I had a dedicated line and a static IP address. I've moved around a lot since then, and I've been using Cable access to the Internet ever since. I could get around the dynamic IP address and open up a tunnel to my IMAP server so I could access it remotely, but there are too many downsides to this approach. So I use Gmail when I travel. I'm a Gmail junkie in spite of the fact that I am used to working with IMAP folders. I love the interface and the way it handles conversations. I also like the Google calendar and Google chat. Maybe you prefer another web mail service. Again, this isn't the point.

Here's the point. It is insane to have to switch between Thunderbird, Mutt, Gmail, Yahoo, Evolution, Microsoft Outlook, or anything else in order to handle multiple email accounts, manage their schedules, chat, or what have you.

The Utopian view

In an ideal world, you should be able to walk up to any computer, any kiosk, any thin client, and access your mail (all of it), schedule, chat, and communicate using the same basic interface. You should be able to flip open your phone and do the same thing. In addition, the connection should be secure, and the message store should be secure. When you log out from a "foreign" computer, kiosk, or thin client, you should leave nothing behind for anyone else to know you were there. There should be nothing left in disk cache or memory for someone to decipher.

The problem with Evolution was that it was simply another client that has dependencies out the wazoo, just like Microsoft Outlook, Thunderbird, Mutt and just about every other client application. These programs don't lead the way to the ideal solution I described above. I can't depend on a Hotel having a business kiosk with Evolution installed on the computer. I can depend on the kiosk having a browser, so I can run Gmail, but Gmail isn't the ideal answer to companies that want to host all their email on their own servers, or provide specialized vertical-market features as part of their communications.

Zimbra makes this possible. That's because Zimbra is browser-based, and relies on AJAX and web services for its remarkably feature-rich interface, and it provides hooks for the kinds of specialized features anyone might need. For example, the demo will show you how you can click on a purchase order number in the text portion of an email and process that order.

I confess that when I used to talk about the ideal web-based communications application, I envisioned that it would be done in Java. As it turns out, AJAX is proving to be a powerful way to provide a (mostly) platform-neutral and (mostly) browser-agnostic rich client application. And since (mostly) is all Java ever delivered, anyway, who cares which wins?

Poof goes Linux?

Okay, time for another disclaimer. I just downloaded Zimbra and I haven't installed it yet. So I don't know if it's secure enough, fast enough, or powerful enough to make me want to use it as my one-and-only communications program. It doesn't matter. The idea is spot on, and that's the point.

And for my final disclaimer, I'm afraid I can't make good on my premise that only Linux should disappear. Not everything runs on Linux - yet. As much as I'd love to see the day when every computing device has Linux at its heart, that day will not arrive soon, if ever. Even if every device ran Linux, I would still like to see it disappear. I see no reason for anyone but developers, power-users and OS enthusiasts to be aware of an operating system. Make it visible to them (and I'm one of them most of the time), but hide it from the rest of the world.

But the fact that Linux is not yet ubiquitous is simply another reason why the Zimbra approach to a communications client is such an ideal way to make operating systems disappear. It is a prime example of how a browser really can make an operating system irrelevant, which is a good thing. And it is a prime example of why network computing should be a significant part of the future. It has as its goal a world where you don't need to care what computer or device you happen to have at your fingertips at the moment. You can still read your email, schedule a meeting, chat with a friend, and do it all using basically the same interface (limited only by the capabilities of the device itself).

The fancy features of Zimbra are simply icing on the cake. I love the way it lets you mouse over a street address to see a map showing the location of that address. It does much more - just view the demo for yourself. I truly hope that Zimbra or some other browser-based client is good enough, or becomes good enough for me to give up Thunderbird and Mutt forever. If not, then I'll wait patiently for that day to come. I maintain that the day is coming, and it will be a great day when it arrives.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Even as a paraphrase, that

programy's picture

Even as a paraphrase, that doesn't even come close to the point of the article. I'm sorry you don't understand Linux or what I was trying to communicate.

I've had my current PC for

torrent's picture

I've had my current PC for 10 years (yeah, I know, I should've upgraded eight years ago) and have therefore lost at least two hard drives to a crash. I was using a POP/IMAP client each time -- the first time, it was PolarBar on OS/2, the second it was Evolution and pine (don't ask :) on FreeBSD. I had local email clients mainly because they were dialup-friendly, but I kept them when I upgraded to cable, then DSL

zimbra is old news

mvanbaak's picture

Since 1999 I'm programming a project called Covide.(
It does all that zimbra does, and a lot more.

But I totally agree standalone os-dependent apps will be gone in the future.
Now all we have to do is wait for a global 100mbit wireless network that simply works, no matter where you are...

This is all great, and then...

Horatio Alger's picture

I'm driving to a friend's house in the hills, where not even my cell phone has a signal, and I realize I don't remember what the name of the street I need to turn onto is. I have it in email.....

Yeah, network applications are great when you have a network.


Nicholas Petreley's picture

Good point. But remember, we were all on dial-up not too long ago. Things change.

Nice commercial for CommuniGate Pro

Anonymous's picture

What is happening at SSC? The editor of Tux Magazine is on the board of Freespire, the free-beer cousin of the least-free Linux distribution on the market. The editor of Linux Journal thinks a closed, proprietary product is teh hawt even when he admits there are excellent FOSS alternatives. Kinda shoots your credibility down a few notches. Or does the saying by Phil Hughes (you might know who he is)
"Would you buy a car with the hood welded shut?" not apply anymore?

Lessee, and you also like Java, another non-free platform. (Never mind Sun's promises to open-source it- I'll believe it when it happens.)

"In an ideal world, you should be able to walk up to any computer, any kiosk, any thin client, and access your mail (all of it), schedule, chat, and communicate using the same basic interface. You should be able to flip open your phone and do the same thing. In addition, the connection should be secure, and the message store should be secure. When you log out from a "foreign" computer, kiosk, or thin client, you should leave nothing behind for anyone else to know you were there. There should be nothing left in disk cache or memory for someone to decipher."

And how would you know if it were secure, and if your client were operating as required? How would you know if the vendor were trapping and recording your personal data, or installing cute little "helper" apps on your phone or PDA or whatever you're using? Hmm, maybe those wacky Free Software hippies have some ideas on the subject.

Seems to me that LJ is wandering far away from its root.

Against my better judgement

Nicholas Petreley's picture

It is against my better judgement to reply to a post like this, but here I go.

First, I was simply honest about what I use. It was not an ad for CommuniGate Pro. But if you want one, here goes: This will probably make you have a cow, but I would recommend CommuniGate Pro without reservation. I trust the people who make it, I trust the software, and it is a fantastic product. I installed it to test it back when I worked for InfoWorld, and I got spoiled on how easy it was to use and manage, and how fast and reliable it was, and how much it improved with each version. So I left it in place and didn't go back to Cyrus IMAP. If I hadn't tested it, I would have stuck with Cyrus IMAP. The combo of Cyrus, Procmail and Fetchmail was terrific and I would recommend them without reservation, too.

I agree 100% with Phil's intent behind his statement. But, yes, I would buy a car with the hood welded shut if I was confident that it was reliable, safe, easy for the dealer to repair if anything went wrong, etc. I don't really want to repair my own car anyway. It wouldn't be my first choice in cars, but if it was vastly superior to all the other cars, then I would consider buying it.

The problem is that the analogy points to the current state of operating system software, not to all products, and that's what makes it poignant. Windows is a car with the hood welded shut, and that's a car I would not buy. I KNOW it spies on me, is not safe, not easy to repair, I can't trust the people who repair it, etc. The fact that the hood is welded shut makes it even more repulsive because there's nothing I can do about it.

As for Java, it is open source. It isn't open source in the same way that Linux is open source, but there's nothing hidden in Java. You can download all the source if you want. The hood is not welded shut.

As for the rest of your post, you're not making any sense. The whole concept I described as the ideal for the future was based on open source, with the hope that Linux becomes the standard platform on all devices. Why would I suggest such a thing? Well, I didn't think I had to explain the advantages of open source to LJ readers.

But commercial, proprietary applications still exist, and some of them are top-notch, reliable and trustworthy. I'm not going to pretend they aren't just to please a few people who think everything proprietary MUST be evil. I hope the day comes when all software is open source, but I'm still occasionally going to use great software even if it isn't. If you don't agree, then use nothing but open source software. I have no problem with that. I'm not on a crusade to get you to use anything you don't want to use. You want to use Cyrus instead of CommuniGate pro? Great. You want me to use Cyrus instead of CommunGate pro? Great, I love Cyrus IMAP - come on over and make the switch for me. I don't have the time. Meanwhile, lose the crusade to get everyone to use only what you find acceptable.

not a crusade

Anonymous's picture

Thank you for your reply.

Yes you agree with Phil, but... that means you do not agree.

I am questioning why a Linux magazine, founded by a man with a long history of advocating Free Software, is slowly sliding into a closed proprietary sink. Is a person who thinks non-Free software is OK, who is at odds with the founding values behind the magazine, the right one to run Linux Journal? It's a legitimate question. I think the answer is "no." I subscribed for many years to read about Free Software, not the latest and greatest closed proprietary products.

Proprietary does not equal evil. I never said that. That's not the point of Free Software, and if you don't understand that I'm not sure I can explain it. Transparency, accountability, protection from vendor lock-in and vendor failure for starters. More power and control for users. The freedom to hack our own stuff. Benefits accrue to vendors as well, as they become part of a large, rich software and talent pool.

The next big battleground is locked hardware as Microsoft and the entertainment industry lead the charge towards DRM. These are not trivial issues, and I really don't want to see LJ fading into irrelevance because it no longer understands the importance of freedom. We already have CNet and its ilk to cover the closed proprietary world- whither LJ?

That's a big leap

Nicholas Petreley's picture

I think it's a huge leap to say that because I acknowledge great proprietary software as great that LJ is sliding into a proprietary sink. This is not at odds with with the founding values behind the magazine, because I will always advocate the day when all software will be open source. That's the ideal. I don't think we'll ever see that day, but I'd love for it to happen because it would benefit everyone who uses the software.

Let me ask you this: Do you have a television, or a microwave, a router, or a cell phone? With the possible exception of the cell phone, I'll bet you have dozens of devices that run proprietary software. These are good devices, and it's not likely that any of them are spying on you. Are you going to toss them out because you don't have the source code? Are you going to say nobody should ever say anything good about them because they're not based on open source? I hope not. If they're good, tell the truth and say they're good. If you feel compelled to add that they'd be even better if you had the source code, then go for it. I think that's obvious, personally, and doesn't need to be said. But go for it.

Sorry for the tangent, but TiVo does spy on you, which I find humorous because it is based on Linux! That doesn't bother me because I have nothing to hide about what I watch. But I *do* feel more comfortable knowing that I'm going to have a MythTV box soon, and that I'll have all the benefits of TiVo without any of the drawbacks. So I do prefer the benefits of open source, I'm just not obsessed with switching everything I own as soon as possible.

I agree 100% with your listed subset of benefits of free software. What you may not realize is that I was singing those same praises in InfoWorld before most people knew Linux Journal existed. Maybe I shouldn't, but I *assume* that most, if not all LJ readers are perfectly aware of these issues, and that's why they read LJ.

Maybe my next blog entry (which I'm writing now) will communicate that better for you, because it has more to do with freedom than this particular entry. And it does talk about a scenario where I *would* rip things out if proprietary ended up posing a problem. But this blog entry was about the benefits of network computing, etc. The comment about CommuniGate Pro was simply meant to tell you what I run, and why. And I'm not going to pretend it's not great software, because it is great.

It was only a passing comment. If I had to elaborate on it, I might have mentioned that I know the main developer of CommuniGate Pro, and unless I'm deceived, he has a heart of gold and is honest to a fault. So that's one reason why I trust him and his product. I wouldn't be nearly as confident about some other proprietary products that do the same job. Perhaps if I didn't have this "inside" knowledge, maybe I would have switched back to Cyrus immediately after testing. I don't know. But I'm still not going to pretend it's WRONG to use the software if you like it and trust it. And I will continue to say that, given the choice, and all other things being reasonably equal, it's ALWAYS better to use free software. I guess I just take it for granted that LJ readers already know this, and I don't have to preach it in every column or blog entry.


Chris Cox's picture

Microsoft says it's a go. You simply run Microsoft's new Office Online product. Then you can access your email, calendar and other groupware applications from ANYWHERE. All you have to have is a browser that will allow you do download the open standards based Active X control (MSIE 7 for example). It's that simple. You can connect to any mail source anywhere...


Nick.. I can't believe you used that title for your blog subject!!


Phill's picture

Why not use Open-Xchange ?
It's OS agnostic, networked, familiar, free if you like, commercial if you prefer. And uses a browser without dodgy ActiveX. You can use it as-is or integrate it with an MS environment.
There's a working LiveCD demo and a VM image I think. Try it.

Interoperability, Data availability, Ubiquity

Paul Hubert's picture


I thought those were essentially your points. To achieve such in today's environments requires either an external reference (as in Gmail) that remains the same across all platforms, or a significant amount of interface-building (as in Zimbra). The former has, of course, its risks of data privacy and ownership, while the latter has the continuing issue of interface MAINTENANCE when the various interfaces are controlled by external agencies (Microsoft, for example).

Having a single, ubiquitous OS seems to be a sensible goal (though potentially very dangerous as well (aren't many paths fraught with potential dangers?)). Once the OS is ubiquitous, it essentially becomes invisible. Hence, if Linux were that fulfillment, IT would 'disappear'.

What I liked about the first Mac I touched was how it standardized access to printing and made -work- easy compared to the IBM PC at the time (or even today?). But, the Mac's strength was its abstraction from the underlying structure, which is what this article seems to address.

Of course, the Mac could do all this because Apple CONTROLLED all interfaces!


Nicholas Petreley's picture

I might prefer to add "platform-and-OS-agnostic" to that list, but yeah, those are the points. Java, done right (or something like it done right), would make ubiquity possible without having to wait for Linux (or a single works-on-all-platforms-and-OSes browser) to be ubiquitous, first. The problem with Java is getting it onto every operating system and into every device.

The device part is particularly hard if you really want a rich client experience. The folks who build and sell phones, etc., really want to go with the least expensive hardware possible to make the thing just work, and I don't blame them. Some phones have JVMs, but I just don't think we're going to see Java everywhere as soon as we see browsers everywhere. Heck, Opera is even on the Nintendo DS! (Okay, only in Japan right now, but still...)

Since the browsers are likely to support stuff like Javascript, then AJAX is today's better way to solve this problem. Yeah, AJAX is a royal pain, and I'd MUCH prefer to write Java code than Javascript. Having to account for differences in browsers is a nightmare. I think it's actually worse than having to account for OS differences with Java. But people are doing it, so more power to 'em, although I still run into AJAX that doesn't work on this or that browser.

The other problem with Gmail, by the way, is that Google controls not only the data, but the data structure, and Google limits it to whatever it needs - not whatever YOU need. So the whole "click on the purchase order number" thing can't be done with Gmail. Well, it could be done with plug-in/extension web services that access your company's data, but I don't want to go there right now.

Ideally, I'd love to see the day when you can "rent a data silo", and the providers have to compete with each other (to keep prices low). I think it's a good thing to make it someone else's LEGAL responsibility to keep your company data encrypted, safe, highly available, and free of corruption. That's what you pay them for. Add to that a contract that says they must make it painless to migrate your data to another provider if you're not satisfied, and you've got it all. Folks are working on standards to make that kind of transport of data between silos possible now, so proprietary data stores shouldn't be a problem if there's enough competition to force these providers to offer fast, easy migration as a way to back out (they offer it or you simply take your business elsewhere).

Next Bill Gates, or Larry Ellison, or..

Paul Hubert's picture

Well, Nick, I'm talking MONEY here .. SALES .. :-D

And, I was going to open with "So, how do you[/we/anyone] become the next Bill Gates - by being the entreprenuer who brings this or any significant part of it to fruition??

And, I also wonder, with HP, IBM, and Oracle all touting Linux, just where anyone gets the idea Linux (and Linus Torvalds, et al) isn't and hasn't been comfortably in bed with proprietary solutions already??

If Linux hadn't gone commercial, it would likely still be solely the domain of geek hobbyists. And, Microsoft would never have had to even consider it as a competitor.

Apparently there are those in the OSS community who still truly do not get it.

I'm looking forward to the day when -PROPRIETARY- software providers make Linux their FIRST priority.

As you say, there are proprietary software companies who do business right: they respect and please their CUSTOMER. If ALL businesses did this, we'd ALL have few, if any, complaints.

Along that line, what value does OSS bring to a world where everyone can be trusted? I believe it does, but exactly what is that value. Or, if everyone COULD be trusted, would there be any reason to keep software closed?? After all, no one would try to profit from YOUR ideas because they would respect YOU.


Why AJAX when you have SSH?

Kui Tang's picture

The point of AJAX is to deliver the same stuff--same interface, same data anywhere you go. Personally, I use Gmail but never log on to the web interface--I use POP and pine on my local computer instead. I take advantage of the 2 gig storage space; more than once I've accidently deleted an important email; so I simply redownload. Why? Because, like Nick says, Google controls the data structure. Gmail can't downgrade to the simple folders I need. Gmail can't go PGP. Gmail doesn't let you grep with regexes. Gmail web interface gives me nothing that I can't do myself--and Gmail does it slower. Need to search? Grep the mbox files; you didn't study those regexes for nothing! Filter? Procmail! Access from web? SSH! The point is, whatever AJAX/Java/Web 2.0 can offer you, SSHing into your computer and manipulating the command line is faster, better, and more secure.

I'm already 100% webmail

Daniel Escasa's picture

I've had my current PC for 10 years (yeah, I know, I should've upgraded eight years ago) and have therefore lost at least two hard drives to a crash. I was using a POP/IMAP client each time -- the first time, it was PolarBar on OS/2, the second it was Evolution and pine (don't ask :) on FreeBSD. I had local email clients mainly because they were dialup-friendly, but I kept them when I upgraded to cable, then DSL because I wanted to keep certain mails on my local drive -- for reference, for sentimental or inspirational (yeah, I had some of those) purposes, and other reasons. Naturally, hard drive crashes don't care for all those reasons, and so I decided maybe two or three years ago to go 100% webmail. There are still some things I miss from my POP/IMAP clients. PolarBar, for instance, let me choose the recipients of a reply, so I could select a single email address (usually the sender of the original email); all addresses, which would include the From: and the cc: addresses; or only those people I believed needed to read the reply. I miss my Evolution plug-in (or it could'a been an external program) that chose taglines from a file. Still, those are minor issues, and I get to keep a combined total of maybe 6GB of storage for my email messages.

In regard to another post about the significant differences among GNU/Linux distros and the resulting tech support complications -- that's one reason I went with FreeBSD.

I'm getting to old for this $#it

X-Nc's picture

Ok, it's true that I am getting old (I'm 43) and have been doing the IM/IS/IT thing for about 24 years now, starting with the mainframes and punch cards of yore up through Linux and the web apps we have now. But I'm not one of those "Use the command line, you GUI dweeb" or "Read the man page, loser" guys. Yes, I have answered the occasional query with "man 'blah'" when that was the appropriate answer but I'm not against things moving to pretty gooey designs. However, after reading the comments posted here it seems that my time in this industry is past.

Nick spent a whole blog entry talking about an OS agnostic universal computing environment and the first two comments are tripping over themselves explaining why Linux sucks. Did the comment posters even read the article? I doubt it.

But this is symptomatic of the computer industry today. No one wants to get the job done anymore. It's all about how you can make whatever you are pitching look good and it's competitors/alternatives look bad. Everything sucks except the stuff that I use! Almost makes me want to go back to the days of DOS/DesqView or MVS on a 3090. Almost. I guess it's time to look for a new career.

Only $DEITY knows what that could be, though.

Hey, I've got years on you

Nicholas Petreley's picture

And I did the whole punch card thing and I even started out as an assembly language programmer. I'm with you in history and attitude. I even used to be a big DOS/DesqView user. I loved DesqView. Double-tap Alt, and you get to the next app.

Those two posts by the same person also totally confused me. I almost got the impression he was responding to some other article in some other publication.

You said you wanted "Linux" in every device,

cprise's picture

...and that the way to do this is to shift desktop applications to web apps (I am paraphrasing of course). To me, it was an attempt to address the lack of success Linux has had on the desktop: LAMP + AJAX is FOSS' only really successful user-facing framework, so let's base everything off that instead of trying to write native apps.

Problem is, those who create content will mostly want Windows and Mac PCs anyway, since AJAX is not up to that job. Even Google finds itself writing native apps these days: Google Earth and Picasa are each a success, but its desktop-replacement apps like Base are not gaining traction. Not everything can be written as an interactive document and still remain powerful and appealing.

My responses were meant to point out that your suggestion is the logical conclusion of what is already wrong in the Linux community: Insistence on server-room infrastructure and methods in everything, even personal computing; constantly demoting the native UI environment as a peripheral or transitory concern. I also listed what "Linux" is lacking because of the community's adherence to those methods.

I do apologize for my earlier haphazardness, however. I hope this clarifies my earlier posts.

FWIW, as one of the most inaccurate terms in techspeak, I think "Linux" should disappear from the FOSS desktop discussion (except when discussing picayune low-level details). "Linux" is not an OS environment or platform in a modern personal computing sense, and to use the term as if it were so is to condition people to believe a mass hallucination.


Nicholas Petreley's picture

"You said you wanted "Linux" in every device, ...and that the way to do this is to shift desktop applications to web apps (I am paraphrasing of course)."

Even as a paraphrase, that doesn't even come close to the point of the article. I'm sorry you don't understand Linux or what I was trying to communicate.

The point of the article being

cprise's picture

...that "network computing is superior to platform-dependant" computing. You use personal information management to make your point, but you don't limit your thrust to PIM.

Whether you can admit it to yourself or not, you are denouncing the PC in favor of mainframe terminals. But that's all dandy and peechy-keen because they'll be LINUX mainframes and terminals.

Giving up on the PC operating system

cprise's picture

...just to make Linux' acceptance problems go away is not constructive. The egalitarian nature of the Internet itself rests on all the powerful PCs and envelope-pushing, third-party apps they accommodate (Kazza, Bittorrent, various IMs, VOIP clients, webcams, etc, etc).

Personal computers have thrived precisely because mainframe datacenter culture could not deliver apps that were flexible. Unfortunately the 'Linux' desktop movement has tried to push datacenter mechanisms onto the end-user, with its centrally-managed software repositories, reliance on CLI, and emphasis on arrays of piecemeal standards (instead of a simple unifying standard); As a result, only sysadmins and helpless spoonfed user types (grandmas and data entry clerks) are accommodated, with no room for anyone in-between. Where Apple adapted BSD to a personal computing paradigm, the Linux movement has unknowlingly been trying to erradicate the PC in favor of a fancy terminal-mainframe model.

Linux can be pictured as a polarized light filter: Appearing as a marvel of flexibility and transparency to sysadmins and systems programmers, but strikingly opaque and brittle to power users and to those who do not want to become intimate with a C compiler or package dependency mechanisms. There is no predictable surface for the latter group to grab onto.

Apps sell the platform, and the platform is crucial.

cprise's picture

But the the 'Linux' you refer to, Nick, is illusory and doesn't constitute a usable platform for most people; You are heading in the wrong direction.

There is no 'Linux' that meaningful to the needs of end-users or app-developers. The platform known as 'GNU/Linux' does exist, but supports mainly system-level hackers and sysadmins... with no stable ground for the rest of us on the perimeter.

If you're an application developer struck by a creative muse, then embracing 'Linux' means being marginalized. Users complaining that sound sometimes, sometimes-not? Can't give 'em simple advice on setting their mixer cuz you don't know which one they'll have? (shrug) Nothin you can do really, except throw tons of Howtos at them. And your requests for a switch away from audio-blocking drivers won't be heard on the LKML.


* No standard UI or set of configuration applets. This spells user frustration and also makes 'Linux' a skunk among tech support personnel. For years, I supported Linux apps for a living, and when non-techie users were involved it was pretty much unsupportable.

* No standard set of APIs, so when I'm experimenting with code on my Linux system, how can I even show my app to my Linux-using cousin across the state? Answer: I can't, unless she is running an identical distro. (LSB is nice for sysadmins and those who develop services, though).

* No default, first-class IDE or documentation library (ADC and MSDN come to mind). So where does most new talent go? To Windows and Mac.

* Same thing for managing services: Let's see, I can learn IIS with a GUI, or I can learn from someone who cracks his whip while commanding we learn the "ancient Unix way" (maddening, f'ed-up Apache config files in vi; and using 'nano' is just decadent cheating). A certain generation tolerated this as Linux and the Internet grew up with them, but the next generation has no such tolerance for backwardness; And just look at the new surge in IIS deployments on Netcraft!

* No single point of reference for consumers. A shopper must be savvy about a long list of standards to find goods that are both functional and compatible with their chosen 'Linux'. Way too much to ask. Someone using a real PC platform needs only check for compatability with "Windows (version#)" or "Mac OS X (version#)".

These prevailing conditions in FOSS operating systems have far-reaching implications: We must choose a distro where most/all of the applications we get for it have to be pre-screened and shoehorned into a special, centralized software repository. When we do manage to get software from outside the repository, we get into trouble. Bug reports become managed by package maintainers, isolating the core app developers significantly from interaction with end-users. OTOH writing a 3rd-party app that can be widely run on 'Linux' (without dependance on teams of distro package management wonks) becomes an exceedingly tricky affair that is akin to black magic.

There MUST be a full-featured software stack, from the bottom of driver-loader and scheduler to the top of the GUI desktop, with a strongly-branded identity that means the same thing to everyone: End-users, web designers, native app developers, sysadmins, etc.

Otherwise, hardly anyone is going to have the time and patience for chasing after your mirage.

But there standards!

Kui Tang's picture

What, no standard UI? I thought termcap took care of that in the 70's!

No standard API? What??!! Read to man page for any system call, say, stat(2). Read the section "CONFORMING TO" and note SVr4, SVID, POSIX, X/OPEN, 4.3BSD. Hmm, is POSIX isn't a standard, than nothing is!

No default, first-class IDE or documentation library? There's a program that does everything in Linux, including being an IDE (which happens to be one of its better abilities) that is called Emacs. You get a hyper-intelligent text editor, file browser, Lisp interpreter, shell, debugger interface, CVS interface, card games, ad infinitum.. what more can you ask of an IDE? For documentation, man and info come to mind. Oh, did I mention you can read them in Emacs?

"Let's see, I can learn IIS with a GUI..." umm, I've learned just about every daemon I run by reading through its config file. GUI doesn't allow comments. Config files do.

"No single point of reference for consumers..." huh? What's a customer? Is that a person that pays money for you software? Get out of my mind, you capitalist scourge! If something's not communist (and meritocrat), then it's not open source!

"OTOH writing a 3rd-party app that can be widely run on 'Linux' (without dependance on teams of distro package management wonks) becomes an exceedingly tricky affair that is akin to black magic." GNU automake/autoconf/libtool ain't no black magic. Wait, are your ... customers ... too incompetent to compile from source? Then they don't deserve to use Unix in the first place!

"There MUST be a full-featured software stack, from the bottom of driver-loader and scheduler to the top of the GUI desktop, with a strongly-branded identity that means the same thing to everyone: End-users, web designers, native app developers, sysadmins, etc." Sounds a bit like Windows. Let's see, Windows forces one stack on you, desktop and all. Check. Wait, I'm a Linux user, what if I don't want your desktop? What if I want to use my own lean window manager? Oh, fine, I can't change anyting because of the standard! Then I'll just fork this stack and distribute my own! Thus we come to the state of Linux distributions today: the purpose of running Linux is the fact that it's so modular. In the beginning, there were few distros; all they provided were an assembler, linker, compiler, a shell, some basic utilties, and that was it. Then someone had the smart idea of putting together an entire system, getting our first "full-featured software stack." Obviously it reflected what that developer though was best; others may have begged to differ. So it forked. And forked again. And again. Then when the idea of distributions became popular, the sprang up spontaneously like wildfire. Each presented something unique. Each had its own merit. But there was the Fork and split them all.

In other words, attempting to force a full-software stack on Linux is just impossible. And unnecesasry; any well-written C/C++ program using well-written libraries (what, you're using Pascal?) is going to compile and run on a GNU-based system. Period. Including Windows via Cygwin. With a tiny bit of hacking for each platform, it'll run on any POSIX compliant system. Which includes every viable OS. What is well written? Simple: avoid nonstandard extensions. MS Win32 API is nothing more very big non-standard proprietary extension to ANSI C. POSIX is a very big open standard.

"Otherwise, hardly anyone is going to have the time and patience for chasing after your mirage." Most programs I distribute are in the form of shell and Perl scripts. Nobody using Windows has to time and patience to install a full-fledged Cygwin just to run those hacks that are supposed to be timesavers in the first place. However, any self-respecting Unix has a Bourne shell and Perl. Thus, on unix, simply: download, chmod +x, ./program. Simple.

You must be kidding!

cprise's picture

You named FIVE APIs and still didn't get near functionality that new application developers will be remotely interested in: Nor will many experienced developers appreciate being limited to them when contemplating their target audience. As I said already, the 'standard' is too low-level and is virtually meaningless to the application domain (the REAL one, where top-notch apps get written for Windows and OS X).

I went to Red Hat's developer section the other day, and everything was JBOSS, JBOSS, JBOSS. That's as close as we get to promoting development of robust applications for end-users... too bad that is the THIN CLIENT model! Windows and OS X have both web/thin client focus in addition to satisfying user needs for general personal computing. Web browsing is not personal computing, so "Linux" is half-baked as a desktop solution.

EMACS and man pages? Stop, you're killing me! :D GNU man pages typically don't even include examples, much less anything that needs pictures.

Some of *nix' most crucial programs were conceived and written on a NeXT. Why doesn't BSD get any credit for WWW? Probably because it has the same affliction as Linux, and was so much less appropriate than NeXT for hammering-out a trailblazing, user-facing app that the BSD-NeXT lineage doesn't signify.

Having a built-in GUI doesn't take away your precious CLI. And even on OS X its easy to disable the GUI; extra-easy on Linux. Let the elite users do a little extra work to remove things they don't want (which they already commonly do with other parts specified by LSB)... just don't expect end-users to go through extra work to get common UI functionality. It is rightfully the experts' burden to customize and run outside the established standard; that must never be expected of end-users.

In other words, attempting to force a full-software stack on Linux is just impossible. And unnecesasry; any well-written C/C++ program using well-written libraries (what, you're using Pascal?) is going to compile and run on a GNU-based system. Period.
The well-written apps run mainly on non-Linux systems. Anyway, you've just admitted that "Linux" gives us half a software stack because of what amounts to GUI-phobia... or should I say, a phobia of making interface commitments to anyone who isn't a hacker.