Streaming video used to be a very complicated endeavor requiring dedicated hardware and expensive software. One of the ways it has become a lot easier in the last couple of years is through the open source efforts of the VideoLAN project.
The VideoLAN project is currently made up of two core applications, the VideoLAN server (VLS) and the VideoLAN MediaPlayer/Encoder (VLC). VideoLAN handles multimedia streaming of MPEG-1, MPEG-2, MPEG-4 and DivX files, DVDs, digital satellite channels, digital terrestrial television channels, and live videos in unicast or multicast. VideoLAN supports *nix, MAC OS X, and Windows operating systems.
Read more about the winners of the 2004 Open Source Awards:
- Open Source Awards 2004
- Open Source Awards 2004: Julian Seward for Valgrind
- Open Source Awards 2004: Paul Davis for JACK
- Open Source Awards 2004: Pango
The project began seven years ago as a school project from Ecole Centrale in Paris, France. It moved to an open source license and development model two years ago. The project is now comprised of developers both at the school and in the open source community in twenty different countries. Depending on whom you ask, and when you ask the question, there are anywhere from 40 to over 180 developers that have contributed to the project.
Just after the release of VLC 0.70 (Bond – shaken not stirred?), Builder.com caught up with a number of the core developers and contributors to the project to talk via IRC about the OSA and the VideoLAN project. The principal participants were : Sam Hocevar (SAM), core developer since 1998; Clement Stenac (CS); Thomas Basset (TB); Benjamin Pracht (BP); and Derek-Jan Hartman (DJ), primary maintainer of the OS X version of VLC.
Builder.com: What was your reaction when you found out you had won an award?
SAM: I was a bit surprised because there are projects in our specific area that are more popular amongst Linux users.
BP: I think it sums up the situation quite well.
TB: SAM, that was my reaction too—what about Mplayer/Xine/Gstreamer?
CS: I shared SAM's reaction, after the first "ouaah."
SAM: …Though we have a lot of Windows and Mac OS users as well, but those are often not familiar with the concept of Open Source.
Builder.com: What makes VideoLAN unique?
SAM: I guess the fact that we are cross-platform and try to focus on the end-user helped a lot.
CS: I would say its versatility.
BP: Yes—multiplatform, some quite unusual features such as streaming.
DJ: Platform-independent, streaming capacity combined with playing is unique too. It's a solution for almost every streaming/playing situation.
SAM: From the developer's standpoint, it also has a very clean, well-commented, and extensible code base, due to its origins in the education world.
Builder.com: What has been your biggest surprise with the VideoLAN project?
SAM: The size of our Mac OS X user base.
DJ: Its ever-growing popularity. Actually, as of late, the amount of Windows users is also surprising.
CS: Yes, I am impressed each time I see the evolution for download statistics.
DJ: SAM, actually as of late, the amount of Windows users is also surprising.
TB: The concentration of the code (see http://thomas.basset.free.fr/videolan/statvlc/).
SAM: hmmm…My biggest surprise was probably the Windows port. Gildas Bazin ported VLC to Windows within weeks after our open source, Linux-only release—that was really unexpected, so soon.
Builder.com: What has been your biggest challenge?
DJ: Making VideoLAN user friendly.
SAM: Obtaining specifications for codecs and file formats. A lot of reverse engineering was involved and some of this reverse engineering is at the very border of the law in some parts of the world, and our biggest challenge may come from individuals or entities trying to stop us (using perverted legal systems, using the DMCA, the EUCD, etc.).
BP: Combining advanced features, ease of use, and maintainability is a real mess ;-)
Builder.com: What's amazing to me, is the fact that you have been able to do all this 'stuff' in your free time?! When do you sleep?
SAM: I'll sleep when I'm dead, I'll have plenty of time then :-)
TB: Some of them have quite strange days according to the stats (SAM is spectacular).
DJ: Sleeping. Yes that is a big problem.
Builder.com: So, I guess you mix your "regular" work /school with development time?
SAM: Many of us neglected school a lot because of VideoLAN.
CS: You simply don't do school work :)
DJ: I personally quite regularly miss some school :)
BP: …And sometimes the mix can be, well, problematic.
SAM: But some of us also were lucky enough to get paid to work on VideoLAN; some of us have employers who are interested in VideoLAN, and thus let them contribute during their work hours—some during internships, some during their real [work], and a few even started their own company with VideoLAN tightly tied in their business plan (anevia.com).
TB: It's quite a career model for the top developers.
Builder.com: What part of the VideoLAN project are you most proud of?
SAM: The libcaca video output! :-) I'm not exactly proud of [it], but I like the general object/thread/module system; it makes VideoLAN easy to extend.
DJ: I think the way VLC is structured is one of the nicest things.
Builder.com: What prompted the decision to move to open source?
SAM: If the decision had been ours, it would have been open source from day 0; the only trouble was that our school might have claimed they owned our code (though this would have been challengeable) and do whatever they wanted with it, so we tried to convince them that going open source was our best choice.
DJ: …And it has paid off.
Builder.com: Why has going open source 'paid off' for you?
CS: Open sourcing VideoLAN was probably the best thing that happened to the project. VideoLAN became popular in the world; we have had many more contributors; we got it [to] work on more architectures.
SAM: Our arguments were the usual ones: more external developers/contributors, more testers, also [it] increased popularity for the school, and everything that we had predicted when trying to convince the school's directors actually happened.
BP: I think that all of them proved being justified....
Builder.com: How many people do you believe are using your software?
SAM: Maybe one million users would be a reasonable guess.
CS: Version 0.7, released a few hours ago, has already been downloaded more than 13,000 times.
Builder.com: Where do you see your project going in the future? What's next for VideoLAN?
SAM: Personally I'd like to see VideoLAN ported to new platforms such as cell phones.
DJ: I think user friendliness is something we will be working on a lot in the future. VideoLAN has always been driven by what the developers like to see and do with their software.
Builder.com: What pearl of wisdom would you impart upon "Joe, jr. developer?"
SAM: Reinventing the wheel is not always bad and C++ is evil.
DJ: If it's Joe jr., I think it's important to start working on what you like. What is important to you? You may not always succeed, you may even fail, but you will learn.
SAM: Yeah also, don't hesitate to restart everything from scratch.
TB: Do not be afraid of senior developers; they'll probably be happy that someone tries (even if the try is not very successful).
SAM: Also, if you want to be successful, don't be Linux-centrist! It’s as bad as being Windows-centrist.
Builder.com: Do you guys have a real sense of teamwork? Or is it every man/woman for themselves?
SAM: It's a bit hard to speak of teamwork when many of us never even met in real life :)
DJ: There definitely is a sort of team feeling though the IRC, mailing list, and our common goal helped to create it.
SAM: Actually VLC was designed so that one could work on a specific part all alone if one wanted to.
TB: There is some team spirit (foreign developers often see Centrale's people when they come to France).
Builder.com: The only other questions that I've got then…is are you having fun, and what do you guys do for fun?
DJ: We code VLC :)
SAM: I'm definitely having fun :)
DJ: …And things like this award make it even more fun!!!
SAM: Doing something never done before is great fun. Laughing at the face of huge corporations whose software is slower and less featured than ours is fun.