Oh fer christ's sake, Nem, it was the title of the freaking article. I didn't make it up.
Perhaps you would explain your motives in posting it then? I can only think of 3 reasons.
1/ You believed it and wanted to spread the information. I believe that you are to intelligent for that.
2/ Cause controversey. If that is it then you got it and shouldn't complain.
3/ Decieve people into thinking Linux was failing. I don't think that you are that dishonest or stupid enough to think that you wouldn't be refuted.
If you had a fourth reason then please explain for I fail to see it. Perhaps you have just had an off day and didn't think too deeply on what you read?
Never the less, since you felt the need to throw down the gauntlet, so to speak, I thought I'd post a post form another more knowledgable developer on this subject: The following was his thoughts on that quoted piece about Linux desktop--[/color]
When you posted that you threw down the gauntlet I have picked it up. Please provide a link to the source of your "more knowledgable developer".
The comment above this mentions that Linux is a "Geeks Paradise" - well I'm pretty sure I qualify as a geek, and I most certainly do NOT, by any stretch of the imagination, consider it a paradise. I consider it a half assed solution that, more often then not, makes me waste *my* time on futzing around with it in all sorts of stupid ways, from configuring, to fighting with installers/updaters, to dealing with piss-poor development tools/libs that were not very good 15-20 years ago (make anyone? - TAB as a critical character???, automake/autoconf/autopuke and friends) and are *certainly* not noteworthy at this point in time.
Since I am not a programmer I am not going to attempt to refute this though I
believe that it could be.
Linux will never take off as whole until it becomes a *platform* and until it's software "ecosystem" is something other than the largely GPL mono-culture that it is today. Linux suffers from:
Linux is a mono culture? How many distributions are there? Hundreds? How many companies are involved in Linux development? Dozens? More? How is this a mono culture?
Unlike what this implies you can create non GPL programs that run on Linux. For example Never Winter Nights as a non GPL game on Linux.
If being a mono culture is bad then you should be fleeing Microsoft products like the plague. From whom can you buy a Window compatible operating system that can run 99% of your Windows programs? No one but Microsoft? What non Microsoft compilers can you use to develop Direct X games? Can you count on those compilers and resulting games working on the next version of Direct X? All this makes Microsoft a mono culture
Can you count on any non Microsoft program surviving on Windows with Microsofts illegal and predatory practices? At least on Linux there is no central predator destroying those who dare to challenge them.
Have you actually read Microsofts announced plans and desires for the future? Their goal is to have Windows (and all of their other programs) subscription only and all automatically patched up to the exact same version. If a patch breaks your computer - buy a new one - you can't under the MS vision use the older version that worked for you. THAT is a monoculture and that is the Microsoft vision.
- Absolutely no baseline *platform*. This includes a standard directory tree, standard set of libs, from basic kernel level and IO stuff all the way to UI libs. As a developer that is considering targetting linux you are forced into making all sorts of low level decisions that have ramifications on your users because of library dependencies. You have no guarantee that the libs you need will be on the version of linux (or whatver the hell it's supposed to be called) that your user may be using.
Linux Standards Base. Perhaps you haven't heard of it? I quote their home page below.
Mission Statement
To develop and promote a set of standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant system. In addition, the LSB will help coordinate efforts to recruit software vendors to port and write products for Linux.
LSB as an ISO Draft International Standard
On 11/10/04, ISO/IEC commenced balloting the 2.0.1 LSB release through the "Publically Available Specification" process. This has a single six month long ballot for Draft International Standard 23360. For information on the progress see the wiki page which is updated frequently.
Notice that they have a standard and are working towards making it an international standard not just a North American one or a single companies version.
Where are the ISO standards for Microsofts systems?
- No standard set of configuration tools nor any standard whatsoever of config storage.
Complaining because competitors actually compete with one another on trying to create a best way to do things? This can be a problem for some. For others it is an advantage. You don't like the way Red Hat does things? Fine use SUSE or Mandriva (formerly Mandrake and Connectiva) or Linspire (formerly Lindows until Microsoft feared a backfiring lawsuit they started and paid Lindows to change their name). You have
choice use it.
Microsoft has a standard? It doesn't change from version to version? The tools are in the same places and work the same? That does not match my experience. You have no choice on Windows
deal with it
- No baseline installation techniques. They vary ALL over the place, each distro seems to relish either completely re-inventing the installer (i.e YAST, RPM, et al) or making subtle changes to "standard" packages that make it difficult to install on another distro.
Refer to the Linux Standards Base info above. Distros that adhere to the standard and programs that adhere don't have this problem.
Look on the forums and you will see that special techniques had to be devised for installing SFC versions on XP. Microsoft is not exactly innocent on that score themselves. How about Dungeon Siege (a MS trademarked game) the original version seems not to work properly on DirectX 9.0c on Win2k and there is no patch. It worked properly under older versions of DirectX. Microsoft breaks their own programs and you have no recourse.
Tell me where is the
one place that programs under Windows put configuration data and ddls? My experience is they just fire it all over like a long range shotgun blast and hope it works.
- No baseline UI that either a developer can count on, and thus either work with or against(in the case of some custom UI app).
Can you count on Microsoft not changing their UI on whims? No? Can you automatically assume that what you used under Win2K or WinXP will work under Long Horn? I don't think so. Just as one minor change all the directories that used to be MY(fill in blank) lose the MY. Microsoft is demonstrating with Longhorn that they don't recognize that it is MY computer.
There is actually a baseline UI against which they can develop if they so chose. It is called X-Windows. Among other things programs designed for it can be made to work under Mac as well not to mention work in a networked fashion. There are however 2 Windowing UIs that are "dominant" on Linux KDE (which I use) and Gnome. All the major distributions allow you to use either one. Most programs that work on one can work on the other (more interoperability is constantly developing).
This can be an advantage. If KDE and Gnome are too "bloated" for your hardware there are simpler systems that will work all the way back to Pentium 100 systems (and lower I suspect). You are not locked in to one system that works the way one company decided it should and to heck with your personal style.
You can even totally dispense with a Windowing UI and work on the command line. Why does the D2 server kit need a Windowing system? It doesn't, that just sucks computing resources away from your server, just as it does for a web server, a file server or a print server.
- Development tools that lag behind pro tools found on other platforms. For example, what does it imply if your baseline compiler generates binaries that are three times the size of what most Win32 compilers (specifically MS compilers from VC6 onwards) can generate? ALL your binaries are fat. And compiler optimizing performance isn't too great either. What does that imply when this is spread across the whole damn system?
Again I am not a programmer but since I know you are perhaps you can answer a question. Are the MS compilers producing smaller code because they link to ddls that are already on the system that MS as they make both the compiler and the OS can dictate the presence of? Can make present in your OS even if you have absolutely no use for them? Like for example directx on a web server?
Can you take that MS compiler and compile on IBM AIX? On MAC (68000 or PowerPC)? GCC can. Can you compile for a processor different from the one you are running on? GCC can. Can you compile 64 bit or 32 bit whichever you need?
Here is something I doubt that VC could do. Before the Athlon 64 was released there were compiled and operating 64 bit versions of Linux ready for it created using GCC. They were ready and operational BEFORE AMD had even working engineering samples. Can VC do that? How long did it take MS to make a 64bit Windows XP? Is it fully ready even now?
- A software ecosystem that is largely a "mono-culture". On both the Win32 and Mac OSX platforms there's a wide variety of different developers (and, gasp!, even companies!), from commercial developers/companies, shareware developers, freeware developer, to GPL/OSS developers. This is not (or doesn't appear to be) the case on linux, where most of the software is GPL, and the starting assumption for new projects is to write GPL'd software, and the expectation from the community that the software be free from a monetary standpoint. How many shareware authors sell products on Linux systems? How many commercial products are there (a few, IBM makes something, and Oracle has their DB on it)? On both Win32 and Mac I can easily point to a large variety - I can't do that on Linux. Given that, why would anyone port anything to it? What's the incentive, unless you buy into the whole GPL-is-saving-the-world sentiment?
Back to the mono culture. Sigh.
You do know that there is a wide variety of companies developing for Linux as well? Some of them also develop for windows. IBM just for one small example. How about the Apache web server - it has a company behind it and produces Windows versions as well as Linux.
Anyone developing programs to run on top of Linux is free to use whatever license they want. The baseline assumption is that a company that creates a program for Linux will use the license
they thing is best for them.
Intel for example has proprietary compilers that are not GPLd and work under Linux. Linux has even been compiled with Intel compilers.
Sun has Star Office. Proprietary. (They also donated the code base for OpenOffice.org).
Oracle databases under linux. Proprietary
Opera web browser. Proprietary
The TIVO is I believe a Linux based piece of hardware and is ... Proprietary.
Linksys makes at least one router that is ... Proprietary but based on Linux. They sold many extra as people could customize them in ways Linksys never imagined.
Nero has begun to be available and it is Proprietary.
Just a few examples.
Even Microsoft once wrote Internet Explorer for Unix that could run on Linux. Of course once Netscape was destroyed as a competitor they dropped it.
The only time some one is FORCED to use the GPL is if they use code in their PROPRIETARY program that
someone else owns and released under the GPL. Even there they have the option of going to the legitimate owner and working a deal to license it differently. Look up Trolltech. They make the toolkit that was used to create KDE. You can either produce GPL'd code using a freely available GPL version of the kit or you can license it direct from Trolltech and make you software totally proprietary.
Even if you are forced (due to theft of anothers code) to release some of your code under the GPL you still own your own code. If you replace the stolen code you can then release the product again under any license you choose. If you used that (your own not the stolen) code in another program already that program is not affected as even though the code was forced under the GPL it was only so forced for where you used it
with the stolen GPL'd code. Other uses by you are still legally allowed under non GPL licenses.
There have been cases (the Linksys router above for example) where people tried to turn GPL'd code proprietary and were forced to open it back up to the GPL. They violated the law and were forced to obey it. Just as one would expect if they had stolen
your proprietary code. Once the code was out people worked on it and improved it. They released improved versions and people bought the router just because they could pick the software that had the features they wanted to run on it rather than being restricted to what Linksys thought they needed.
I could not have said it better.
Jerry
I think that I did.