One man writes Linux drivers for 235 USB webcams

A LONE HOBBYIST programmer sitting at his home in France is responsible for adding 235 USB webcams to the list
of those supported by Linux. He tells the INQUIRER about this often unknown and unrecognised achievement.

Near three years ago, I purchased the cheapest USB webcams - actually, pair - I could find at the time, without
taking into consideration whether those webcams worked with Linux or not. I ran one desktop PC with Win2K and one of
the webcams was plugged to that box. I quickly found out several things: first, "Made in China" webcams surely are
cheap, but that comes at a price of often having no support web site, no physical address of the manufacturer, and no
updates to its drivers. The Win2K drivers for the "DigiGR8" 301P had apparently a memory leak under Win2k, forcing me
to reboot the win2k box on a daily basis. Basically it just stopped working after a dozen hours of continuous use, and
rebooting was the only solution.

I then concluded I had enough with Win2K and decided to install my Linux distro of choice - back then Sun
Microsystem's ill-fated Java Desktop System for Linux R2. It soon became evident that the device was a power-sucking
brick as far as Linux compatibility was concerned. After finding the chipset used by the webcam and writing to both the
chipset manufacturer and the webcam builder and receiving no reply whatsoever, I was on my own. I asked on the
newsgroups, and was told that the ZC0301 chipset, manufactured by "Z-Star Corp" -a firm now
apparently going by the name Vimicro Corp- was on the "Linux (in)compatibility list".

All 235 low-cost webcams supported in Linux thanks to... this man

Imagine my surprise when, by pure chance, I found out last week that there are now Linux drivers for hundreds of
those cheap "Made in China" webcams with strange brand names and a Vimicro chipset inside. The surprise was more
shocking when I realized that drivers for 235 webcams - at the time of this writing - are the work of a single unknown
hero who works from his home in France, does so with no corporate sponsorship, and what's even more outrageous, very
few people know about the existence of those drivers and about the person behind them.

Project web page showing some of the supported USB Webcam chipsets

More webcams supported

...near the end of the list.

FC: Who are you and what do you do?
MX: My name is Michel Xhaard, I am a Physician and work in Doppler and Ultrasound imaging for years. I am now
near 60 years old.

FC: Interesting, as it kind of breaks the "young school kit" stereotype of the Linux advocates. When did you
start in this project and why?.
MX: I started working on the
"spca50x" project in 2003, when I bought two webcams for my daughters for
Christmas but there was no support under Linux for those.

FC: So you decided to take matters in your own hands. How did you know where to start?
MX: After asking the
gPhoto team, Till Adam (http://hubbahubba.de/) and Thomas G.
(http://home.tiscali.dk/tomasgc/labtec/) provided me with some useful help to start. Few weeks later we had full
support of the Sunplus spca504b chipset in Gphoto -userspace picture support- and Spca50x for video streaming.

FC: So how did the ice ball grow to reach today's 253+ webcams supported with several different chipsets?
MX: Starting with the Sunplus chipset support, I realised that most code in the core driver could be "shareable"
to support several webcam chipset(s). That is why the "GSPCA" drivers now support over 250 webcams from different
chipset vendors.

FC: May I ask you why you decided to host your project web site on Free.FR? Don't you think Sourceforge.Net or
other such OSS project repository would be more appropriate? What if Free.FR disappears?. In a sense, don't you think
it's as risky as hosting an OSS project on Geocities or Tripod?
MX: I like "free.fr" because it is, well, free :) Have you seen the same content in Geocities.com or tripod.com
??. Check out ftp://ftp.free.fr/pub/
Also, you can be sure that "free.fr" will not disappear. I personally don't like Sourceforge.net because it can
be at times too slow, and there's a lot of dead projects ...

FC: Are you aware that your site is not very well indexed?. I came across not one but three pages claiming that
the ZC0301 was not supported, or that there was a Linux driver project, which got abandoned (true, but outdated). Don't
you think that having a domain name would help?
MX: Yes.

FC: How do you feel knowing that there are a few really big corporations with million dollar budgets all
peddling Linux, and you do all this critical work of helping Linux gain webcams support -by the hundreds!-, yet
not a single one of those big firms has decided to formally sponsor your work?
MX: my work is not "Linux Kernel centred" my goal is to provided video input support for Linux users, and I am
not sure that these big companies are interested in the end user :).

FC: well, I think they should. Google does, for instance, since they bought this Nordic firm days ago which does
cross-platform video conferencing software in Java. So if they want everyone to do video conferencing regardless of OS,
drivers suddenly is an issue. OK, you won't say it but I will: shame on RedHat, Novell, Linspire, and IBM, to name just
a few, for not caring about this. Is there anything you want to add?.
MX: Yes, that despite the old picture you are going to use on the article, notice that I stopped smoking in June
2006. :) [I'm sure Mr. Ballmer will be sending you tons of tobacco after reading this article]. :)

FC: Thanks very much Michel for your time, and for the drivers as well. I see that the ZC0301P chipset used in
my "DigiGR8" webcam is listed, but I haven't been able to make my webcam work yet, so let's cut the chat and start the
(virtual) hair-pulling exercise.
MX: You're welcome. µ