With the spread of software walled gardens for smart phones, tablets and now general purpose computers, it is rapidly getting harder to write cross platform software.
Currently, it is possible for an software developer to code an application using any cross platform tool like Gtk, Qt, or Java on Linux and have users download the application and run it on Windows, Mac and Linux. That's going to get harder and harder to do.
For one, in Windows 8, you will only be able to install Metro apps from the Windows Store. You can download "legacy" applications for now, but most users will probably never go beyond the Windows Store. And on ARM, you will only be able to run Metro apps.
And now Mac OS X Mountain Lion's Gatekeeper joins in on the action by preventing the user from installing an application downloaded from the Internet. The Mac OS App Store also does not allow applications to be dependent on third party libraries like the Java runtime. A workaround would be to bundle the JRE with your application, increasing the size of your application. No idea if that would work in practise, and for how long.
Linux will always be free of course. But if only Linux users can use your software, you will be locked out from the bigger Windows and Mac software markets.
So instead of Write Once Run Everywhere, we are moving back to Write Once Port Everywhere. Back to a time when applications mostly existed on only one platform as only the biggest software vendors could afford to port their applications to multiple platforms.
Besides killing cross platform software, there are other consequences of these walled gardens:
* Software developers will lose the freedom to develop any kind of software, using any kind of technology they want. They will only be able to provide software that is approved by the "gatekeepers".
* Software developers will not be able to distribute their applications without paying the "gatekeepers" a yearly fee and/or 30% of their revenue.
* The next generation of kids will never have the joy of learning how their computer works as both the hardware and software will be locked down.
The loss of software development freedom and the loss of freedom to tinker with a computer greatly trouble me. Ironically, the companies that are now taking away these freedoms are the very same ones that were once built on them.