Three Case Studies in Community-Oriented, Open-Source Software Development
What do a Japanese PDA, a video capture card and a multimedia appliance that connects your television to the network have in common? They are all examples of specialized Linux-based devices with thriving subcultures surrounding them—communities of enthusiasts toiling nights and weekends obsessively coercing their toys into working exactly the way they want them to work. Of course, 15 years ago, Linux itself had a similar beginning.
“Hello everybody out there using minix—I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.” Not satisfied with the manufacturer's choices, Linus Torvalds wanted to use his Intel-based computer on his terms. He started hacking, and then he used these simple words to reach out to the world, announcing his achievement and attracting helpers. Does this spirit live on today?
July 4, 2005. Eerily, once again, the IVTV developers have made a release right as I picked up the project. Maybe I should wait it out a bit until things settle down. Their progress fluctuates—first the audio isn't right, then the video looks bad. The install script sure is easier this time—no more mysterious sequence of modprobes to get things working. The main guy working on this doesn't even have the same model as I do—how does he do it?
So continues one of my typical holiday or weekend ventures into a randomly discovered Linux project. In this article, in addition to profiling a few specific Linux-friendly products and project accomplishments, I also provide a brief survey of some Open Source communities encompassing them, with a focus on one prominent person in each community.
First, I start with a Microsoft Windows product—the prefix and suffix in its model number both describe its target market. The WinTv PVR-150MCE by Hauppauge is a TV tuner and a video capture card. Directly storing broadcast-quality video is impractical with current technology. Even if your hard drive's throughput is sufficient to receive the data, your available storage space will be quickly consumed. MPEG-2 compression, the same as used by the DVD standard, eases the requirements considerably, using less storage space and decreasing the streaming rate to a more manageable 6Mbps. Moderate compromises in quality reduces the storage requirements to 2G or less per hour of video. Compressing video is computationally intensive and taxes the fastest processors, but the PVR-150MCE gets around this by using its MPEG-2 encoder hardware, relieving your system from the time consuming chore of compressing data. So, you can record compressed video in real time using modest hardware. It costs less than $100 US, and if you don't already know why I am describing a Windows Media Center Edition (MCE) product in a magazine about Linux, you will after reading the next paragraph.
IVTV is a project that allows Conexant-based video capture devices to run under Linux. The PVR-150MCE is but one of several in a family of cards based on the Conexant chipset. Hauppauge makes many of these cards, but several other manufacturers produce cards based on Conexant. Around 12 different cards are expected to work now or in a future version of the driver. By the way, the name IVTV is pronounced “Ivy TV”. It is not an acronym, but was inspired by an early Conexant model number, iTVC15. Other manufacturers who make compatible cards include Yuan, Avermedia and Adaptec. Please see the IVTV Web site (see the on-line Resources) for details. Although they have the same core chipset, these cards are by no means identical, and supporting all the subtle permutations is easier said than done. In extreme cases, you might even have to travel across the Atlantic to experience the differences.
In addition to several different models of these cards, both the European PAL and the US NTSC video standards are supported. Testing both of these signals is especially tricky, because a given developer has easy access only to one of these sources of video. This group has coordinated internationally to provide good support for both. Is this just the matter of flipping a bit somewhere in the source? Or are they exploiting the fact that light travels around the globe in microseconds and that a developer in Europe is going to bed around the time his US counterpart is awakening? A Netherlands-based developer's request for an NTSC modulator leads me to believe the latter.
The lead developer for this project, Chris, welcomes donations:
I have been maintaining the IVTV driver since around December 2003, keeping all patches merged and also have reverse engineered the DMA, and redesigned the internal parts of the driver to allow growth and stability. I have devoted many hours to IVTV, often more than 40 hours a week in the past, and hope to continue work like this into the future. I have recently divorced, have a need for income since most is taken now, and would appreciate any donations to help and hopefully my work on the driver helps you too. I have a lot of fun working on the driver and am glad to be able to provide this service to people in getting the MPEG-2 encoding chip working the best it possibly can on these WinTV/etc. pci cards.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- Stunnel Security for Oracle
- SourceClear Open
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Google's SwiftShader Released
- Non-Linux FOSS: Caffeine!
- Parsing an RSS News Feed with a Bash Script
- Doing for User Space What We Did for Kernel Space
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide