There was no chance of AT&T shutting down GNU software; because, they didn't have any legal leg to stand on.
The legal issues simply hadn't been settled in court, but there was a very real risk that AT&T could have made both patent claims (they had some software patents already) and copyright claims (based on identifier names and interfaces) against the GNU project. Furthermore, many of the people contributing to GNU did have access to UNIX source code in principle, resulting in yet more ways in which AT&T could have challenged GNU. At the very least, they could have tied up GNU in legal knots for years. And whether the GPL itself would hold up in court was yet another legal uncertainty.
The GNU project has always lived under legal clouds and threats; that just comes with the territory.
The Free Software movement's position is essentially ideological, based on the philosophy that closed source is ethically and morally wrong
When Stallman objects to things based on ethics, morality, or legality, I often agree with him. But Stallman's objection to C# is not based on ethics, morality, or legality; the Mono license and the ECMA C# standard are completely above board in those regards. Stallman's objection to C# is based on his fear of hidden legal dangers. But Stallman has been unable to translate his fear into specific legal scenarios.
As such, de Icaza is wrong when he says that Stallman is missing an opportunity here.
But Stallman has already proven that his judgment in areas of technology is weak. It was people like Linus, Icaza, and the founders of the various Linux distributions that really made free software happen. If it had been up to Stallman and his plodding approach, we'd probably still be running GNU Emacs on Solaris.
Icaza has far more credibility and a much better track record in picking a winner for writing end user applications than Stallman.
I'm sure the founder of the FSF and the author of the first GPL is wholly ignorant of legal issues in software development.
His argument is that "Microsoft is probably planning to force all free C# implementations underground some day using software patents". Which specific patents would Microsoft use to do that? How could they do that given their public, legally binding commitments not to do this? What reason is there to believe that applications written in C# are at a bigger risk of that than applications written in Python?
Just don't do it on the grounds of "he's old and doesn't know anything",
He is about the same age as I am.
Don't be stupid.
Take your own advice. Instead of going all starry eyed because you recognize someone's name, use your own head and ask the right questions.
Open source has had many enemies over the years. For years, Apple was enemy number one for Stallman (and, in that case, for good reason). AT&T, IBM, and many other companies have, at times, tried to hurt open source.
Every open source project is a calculated risk. But then, so is every closed source project and every business venture. Stallman has not been able to make a good argument that using Mono is any riskier than Python or D or GNU C.
A lot of people dislike Stallman and his positions, but even his biggest detractors have to admit that he's a principled man.
Yes, Stallman is a principled man. The problem with Stallman and Mono, however, is that his objections are based on fear and innuendo, not on principles or reason.
Stallman has not been able to present a logical argument showing that the legal situation around Mono is any worse than it is around Linux, March, GNU C, or numerous other FOSS projects. In fact, Stallman doesn't even seem to understand the relationship between Mono and.NET; he is speaking from technical and legal ignorance.
Finally, he has a track record of making some pretty bold predictions that turn out to be dead on many years later.
And he has also made numerous bad predictions. Also, just because he understood the technology 20 years ago doesn't mean he understands today's technologies and their relationships.
Stallman has never programmed in either Mono or.NET. He has no idea what the relationship between C#, CLR,.NET, and Mono is. And he has no idea of what the legal situation is.
If Stallman has a credible legal point to make, he should make it. But spreading FUD about other FOSS projects is irresponsible. I used to respect the guy, but not anymore.
The video is perfect. The video correctly represent Windows 7 and its design philosophy. And it evokes the same feelings in me that using Windows does.
Well, if Microsoft's new OS can handle multi-core, multi-processor transparently for the applications
No more than current OS'es. This OS simply claims to be internally more efficient.
The thing I found quite elegant in Erlang is that it makes it so transparent
Erlang really does little that you can't do as easily in other languages. The real value of Erlang is in what it lacks: it prevents you from doing things that are hard to distribute across cores.
Imagine an OS with a "normal-looking" set of library that can handle all the hard works transparently. I'd say, bully to them.
That's wishful thinking. "Normal-looking" code is "normal-looking" because it uses constructs that are intrinsically hard to parallelize.
Microsoft is getting more like the old Xerox and IBM every day.
Not really. Xerox PARC did create entirely new technology. Xerox also turned that technology into products-good, if expensive, products. The technology didn't catch on because Apple undercut them with a low-cost knock-off.
There's little "industry changing" about what Microsoft has been releasing: microkernels, message passing, database technology, sandboxing, kernels in functional languages, that's all old tech; Microsoft is just implementing their own version of it.
The only reason people are paying attention to it is because of the power Microsoft holds in the market; if they finally update their totally obsolete Windows platform, that's news, even if they merely update it to something slightly less obsolete.
"Marshalling" means converting data structures into byte streams. No, you didn't have to do that multiple times. The term you're looking for is "routing". Routing can be abstracted into libraries and the OS; no need for every application to worry about it. It was just that the Transputer (as well as a lot of other system software development) was killed when Microsoft monopolized the market.
I am generally talking about PC's, here- and I can't think of what these IBM systems would offer that market.
What does the size of the hardware have to do with innovation? The fact remains that none of what you claim as "innovation" is actually new.
but technology-cleansing and losing the server market was all Unix.
By the time Microsoft had its opportunity with NT, UNIX was already legacy technology. UNIX would have been dead if Microsoft actually had actually come up with something better. And, believe me, people like me gave it a serious try.
It was Microsoft who missed their opportunity to innovate in operating systems, by betting on Cutler and NT and delivering a warmed over VMS.
leaving a VMS-based system like NT in a competitive position. Systems like NT and Unix are cognitive, they interface well with people. They won in a human market, not a technical market.
Yeah, that was a "human market" alright. A "human market" that consisted of Microsoft pressuring its business partners into shipping NT through illegal tying and bundling deals. Without Microsoft's marketing and business muscle, NT would have been DOA.
People with a base and some equipment (microscopes, spectroscopes, chemistry gear) would be extremely useful.
A dozen astronauts vs. one unmanned probe? Perhaps. (Of course, in several manned touch downs and sample returns, we didn't find any solid evidence of water.)
A dozen astronauts vs. 10000 unmanned probes? The probes win hands down in terms of utility, longevity, and scientific output.
And if you look at the costs involved, it's the dozen astronauts vs. 10000 space probes that we need to consider.
That's completely and utterly unrealistic. If those techniques and languages produced workable products, some would exist.
Since the 1960's, people have produced numerous kernels in languages other than C. Systems had virtualization, elaborate access controls and security architectures, and tons of other features. These weren't academic exercises, they were the workhorses of the computer industry. IBM alone had a highly virtualized product line, plus an entirely separate product line based on virtual machines. People were working on highly parallel systems, multicore support, verification, sandboxing, kernels in functional and managed languages, and all sorts of other "modern" things.
All that came to a halt in the 1990's. It came to a halt because Microsoft took over the industry, not with better technology, but with its illegal monopolistic practices. After Microsoft's takeover, neither academics nor companies felt there was much point in working on kernels anymore because Microsoft would not let anything succeed in the market anyway. It's going to take us another decade or so to recover from the Microsoft dark ages and for people to start working on operating system research again.
It sounds like you have a very absurdly ivory tower perspective anyway.
And you sound like the typical guy who was hired into Microsoft fresh out of college and has never seen anything else.
As for your "multi-role" arguments, you really need to read up a bit on the history of operating systems since you obviously have no idea of the history of this.
I have never owned a system where Linux "just works". Most users purchase computers with licensed and customized operating system images.
And if you purchase your computer with Linux pre-installed by a vendor, it will work even better.
Replacing these with a hacked together 1970's operating system designed to work over dumb terminals is simply beyond retarded
Not as retarded as keeping an overpriced, hacked together 1970's operating system from a bunch of people who think that "multi-role" support is the future and that Amiga was the state of the art in operating systems in the 1980's.
Linux on the desktop is a non-starter. Its marketshare reflects this.
It is, although that has mostly to do with Microsoft's monopolistic practices. Fortunately, "the desktop" itself is going away. Hopefully, along with it, the incompetence up in Redmond will go out of business as well and the industry can finally move beyond both Linux and NT.
In terms of total number of installed Linux kernels in the world, Linux probably already has NT beat hands down.
Managed programming languages, virtual machines, etc. All of that was around in the 1980's already.
Can you name a better language for writing kernels? C is basically the optimal language for writing system code. You haven't presented a revolutionary alternative yet.
Modula-3 and CEDAR/MESA come to mind, but kernels have been written in managed languages.
And C is about as far from being "optimal" for writing a many million line kernel as any language can be.
Virualization is big because UNIX is too awkward to work as a multi-role server
UNIX and Linux actually offer all the "multi-role" support you could possibly imagine and want: access control, isolation, namespace manipulations, and various forms of virtualization. Among all of those, people choose virtualization because it's the least hassle and the easiest to manage.
And you are absolutely right that NT has focused on "multi-role" support, including elaborate security and user mechanisms from the start. But that's not the sign of a modern kernel, it's a sign of an obsolete 1960's design. By doing so, Microsoft missed the boat on all the other approaches and is now trying to catch up.
Let's just be clear about this: Linux gives users a choice about what level of "multi-role" support they want, and their choice is "very little".
so you use virtualized myopic UNIX servers to replace what could otherwise be done by Java EE or.NET.
That claim makes absolutely no sense at all, since the Java EE approach was developed on UNIX and Linux. And once you run your servers in managed virtual machines, you don't need all the elaborate kernel-based "multi-role" support anyway. That's another reason the "multi-role" support in NT is superfluous and obsolete.
The only other "modern" systems I can think of from the beginning of the NT era are Amiga and eventually BeOS.
Yeah, that's because you obviously don't know anything, and neither did the people at Microsoft. Microsoft's OS developers in the 1980's and 1990's were a bunch of PC hackers plus industry wash-ups who had no idea what the state of the art in computer science actually was, and they developed a third rate OS that was obsolete from the start.
Let me tell you; its because neither you nor anybody you care about are affected.
You say that as if it's a bad thing.
Let me give you an example; between 1998 and 2004 about 4 million were killed in the second congo war; and that was a fairly localised conflict.
And in what way are we responsible for that, or responsible for fixing their problems? The most likely outcome of interfering in their wars is to make things worse, not better.
I don't have to supply facts, you do: you claim that Windows is objectively better than UNIX on a number of dimensions (e.g., driver development time, bloat, energy efficiency, etc.), but you don't supply a shred of evidence. Therefore, your claims of Windows' superiority is just a bunch of hot air (and quite implausible, too, given how Linux eats Windows' lunch in the embedded market).
Technologies like Java and.NET are the rational solution to having countless single-purpose archaic unix servers virtualized in order to provide inefficient mock-ups of multi-role systems.
Yes... and why are people using those "countless single-purpose archaic unix servers"? Because Microsoft perpetuated this archaic model in the 1980's and 1990's when it decided to follow that model with NT, rather than any of the more modern approaches. Microsoft's lack of vision and innovation in the 1980's and 1990's is responsible for why we still program in C/C++ and use UNIX-like kernels.
It took Sun and the Java community to drive managed languages, garbage collection, and virtual machines into industry and server applications. It took Microsoft a decade to catch on to that one.
It's a good thing the enterprise IT market doesn't share your critical lack of vision.
You should be more concerned about your and Microsoft's critical lack of vision. Throughout its decades long history, every major Microsoft product has merely been a reaction to industry trends and either been cloned or acquired.
Given your passionate defense of Linux as somehow comparable to the Microsoft platform,
"Comparable" only in the sense that both of them are obsolete junk. But since I have to choose one or the other, I prefer the cheaper, simpler, open source junk.
I'm going to assume your time is pretty worthless to you
Anybody whose time is valuable would be a fool to run Windows: any serious computing on Windows is a bottomless time sink. On standard hardware, Linux just works.
Many people object to genetically engineered foods not because they fear that the end product is unsafe, but because of the impact that growing them has on farmers, the economy, and the environment.
I'm not concerned about eating genetically engineered beets.
The real problem with "eliminating the choice to eat non-engineered beets" is that it would make all sugar beets effectively proprietary: farmers have been successfully sued for growing genetically engineered crops even when that was due to contamination from adjacent fields.
Of course, a better way of dealing with all this would be to eliminate patents on genetically engineered crops altogether but ease the approval process.
I would like nothing more than to dump Windows, but I need wireless networking
Every laptop and desktop I have installed Ubuntu on over the last year has had wireless working. Most common wireless cards either have an open source driver or a proprietary driver that Ubuntu loads for you. (In a real pinch, you can use a $10 USB WiFi stick.)
phone sync,
No desktop phone sync I have used on Windows or OS X ever has worked quite right. The problem isn't the syncing itself, it's the different data models between the desktop apps and the phone, with the desktop apps usually being too complicated and out of step. FWIW, Linux supports SyncML, plus special purpose WinMo and Palm sync libraries.
But I have a better idea for you: join the 21st century and sync your phone to the cloud. It's easier and better. Nokia syncs to Ovi and Google, and most other phones sync at least to Google.
and 3D graphics first
Both nVidia, ATI, and Intel cards are fully supported on Ubuntu, 3D and all. Dual display works easily for some cards, but requires some playing around for others.
The rest I can play with.
The rest you don't need to play with at all, since "printer, webcam, bluetooth dongle, external hard drive" really just work.
There was no chance of AT&T shutting down GNU software; because, they didn't have any legal leg to stand on.
The legal issues simply hadn't been settled in court, but there was a very real risk that AT&T could have made both patent claims (they had some software patents already) and copyright claims (based on identifier names and interfaces) against the GNU project. Furthermore, many of the people contributing to GNU did have access to UNIX source code in principle, resulting in yet more ways in which AT&T could have challenged GNU. At the very least, they could have tied up GNU in legal knots for years. And whether the GPL itself would hold up in court was yet another legal uncertainty.
The GNU project has always lived under legal clouds and threats; that just comes with the territory.
The Free Software movement's position is essentially ideological, based on the philosophy that closed source is ethically and morally wrong
When Stallman objects to things based on ethics, morality, or legality, I often agree with him. But Stallman's objection to C# is not based on ethics, morality, or legality; the Mono license and the ECMA C# standard are completely above board in those regards. Stallman's objection to C# is based on his fear of hidden legal dangers. But Stallman has been unable to translate his fear into specific legal scenarios.
As such, de Icaza is wrong when he says that Stallman is missing an opportunity here.
But Stallman has already proven that his judgment in areas of technology is weak. It was people like Linus, Icaza, and the founders of the various Linux distributions that really made free software happen. If it had been up to Stallman and his plodding approach, we'd probably still be running GNU Emacs on Solaris.
Icaza has far more credibility and a much better track record in picking a winner for writing end user applications than Stallman.
I'm sure the founder of the FSF and the author of the first GPL is wholly ignorant of legal issues in software development.
His argument is that "Microsoft is probably planning to force all free C# implementations underground some day using software patents". Which specific patents would Microsoft use to do that? How could they do that given their public, legally binding commitments not to do this? What reason is there to believe that applications written in C# are at a bigger risk of that than applications written in Python?
Just don't do it on the grounds of "he's old and doesn't know anything",
He is about the same age as I am.
Don't be stupid.
Take your own advice. Instead of going all starry eyed because you recognize someone's name, use your own head and ask the right questions.
Microsoft is Microsoft.
Open source has had many enemies over the years. For years, Apple was enemy number one for Stallman (and, in that case, for good reason). AT&T, IBM, and many other companies have, at times, tried to hurt open source.
Every open source project is a calculated risk. But then, so is every closed source project and every business venture. Stallman has not been able to make a good argument that using Mono is any riskier than Python or D or GNU C.
A lot of people dislike Stallman and his positions, but even his biggest detractors have to admit that he's a principled man.
Yes, Stallman is a principled man. The problem with Stallman and Mono, however, is that his objections are based on fear and innuendo, not on principles or reason.
Stallman has not been able to present a logical argument showing that the legal situation around Mono is any worse than it is around Linux, March, GNU C, or numerous other FOSS projects. In fact, Stallman doesn't even seem to understand the relationship between Mono and .NET; he is speaking from technical and legal ignorance.
Finally, he has a track record of making some pretty bold predictions that turn out to be dead on many years later.
And he has also made numerous bad predictions. Also, just because he understood the technology 20 years ago doesn't mean he understands today's technologies and their relationships.
Stallman has never programmed in either Mono or .NET. He has no idea what the relationship between C#, CLR, .NET, and Mono is. And he has no idea of what the legal situation is.
If Stallman has a credible legal point to make, he should make it. But spreading FUD about other FOSS projects is irresponsible. I used to respect the guy, but not anymore.
The video is perfect. The video correctly represent Windows 7 and its design philosophy. And it evokes the same feelings in me that using Windows does.
Congratulations!
Well, if Microsoft's new OS can handle multi-core, multi-processor transparently for the applications
No more than current OS'es. This OS simply claims to be internally more efficient.
The thing I found quite elegant in Erlang is that it makes it so transparent
Erlang really does little that you can't do as easily in other languages. The real value of Erlang is in what it lacks: it prevents you from doing things that are hard to distribute across cores.
Imagine an OS with a "normal-looking" set of library that can handle all the hard works transparently. I'd say, bully to them.
That's wishful thinking. "Normal-looking" code is "normal-looking" because it uses constructs that are intrinsically hard to parallelize.
Microsoft is getting more like the old Xerox and IBM every day.
Not really. Xerox PARC did create entirely new technology. Xerox also turned that technology into products-good, if expensive, products. The technology didn't catch on because Apple undercut them with a low-cost knock-off.
There's little "industry changing" about what Microsoft has been releasing: microkernels, message passing, database technology, sandboxing, kernels in functional languages, that's all old tech; Microsoft is just implementing their own version of it.
The only reason people are paying attention to it is because of the power Microsoft holds in the market; if they finally update their totally obsolete Windows platform, that's news, even if they merely update it to something slightly less obsolete.
"Marshalling" means converting data structures into byte streams. No, you didn't have to do that multiple times. The term you're looking for is "routing". Routing can be abstracted into libraries and the OS; no need for every application to worry about it. It was just that the Transputer (as well as a lot of other system software development) was killed when Microsoft monopolized the market.
They do have a connection: politicians do the opposite of what they say.
Like when the "family values" politicians do prostitutes and drugs.
I am generally talking about PC's, here- and I can't think of what these IBM systems would offer that market.
What does the size of the hardware have to do with innovation? The fact remains that none of what you claim as "innovation" is actually new.
but technology-cleansing and losing the server market was all Unix.
By the time Microsoft had its opportunity with NT, UNIX was already legacy technology. UNIX would have been dead if Microsoft actually had actually come up with something better. And, believe me, people like me gave it a serious try.
It was Microsoft who missed their opportunity to innovate in operating systems, by betting on Cutler and NT and delivering a warmed over VMS.
leaving a VMS-based system like NT in a competitive position. Systems like NT and Unix are cognitive, they interface well with people. They won in a human market, not a technical market.
Yeah, that was a "human market" alright. A "human market" that consisted of Microsoft pressuring its business partners into shipping NT through illegal tying and bundling deals. Without Microsoft's marketing and business muscle, NT would have been DOA.
People with a base and some equipment (microscopes, spectroscopes, chemistry gear) would be extremely useful.
A dozen astronauts vs. one unmanned probe? Perhaps. (Of course, in several manned touch downs and sample returns, we didn't find any solid evidence of water.)
A dozen astronauts vs. 10000 unmanned probes? The probes win hands down in terms of utility, longevity, and scientific output.
And if you look at the costs involved, it's the dozen astronauts vs. 10000 space probes that we need to consider.
That's completely and utterly unrealistic. If those techniques and languages produced workable products, some would exist.
Since the 1960's, people have produced numerous kernels in languages other than C. Systems had virtualization, elaborate access controls and security architectures, and tons of other features. These weren't academic exercises, they were the workhorses of the computer industry. IBM alone had a highly virtualized product line, plus an entirely separate product line based on virtual machines. People were working on highly parallel systems, multicore support, verification, sandboxing, kernels in functional and managed languages, and all sorts of other "modern" things.
All that came to a halt in the 1990's. It came to a halt because Microsoft took over the industry, not with better technology, but with its illegal monopolistic practices. After Microsoft's takeover, neither academics nor companies felt there was much point in working on kernels anymore because Microsoft would not let anything succeed in the market anyway. It's going to take us another decade or so to recover from the Microsoft dark ages and for people to start working on operating system research again.
It sounds like you have a very absurdly ivory tower perspective anyway.
And you sound like the typical guy who was hired into Microsoft fresh out of college and has never seen anything else.
As for your "multi-role" arguments, you really need to read up a bit on the history of operating systems since you obviously have no idea of the history of this.
That's why we need manned space exploration: if we only had sent people instead of probes, they would have found this long ago!
Oh, wait...
I have never owned a system where Linux "just works". Most users purchase computers with licensed and customized operating system images.
And if you purchase your computer with Linux pre-installed by a vendor, it will work even better.
Replacing these with a hacked together 1970's operating system designed to work over dumb terminals is simply beyond retarded
Not as retarded as keeping an overpriced, hacked together 1970's operating system from a bunch of people who think that "multi-role" support is the future and that Amiga was the state of the art in operating systems in the 1980's.
Linux on the desktop is a non-starter. Its marketshare reflects this.
It is, although that has mostly to do with Microsoft's monopolistic practices. Fortunately, "the desktop" itself is going away. Hopefully, along with it, the incompetence up in Redmond will go out of business as well and the industry can finally move beyond both Linux and NT.
In terms of total number of installed Linux kernels in the world, Linux probably already has NT beat hands down.
What more modern approaches?
Managed programming languages, virtual machines, etc. All of that was around in the 1980's already.
Can you name a better language for writing kernels? C is basically the optimal language for writing system code. You haven't presented a revolutionary alternative yet.
Modula-3 and CEDAR/MESA come to mind, but kernels have been written in managed languages.
And C is about as far from being "optimal" for writing a many million line kernel as any language can be.
Virualization is big because UNIX is too awkward to work as a multi-role server
UNIX and Linux actually offer all the "multi-role" support you could possibly imagine and want: access control, isolation, namespace manipulations, and various forms of virtualization. Among all of those, people choose virtualization because it's the least hassle and the easiest to manage.
And you are absolutely right that NT has focused on "multi-role" support, including elaborate security and user mechanisms from the start. But that's not the sign of a modern kernel, it's a sign of an obsolete 1960's design. By doing so, Microsoft missed the boat on all the other approaches and is now trying to catch up.
Let's just be clear about this: Linux gives users a choice about what level of "multi-role" support they want, and their choice is "very little".
so you use virtualized myopic UNIX servers to replace what could otherwise be done by Java EE or .NET.
That claim makes absolutely no sense at all, since the Java EE approach was developed on UNIX and Linux. And once you run your servers in managed virtual machines, you don't need all the elaborate kernel-based "multi-role" support anyway. That's another reason the "multi-role" support in NT is superfluous and obsolete.
The only other "modern" systems I can think of from the beginning of the NT era are Amiga and eventually BeOS.
Yeah, that's because you obviously don't know anything, and neither did the people at Microsoft. Microsoft's OS developers in the 1980's and 1990's were a bunch of PC hackers plus industry wash-ups who had no idea what the state of the art in computer science actually was, and they developed a third rate OS that was obsolete from the start.
Let me tell you; its because neither you nor anybody you care about are affected.
You say that as if it's a bad thing.
Let me give you an example; between 1998 and 2004 about 4 million were killed in the second congo war; and that was a fairly localised conflict.
And in what way are we responsible for that, or responsible for fixing their problems? The most likely outcome of interfering in their wars is to make things worse, not better.
A basic problem with both of those packages is that they're database applications without a database.
It's a lot of work, but if you want high performance and/or have limited compute resources, that is often the way to go.
The big commercial DNS systems are all database-based.
They probably also throw 10x the amount of hardware and personnel at the problem than is strictly speaking needed.
Does the word "cloud" have any particular meaning?
I always thought it referred to a visible, translucent collection of tiny water droplets suspended in air high above ground level.
I don't have to supply facts, you do: you claim that Windows is objectively better than UNIX on a number of dimensions (e.g., driver development time, bloat, energy efficiency, etc.), but you don't supply a shred of evidence. Therefore, your claims of Windows' superiority is just a bunch of hot air (and quite implausible, too, given how Linux eats Windows' lunch in the embedded market).
Technologies like Java and .NET are the rational solution to having countless single-purpose archaic unix servers virtualized in order to provide inefficient mock-ups of multi-role systems.
Yes... and why are people using those "countless single-purpose archaic unix servers"? Because Microsoft perpetuated this archaic model in the 1980's and 1990's when it decided to follow that model with NT, rather than any of the more modern approaches. Microsoft's lack of vision and innovation in the 1980's and 1990's is responsible for why we still program in C/C++ and use UNIX-like kernels.
It took Sun and the Java community to drive managed languages, garbage collection, and virtual machines into industry and server applications. It took Microsoft a decade to catch on to that one.
It's a good thing the enterprise IT market doesn't share your critical lack of vision.
You should be more concerned about your and Microsoft's critical lack of vision. Throughout its decades long history, every major Microsoft product has merely been a reaction to industry trends and either been cloned or acquired.
Given your passionate defense of Linux as somehow comparable to the Microsoft platform,
"Comparable" only in the sense that both of them are obsolete junk. But since I have to choose one or the other, I prefer the cheaper, simpler, open source junk.
I'm going to assume your time is pretty worthless to you
Anybody whose time is valuable would be a fool to run Windows: any serious computing on Windows is a bottomless time sink. On standard hardware, Linux just works.
Many people object to genetically engineered foods not because they fear that the end product is unsafe, but because of the impact that growing them has on farmers, the economy, and the environment.
I'm not concerned about eating genetically engineered beets.
The real problem with "eliminating the choice to eat non-engineered beets" is that it would make all sugar beets effectively proprietary: farmers have been successfully sued for growing genetically engineered crops even when that was due to contamination from adjacent fields.
Of course, a better way of dealing with all this would be to eliminate patents on genetically engineered crops altogether but ease the approval process.
I would like nothing more than to dump Windows, but I need wireless networking
Every laptop and desktop I have installed Ubuntu on over the last year has had wireless working. Most common wireless cards either have an open source driver or a proprietary driver that Ubuntu loads for you. (In a real pinch, you can use a $10 USB WiFi stick.)
phone sync,
No desktop phone sync I have used on Windows or OS X ever has worked quite right. The problem isn't the syncing itself, it's the different data models between the desktop apps and the phone, with the desktop apps usually being too complicated and out of step. FWIW, Linux supports SyncML, plus special purpose WinMo and Palm sync libraries.
But I have a better idea for you: join the 21st century and sync your phone to the cloud. It's easier and better. Nokia syncs to Ovi and Google, and most other phones sync at least to Google.
and 3D graphics first
Both nVidia, ATI, and Intel cards are fully supported on Ubuntu, 3D and all. Dual display works easily for some cards, but requires some playing around for others.
The rest I can play with.
The rest you don't need to play with at all, since "printer, webcam, bluetooth dongle, external hard drive" really just work.