I have been contributing to the free software and open source software communities for more than 20 years. Searching back through Google, it seems my first public open source contribution was in June 1990.
One of my early major contributions was an Emacs editing mode for the VHDL hardware description language. That was accepted into the mainstream Emacs distribution in 1993, and is still in use and actively maintained today (maintainership has been transitioned to other developers who still actively use the VHDL language in their work). It was licensed under the GPL, and the copyright was assigned to the FSF. I was even able to get a subsequent employer (Motorola) to officially allow me to continue work on that mode on company time and contribute improvements back to the community. I also modified the Emacs VC package (vc.el) to comprehend the commercial ClearCase configuration management system. I am listed in the GNU Emacs Manual as a major contributor.
My foray into software for handheld and embedded devices began with the HP 200LX palmtop computer. At the time I joined the HP-LX development and user community in 1997, it was very much a binary-only shareware based development community. I had a significant influence by championing the benefits of open-source development practices, and contributed the first open source ethernet packet drivers, TCP/IP network stack, email and news clients for the HP-LX range. See http://rwhitby.hplx.net/ for an archive of that work.
After a side-trip into the world of PalmOS programming (contributing user-interaction improvement utilities for the Treo range of PDAs), I moved into the world of custom firmware for embedded networking devices.
I contributed to the Linksys WRT54G and Asus WL500g custom firmware communities for some time, including both software and hardware contributions. My dual-port serial modification for the WRT54G is widely referenced. However, in-fighting and varying interpretations of free software in the WRT54G custom firmware community caused me to look elsewhere to make a major impact.
I found that place with the Linksys NSLU2 (the “Slug”). I started the NSLU2-Linux community in July 2004, and it grew to become a significant world-wide open-source community of developers and users (see http://www.nslu2-linux.org/presentation.pdf for a historical overview of the project). There have been over 100,000 downloads of NSLU2-Linux custom firmware for the Linksys NSLU2.
My work with the Linksys NSLU2 allowed me to become a Linux kernel contributor for that device (arch/arm/mach-ixp4xx/nslu2-setup.c), and also support it as a target for the OpenWRT and Debian projects.
In 2006, my interest in open source mobile platforms was born, and I participated in the OpenMoko project, where I helped lower the barrier to entry of the OpenEmbedded build system with the MokoMakefile.
In 2009, Palm announced webOS and I founded the WebOS Internals open source development project.
I have two strong ideals when it comes to building and maintaining open source software – if it’s not in a public repository, then it doesn’t exist, and if it can’t be built automatically from source, then it doesn’t get released.