Thursday, October 19, 2006

Flash player, development, and the silly FOSS community.

The Flash player beta is live for linux. I am quite pleased that this piece of software is finally available for linux. Though when I saw the blog posting about this going live and I saw the two versions of the player something struck me.

There is a moz plugin and there is a standalone GTK player. I decided to do a little digging and see what dependencies this baby had. What did I find out. I found out that as linux goes it has as close to none as is practically possible. It uses video4linux for video output, it uses basic alsa, X11, GTK, POSIX threads and BSD sockets for non HTTP connections, it also uses openSSL. Now many of these dependencies are for specific features like the video4lin is for webcam input. Most flash doesn't need this. Similarly I imagine computers without some of the later listings would still run the plugin until you tried to use the specific functionality.

This highlights something that really kind of bothers me about how the community has treated Adobe during this process, and it highlights one of the strengths of the closed source development model. This baby will run on just about anything under the sun. I mean really just about anything. Find my a KDE user who is enough of a purist to not have GTK installed on their system. Let's be honest when you think about the history of Qt and Gnome's inception you can venture a guess that they have the lion's share of the purists anyway. So why is this so special, because if this plugin had been developed openly it likely would have used extra development libraries to make things "easier". Would it have gotten out faster, well you bet it would have, and it would have been a beautiful plugin for the people running the distros that properly supported it. Or people running distros that it got into the repositories right away. But even with apt, there have been times, more frequent than I like to list where I have tried to install something and the dependencies weren't in the standard repositories that came listed in my distro, so I had to go in and hunt down new ones that had the required files. This is unacceptable. I am all for distros maintaining quality and perhaps even setting up the version of synaptic on their distro to alert you when you are downloading packages from somewhere other than their main repository, but they should still come connected to a truly comprehensive respository.

The flash plugin avoids all of this, and why do you ask, well likely because the Adobe people reinvented the wheel making the thing. They likely produced all sorts of fun crazy functions and classes that have functionality elsewhere and as a result the program is probably larger than it needs to be, and took a lot longer to get out the door than was necessary, but you know what? I don't care, because it isn't going to be a superior or easier experience on one modern distro than another. It's going to just work, and while I respect the open source development process, and I think it should continue, I wish the FOSS community would start encouraging some closed software where it's appropriate. I like closed and open software. The open software I use, I only use because it is better software. That whole "I don't own a DVD player because it uses CSS" bull that Stallman rants about is in my opinion silly. Open software is a really really good thing. It keeps an open sofware ecosystem, and active software ecosystem, and it keeps the commercial guys on their toes. If it were superior in every way there would be a flash equivalent out. GIMP would be as good as Photoshop, and Blender would be as easy to use as Rhino.

I use GIMP regularly, and I think Blender has come a long way. They are both wonderful programs, but they do not stand up to their commercial counterparts. And the day someone in the open source community takes on Flash I will throw a big ole' here's to the vain hope you keep your sanity party for them. I don't mean vector, I mean a complete open source package integrating vector, and interactivity with a scripting language as dynamic and powerful as actionscript. There isn't even an inferior attempt at this one because no one has been crazy enough to try it.

So give the commercial guys a break, especially when they decide to support us. Maybe if we supported them some the reciprocation would happen more often.

No comments: