Get your popcorn!
Microsoft is reviving itself right now. It has the money and the expertise. Windows 7 is a major improvement over Vista, even though it demonstrated the holes in Microsoft’s aging technology stack.
Windows 7’s additional 3 years of debugging, plus a new Windows Phone 7, Silverlight, Windows Azure, IE 9, Bing, Natal, Office 2010, etc. show how Microsoft is shoring up its weaknesses and taking the initiative. That is great as it makes the battle fun to watch.
But the seeds of Microsoft demise have already been sown. Microsoft will lose because it doesn’t understand that it is an “encyclopedia” of free software for every task that you can imagine that is the true power of the computer. Wikipedia is just one thing you can build using free software, and it is the million-man free software army that is working on this problem and gaining critical mass.
Hardware First
The first thing the free software community needs to do is convince every hardware company to fully support Linux: feature-complete GPL drivers in the Linux tree before the device ships. This should be done for all components, not just the ones inside PCs that ship with Linux today.
Hardware companies already know that it is in their self-interest to support free software, but they just aren’t executing. But as governments and companies and users continue to request Linux, things will improve. Note, it doesn’t matter that Windows 7 is much better than Vista because large organizations are now making the switch, and pushing PC vendors to better support Linux over time.
The Long Tail of Software
Perfect hardware support is something that Microsoft already promises, so this by itself will not be what convinces people to switch to Linux — it just makes this possible. What we need is to keep improving the various software programs for every task you can imagine in art and science. We also need to push people to write it in Python rather than C/C++. We have enough programmers today, but too many big and old codebases that need a coat of polish.