Three Case Studies in Community-Oriented, Open-Source Software Development
Next, the MediaMVP is a solid-state device with an Ethernet jack, S-Video/Composite outputs and stereo RCA audio. For around $100 US, you can telnet in to a box running Linux that plugs into your TV. Well, almost. Before you can telnet in, you probably will need to install mvpmc.
Setup for this project is well documented, but it isn't trivial. It involves setting up a DHCP server and a TFTP server for delivering the alternative bootloader to the device. You probably also want to export one or more NFS shares to provide content to the device. Building the source involves setting up a cross-compiler, unless your gcc happens to target the powerpc-405-linux-uclibc architecture. Nightly automated builds are also available as an alternative to cross-compiling the source.
The reward for this hard work is that you can browse your filesystem for multimedia files or stream video from MythTV using a device that has no moving parts and no concerns about overheating or fan noise.
For nearly two years, Jon, a professional firmware engineer living in the United States, has tirelessly checked in improvements and responded to questions on the project's mailing lists. In response to the question, “Jon, did you ever consider accepting donations for this project via SourceForge?” he sums up a common but noble attitude: “No. I'd prefer it if people would send me code instead of money. Or hardware, if you want something supported that I wouldn't otherwise buy.”
Finally, if your definition of a personal information manager includes the latest version of Emacs that you compiled yourself, then the Sharp SL-C3100 could be a dream come true. Sharp sells this versatile (think modest laptop that fits in your shirt pocket) product only in Japan, but a lively community has developed around it, many of whom import the $800 US device directly from Japan. It is an awesome machine—a 640x480 VGA display, 4G microdrive storage, in a clamshell case with a QWERTY keyboard, USB, CF and SD. A testament to its Japanese roots, it omits Bluetooth and Wi-Fi, as those wireless protocols are less ubiquitous in that market. The community offers advice ranging from tips on importing to practical experience with particular hardware compatibility.
The Zaurus has tremendous potential, but is not necessarily easy. There seems to be a trade-off between functionality and stability. Seeking the latest software can be rewarding. So whether you perceive it as half full or half empty, and whether you buy one and where you buy it are personal decisions. For warranty repairs, the unit would need to be returned to Japan. Who pays the shipping and handling costs? It depends on whether you purchase one from a value-added reseller or from a no-frills exporter. The community can help you with this choice. By the way, if you import it yourself, you might find the Japanese version of “tap the screen to get started” a bit intimidating, and you will probably need to take advantage of an English translation. Again, the Zaurus community has exploited the speed of light to overcome many international barriers—step by step guides to navigating the foreign instructions are readily available.
Zaurus dominates discussions on the Open Embedded Software Foundation (OESF) forums. There you will probably meet “Meanie”, a prolific advocate for Sharp/Linux from Australia. He has captured the essence of Zaurus ownership in a series of Web pages that detail his customizations and enhancements. Meanie's hard work let me vicariously assess the product before committing to its purchase. In a recent posting, he alerts us that he fried his $800 Zaurus SL-C3000 when using a generic USB cable. The community recognizes his valuable presence and offers to help, but he turns down their repeated offers to chip in to buy him a replacement. Instead, he chronicles his purchase of a newer model Zaurus SL-C3100 plus suggests that well-wishers donate to his favorite Zaurus developer.
But sometimes a little financial support goes a long way. Consider this request from pdaXrom, a popular Zaurus subproject: “Did you know? That our main programmer needs only a monthly total of $200 US to keep all his bills paid and thereby keeping focus on developing....”
So, why these particular products? They happen to be three of my own personal latest technology purchases. I did my research before buying them, and I am certainly biased towards Linux products, but otherwise, these communities were chosen fairly arbitrarily. In case you are wondering, yes, they work together smoothly. I can use my Zaurus PDA's Web browser to access MythTV and select a program to record using my PVR-150MCE, and I can also use it to telnet into my MediaMVP for debugging, exploration and upgrades. (The actual video playback is initiated by the remote control.) More importantly, after some grueling transcoding, I can bypass the MediaMVP and watch SpongeBob SquarePants on the 3.7 inch screen.
Hauppauge has been commendably supportive by providing solid documentation and allowing redistribution of its copyrighted firmware, simplifying installation. This demonstrates the company's progressive values as well as the diligent communication from the IVTV developers. So don't let the questionably redundant product name dissuade you from considering this device. Who knows, maybe someday Hauppauge will re-brand this card with a name like “LinTv PVR-150 MythTV Edition”.
Sharp has complemented its hardware with GPL software and has, of course, followed through by supplying source for its derivative work. On top of that, it has encouraged developers with documentation and occasional promotions. Let's hope future versions of the Zaurus will again be directly promoted outside of the Japanese market.
Two of these projects benefit directly from the GPL's stringent requirements. I am not being a zealot—I have personally found occasions where other licenses were effective and convenient—but it is hard to imagine these manufacturers releasing source code if they were not obligated.
All of these projects are successful because they have passionate individuals banded together in a community. These individuals are otherwise ordinary developers who have become involved in these projects and are now key members of thriving project communities.
The people running these projects are not just sitting at home ranting on Slashdot—they are spending their time creatively, showing the discipline to do the next right thing in order to develop great products systematically for the world to enjoy freely. They are skilled technicians who have become community leaders, patiently and quickly answering questions and offering advice.
These communities are focused and not burdened by formality. It is a practical affair—typically, you come to the community with a specific problem and it supplies answers. I personally tend to lurk—scouring the forums until I find the answer to my problem, then slinking away. Perhaps, instead of slinking, it would be better for all if I posted a quick “thank you” message, something to the effect of, “Thanks for this valuable resource; I was able to find the answer to my question of XYZ by reading through the past threads. By the way, the answer is ABC, in case someone stumbles onto this message while in search of it.”
How can you support these and similar projects? If the answer is not already posted in a FAQ, start by asking! There is no single answer—as noted here, some projects actively seek financial support while others shun it. Be sure to pay attention to any advertisements on the various sites and visit their sponsors (when appropriate). Study the community for a bit, and if it seems right, try jumping in.
Resources for this article: /article/8718.
Randall Embry (email@example.com) is an employee of Indiana University paid to develop open-source software for higher education. He has worked on the Sakai course management system and the OSP electronic portfolio. He is now a development manager for the Kuali financial information system.
- Readers' Choice Awards--Nominate Your Apps & Gadgets Now!
- Memory Ordering in Modern Microprocessors, Part I
- Tech Tip: Really Simple HTTP Server with Python
- diff -u: What's New in Kernel Development
- Source Code Scanners for Better Code
- RSS Feeds
- Returning Values from Bash Functions
- Security Hardening with Ansible
- Non-Linux FOSS: AutoHotkey