The whole thing about whether Flash should be open-sourced has come up again - Ryan Stewart's summarised it pretty well on his
blog post.
One argument for open-sourcing is that such an important platform (and it'll be getting
more and more important) should not be controlled by a single, commercial entity, who god forbid, may decide to charge for it in the future. This argument used to apply mainly to the evil Microsoft empire, for its various formats and players, most recently being HD Photo. Its an argument that the open-source community wheel out for almost everything proprietary. In some cases, fine maybe it is a valid threat (e.g. Apple and Quicktime). But seriously, Adobe? It makes millions of dollars in sales from selling its Flash development environment, and the player has always be free for PCs and other platforms like Mac, Linux, Solaris (not sure for Flash Lite, the platform for mobile devices). Along with PDF, Flash is one of the most widely distributed multi-platform players. It is one of the few platforms, Java and HTML/JS/AJAX being the other big ones, that runs the same across all the popular operating systems. There is no reason for it to stifle this growth and adoption - it'll mean death to nearly its entire web push.
Now, assume that Flash became the new HTML, that is, it became the new language for the web. WPF/E and AJAX trail behind. Adobe is now in a position to charge for Flash, and extort millions more from everyone who's web experience is dependent on Flash right? Not necessarily. A certain gullible set of people will, as well the rich ones and others who need it desperately, but the vast majority of us will remain on the last free version of Flash. The web development community will realise that, and design accordingly, and in the long run, change tact and use the various other free options, like AJAX,
WPF/E,
OpenLaszlo,
Morfik (just realised they're an Aussie company, and of all places, located in Tassie

- good on ya guys!) or the many other frameworks that will pop up, open-source or not. Web development moves that quickly anyway, look at myspace - its moved from perl, to ColdFusion, to ASP.NET now. New sites have popped up, old ones have died or been reinvented. So who loses out in the end? Adobe.
Then there's the argument that a
single company controlling it prevents real innovation. This is true - the brainpower of the community is far greater than the brainpower of a single company. Adobe could do better to openly ask and faciliate various requests that web developers have (first thing that comes to mind is a digg-like site, like Dell and Yahoo have done, but surely Adobe could do better than that). But there in lies the problem with open-source. Developers are a cocky and tricky bunch, especially open-source ones. If they believe enough in their idea yet it gets rejected by the leading team (how is that decided?), or if they have a grudge or any other reason, they can easily create a fork of the open-source project and start going in their own direction. Nothing can stop them. Ok, maybe I exaggerated slightly, but it does happen. Not a very good example, but look at CMSes
joomla and
Mambo.
What's wrong with this? Well, the brand and platform is diluted. You have two very similar but slightly different projects going on that are mostly compatible, but begin to grow further apart. That results in confusion for developers, who have to work out which one is better, and more importantly, for users, who already couldn't care less about what Flash is. We'll end up with a situation like Linux at the moment - with hundreds of different distributions all vying for the users attention, all slightly different. The user installs one variation of Flash, only to go to another site and need another variation of Flash. Or worse, they'll go to another site and it'll turn out mangled because of their particular version of Flash, the user thinks its the site's fault and never returns. Confusion reigns, and sooner or later there's be subtle conflicts occurring between the installed plugins resulting in weird browser crashes. With so many incompatible projects, it just destroys one of the biggest advantages of Flash - its simplicity and cross-platform compatibility.
Ok, how about if we standardised Flash, then we can have many open-sourced Flash players out there yet everything will still work. Well, as all web developers will know, you only have to look at the disaster that is HTML, CSS & JS to see what the problem is. You'll end up with subtle incompatibilities between various Flash players so web devs will have to start hacking around and adding player-checking routines. Some will implement specific-player only functions, others will implement them in a different way. Ultimately, standards, just like laws, are just words on paper. There are hundreds of different ways of turning those words into reality, and with no binding agreement that a certain standard and its updates have to be followed, there is no way to ensure standards are followed in exactly the way that the words were intended.
Don't get me wrong, open-source has done wonders for the software world, and there are many great open-source projects out there that provide great alternatives. But some things just weren't meant to be open-sourced, and that applies to platforms, whether it be an application platform like an OS, or a web app platform like Flash or Apollo. Sometimes, its better if one entity has control of it, because at least then we know that there'll only be one version to code against. The more open that entity is, the better, but open-source is not the answer to everything.
That said, it'll be interesting to watch how the new open-sourced Java will eventuate. And it's worth noting that
PHP and
python are both open-source languages, yet seems to work quite well without too many forks. Maybe its just a big risk that may never turn out to be anything bad for the platform, but are the advantages appealing enough for Adobe to take that risk?
P.S. Forgot to mention that there's actually an open-source project going on to replicate the Flash player, called
Gnash.