That was point I made a while back.Linux for the desktop will only take over, after the desktop usage has declined out of the hands of average user.

The days of the Personal Computer is gone, the Desktop is now a serious Business workstation, reserved for the likes of Engineers, Programmers, Architects, and Finance. Where you need to do a fair amount of processing, isolated from a server so you don't need to share.

Not the end of the Desktop, but a cut in its usages and move towards more serious jobs.

This trend is similar to the Mainframe. Desktop PCs and Desktop based servers took over a large chunk of the Mainframe, Mainframe operators touted simular arguments about how you need a Mainframe for real work and these PC are just toys for kids. However over time as the PC got more powerful, it proven itself to be a good replacement for most of the tasks.The Mainframe is still around, and it has been relegated to very particular type of work. The same thing will Happen to the Desktop, and in probably 20 year the same thing will happen to mobile devices.

Of course I don't know, but I think it's likely that they will eventually honor the GPL to some extent because of the inherent non-legal punishment for not honoring the GPL: increased maintenance costs.

If I take your code and build my own version, making changes, and then you make substantial improvements to your code, then I'm left with 4 choices:

1) Ditch my changes and use your new code.
2) Go back and re-impliment my old changes on your new code, possibly needing to rewrite my changes to account for changes in your code.
3) Live without the improvements of your new version.
4) Submit my code to your project so that they become part of the parent project, and then I can continue to get updates from you without additional work.

Unless you have some reason to keep your changes secret, option number 4 is actually pretty attractive.

That is true... however, in the US, Canada, and other places, bandwidth isn't increasing, but fees are, so having everything in the cloud can get very pricy. This is why the LAN/WAN model will probably be around for a while. LAN-wise, having a machine have the role of the desktop and the server. With the current climate of ever decreasing data caps, it may end up pricy enough for even "landline" service that one is just better of not using any cloud services whatsoever and having the backups and such handled by a device on the LAN with removable hard disks or a tape drive.

I can see one device taking up multiple roles. For example, a MS Surface can function as a tablet, a server (when docked and some drives attached), and a desktop (when docked or used with a Bluetooth keyboard.) However, until WAN bandwidth becomes inexpensive, the role of a server on the LAN may not go away anytime soon.

I think windows, especially after XP, is a total POS. Linux desktop blows it away in terms of speed, security, reliability, and everything else.

Although I hardly use it anymore, I constantly have to muck with win7 on my laptop. Badly behaved apps put crap in my start up - making the boot time even slower. Every time I boot up, or shut down, I have to wait for updates. Sound stopped working for no apparent reason, had to fix something in the registry. On and on, one thing after another.

Linux just works, and work well. After using windows, linux is like a breath of fresh air.