Originally posted by: gsellis
	
	
		
		
			Originally posted by: Nothinman
No, you're missing the point. Linux is already 'good enough'. All that needs to be done is some OEM support so that boxes can be sold with Linux preinstalled and a few companies like Macromedia/Adobe releasing some of their software to get the ball rolling. It's a catch-22, they don't want to release anything because they don't see a market and they don't see a market because they haven't released anything.
		
		
	 
Catch-22 is right (went through this with Team OS/2).  The apps that would make people switch are from folks like Macromedia and Adobe.  But, to spin up a dev team to port the Apple/Wintel code to Linux costs money with limited sales potential.  So, the Linux version would be more expensive for them to make.  And folks would not want it to be more expensive to buy than the Wintel/Mac versions.  And worse, a bunch of the Linux camp because it is 'free'.  They have an adversion to paying premium dollar for software (those supporting it corporately don't count (N0cmonkey for example?).  And a company would essentially have to sell it at a loss.  Boards of directors do not let that happen for long.  sigh.  We need competition, but competition has to be profitable before anyone will jump in.
		
 
		
	 
Well there is some momentum in this direction just starting up in the past 18 months or so.
First off you have things like WineLib. WineLib allows developers to take Win32 applications and port them to 'native' Linux applications as inexpensively as possible. Often it's nothing more then a recompile..
As far as maturity of the product goes.. It's entirely possible for you do program, test, and compile a Win32 application only using Linux software and Wine-related items and end up with a exe file that runs directly on Windows. So if that directory (from Linux to Windows) is possible I figure it's entirely possible to get Windows to Linux with minimal hassle for most people. Often it's nothing much more then a recompile... If even that.
Google itself has these 'Google Earth' items and such.. They plan on teaming up with CodeWeaver (commercial wine entity) to make applications for Linux.
With OS X to Linux you also have something along the same lines called GNUStep. OS X Cocoa is based on the Openstep API which developed from the NextStep Unix operating system. GNUStep is a free software implimentation of Openstep. Compatability between both items is fairly high.
Then you have Mono with C#. It's developed in such a way that most inhouse programing for businesses require little effort to go from MS's .NET to Linux's Mono. It's designed so that a programmer with almost no Linux experiance can churn out a effective and complex desktop and enterprise applications for Linux.
This will work for 90% of everything out there.. But the valuable items like Photoshop would take more work. There are probably all sorts of optimizations going on and since it's a very complex product it probably uses all sorts of undocumented items.
It's worth noting that Adobe has membership in OSDL (the group that employs Linus among other people) was/is looking to hire for Linux developers and has had presentations on porting applications to Linux. (Like Adobe reader and such)
Besides the limited Linux desktop market there are other barries for 'ISV's (independant software vendors) in Linux.
For instance for servers and such there are standards and certifications for applications. You can usually expect a peice of software made for a server 5 years ago to work fairly well on Linux today. Binary APIs with the Linux kernel and other core items are VERY stable, possibly more stable then Windows. Applications built in the 2.0 days (or even earlier) will more then likely work on 2.6 kernels for instance.
However for the Desktop there isn't realy something like that. Right now it's a very fast moving target and is rapidly evolving and developing. When a person developes a application for Linux what can they use? What parts of the desktop can they depend on not to change? What toolkits, what programming languages?
So normally you can make a intellegent _guess_ for what to aim for.. For instance Gnome 2 series has had a very stable API and make severe pains to avoid backward compatability. For KDE QT 4 will break API with 3 stuff, so maybe it would be smarter to choose Gnome... But not all Linux distros may not have Gnome.
So there needs to be standards. Something that can be printed on the box and labled 'Redcommended Linux requirements'.
So that needs work and people are working on them. They are figuring out a programming model for Linux you build something now it can be depended on to work 5 or more years from now. It's maturing...
As for the rest of the 'Catch-22' part.. The market share items.
This is a huge problem. No applications, no customers.. no customers, little market share.
The goal to break out of this cycle is to target businesses. This is to emulate Microsoft's rise.
Businesses have technical staff and as Linux becomes easier and more widespread... Now most corporations everywere are using Linux for one thing or another. It's going to very rare to find situations in medium to large businesses were you don't have people that know Linux and are using Linux in real-world situations. Weither it's for 'infrustructure' stuff like email, DNS, file shares etc etc, or more enterprise type stuff with databases and such. (for small businesses not nearly so much)
So the idea is to take that and sell people on the superiority of Linux and Linux-based solutions for business desktop. Improved security, improved stability, reduced cost of deployments, reduced costs of software and software developement, reduced costs of maintanance (hardware and software) etc etc. That sort of thing.
Once you sell the businesses on Linux desktops then regular people get familar with it at work. 
They want to do work at home. They want to use the same applications and same enviroment at the work place to get work done at home.
That's were you have things like VMWare's Player and such.  If you use Linux at work and have people that create images for desktop deployments it's just a short hop skip and a jump away to give somebody a vmware player application so that they can run Linux on their desktops at home, even though it's in a virtual enviroment. It'll 'just work'. No problems with hardware, no problems with installing or giving tips on how to install Linux or use the command line to install drivers or whatnot...
 When you get your laptops from work for doing business at home or while traveling they will be running Linux.
So 'Joe Blow' gets the desire to use Linux and familarity from what they use at work. It's just right now the job of people like Novell to sell the Linux desktop as a business solution.. then after that matures then they will be able to sell linux as a home desktop solution, eventually.
Joe Blow isn't going to want to run Linux in a VM forever. Especially when that is what they use all the time. He'll want Linux on his hardware, but he isn't going to want to install it and support it himself.  
He'll just pay OEMs to deal with that sort of thing. OEMs are going to carefully select hardware that 'just works' with Linux. The OEMs aren't going to want to have different hardware configurations for Windows and Linux.. When it's easy to find hardware from vendors that 'just work' in both operating systems why would you want to buy hardware that only works in one or the other?? So eventually it will come to the point were if hardware vendors want their stuff to be sold AT ALL, it will have to work with Linux.. even if Linux is only 10% of all the computers.
So right now...
Step 1: Linux in the server room and enterprise and other enviroments.. (done)
Step 2: Linux to become a substantial minority OS in the business desktop arena... (working on it)
Step 3: Linux to gain a foothold in the home desktop arena..
Step 4: World Domination. (er.. profit or something) 
 
On the flip side of things technology is changing.  
Mobile computing is now as powerfull as PCs were a few years ago. Your mobile phone will probably play Quake faster then a Pentium 300 MMX machine can by the middle of next year.  Linux in embedded computing is fairly popular and is going to get more popular as embedded computers stop being so 'embedded'. Most people will end up using Linux weither or not they know it. Your house has probably a LOT more computers then you think it does. Computers for modern stoves, your cofee maker, your TiVO, your whatever. The traffic lights, your car, your car's ABS system. Traffic control, Security items, Air conditioning controls. All sorts of stuff.
The future of mobile computing is a teter-totter between Linux and Windows stuff.
It maybe that in 2-5 years time you'll end up doing the vast majority of your computing stuff away from your notebook or desktop.
Web based items are also exploding. Applications that are not performance critical (the vast majority of them) can more easily be deployed as web based items now more then ever before. Things like XULRunner (from Mozilla.) and whatnot will allow this. (Realise that applications like Thunderbird and Firefox render _themselves_. It uses the same engine as what they use to render web pages...) Look at Flock Browser as a for instance. 
http://www.flock.com/ If your a blogger this thing is pretty much were 'it's at' in terms of usability. This is also another browser based off of the Mozilla stuff like Firefox is. The interface is programmed almost exclusively in XML and Javascript.
And for something that is completely online... EyeOS: 
http://www.eyeos.org/index.php?section=Whatis It's kinda silly, but shows how actually complex items online can be right now. Obviously very beta. Shows some of what is possible and what some of the limits are.
After you realise that Firefox is rendering itself.. Realise also that the Cairo Library that is bringing vector based graphics to Linux desktops is cross-platform. That is eventually Firefox will have vector based graphics and full SVG support as well as have optional OpenGL accelerated  (and in Windows they will possibly make a DirectX backend for it.. it's very modular) rendering.
If it's webbased (and not using ActiveX) then it's irrelevent what OS your using. Linux or Windows; what does it matter? You just choose what you want.
These sorts of things open source and Free software are at the for-front of things. The truth is is that as your desktop becomes more and more irrelevent Linux will possibly gain a substantial advantage over Microsoft's stuff. Microsoft desperately needs you to KNOW that your using their OS, that only certain things can be done using their OS, and that you need to pay to use it and you should be happy to do so given all the functionality that you gain. They're whole business model is based around Windows. As more and more items are desktop independant then Linux will become more and more usefull and it's inexpensive-ness with shine more and more as time goes on. I think that it's possible that Microsoft will be releasing distant versions of MS Office with native Linux ports.
The future is such a unknown aspect especially with software and technology.