The reason I believe that it is going to be the model that wins out is that is the only way you can truly foster a community around a product. And that community is the only way that a project will be able to truly remain innovative and be able to move at the speed of technology. These are pretty amazing times that are around the corner. Hiding your development team solely in a cube farm and expecting them to be at the front of the pack is an increasingly antiquated idea.
But at what point do I stop being an advocate for open source solutions? And at these points, am I being pragmatic, or am I shielding myself from the harsh truth that more than a few of the things that I take for granted and/or hold dear are against the very principles that I hold dear?
At the micro level, I love Google Apps. I love it for myself, and I love it for my company. I proved a long time ago that I know how to set up an email server, and I hope to never have to maintain one again for large groups of users. Google is willing to dedicate teams of people and maintain acres of datacenter for just that purpose, and sell me the service for an incredibly reasonable rate. Since Google doesn't release GMail and Google Apps (or at least portions of them) under some flavor of the GPL, am I being a bad ambassador for FOSS concepts by using them?
I recently re-read an old piece written by @jimmy_wales at http://jimmywales.com/2004/10/21/free-knowledge-requires-free-software-and-free-file-formats/, from 2004. In it he states, quite eloquently that by providing information in any format that is encumbered by proprietary software or some sort of patented process, you're not making the information freely available.
If we offer information in a proprietary or patent-encumbered format, then we are not just violating our own commitment to freedom, we are forcing others who want to use our allegedly free knowledge to themselves use proprietary software.I totally get his point. But is there a point where putting this into practice in the real world would become impractical? And is that being a good citizen within the community I'm sharing knowledge, or is it simply perpetuating the problem?
And at the macro level there is the internet itself. The internet isn't run across campus labs at Stanford, Harvard, and MIT any more. The internet's lifeblood courses through Level 3, Cogent, and Verizon's fiber networks. Reading http://www.shareable.net/blog/the-next-net, this is in direct opposition to the principles of Open Source and even the premise that the Internet purports to be founded under.
Of course the Internet was never truly free, bottom-up, decentralized, or chaotic. Yes, it may have been designed with many nodes and redundancies for it to withstand a nuclear attack, but it has always been absolutely controlled by central authorities. From its Domain Name Servers to its IP addresses, the Internet depends on highly centralized mechanisms to send our packets from one place to another.And I read about Afghan people ingeniously running point-point ethernet connections through their country using what is essentially trash. And I think that's great. But I don't think that the internet is going to be made ubiquitous and truly universal by scrapping the current infrastructure and hanging an array of Pringles cans off the side of millions of chimneys worldwide. Starting up a "new net" with the proper principles and a truly decentralized architecture is a great idea. But is it going to happen from the grass roots up? Being down here in the grass roots, I don't see enough disgust or distrust with the current situation to start that fire burning. IPv6 ain't that bad...
In conclusion, I have no conclusion. But is does make me wonder. Am I being pragmatic and forward thinking, or am I being diluted by at least some level of hypocrisy just to make my life a little easier. Should I try to continue to be innovative with what I'm doing now, or get a dovecot cluster rolling and start building a WiMax antenna in my garage?