Open Source at TiVo
CowboyRobot writes "ACM Queue has an article by TiVo co-founder Jim Barton, in which he explains how the company relies on open source technologies to create a closed-source product. A good lesson in how other companies can do the same. From the article: Careful management of our sources to abide by the terms of the GNU General Public License while protecting our proprietary developments is a small price to pay for this benefit."
In case of slashdotting, or if you're just a lazy slashbutt, here's the complete full article source (no "Click here for next page" crap!):
From Server Room to Living Room
From Open Source
Vol. 1, No. 5 - July/August 2003
by Jim Barton
The open source movement, exemplified by the growing acceptance of Linux, is finding its way not only into corporate environments but also into a home near you. For some time now, high-end applications such as software development, computer-aided design and manufacturing, and heavy computational applications have been implemented using Linux and generic PC hardware.
Now, Linux and open source software are making inroads at the other end of the computing spectrum. TiVo, the first commercially available digital video recorder (DVR), provides an example of how embedded devices are increasingly powerful enough to support Linux as an operating system--providing a great deal of leverage to system developers.
A Brief History of Open Source
To many people, the open source movement is a recent phenomenon, springing into consciousness in the late 1990s with the creation of Netscape Navigator and the rise of the Linux operating system. The true beginnings of the open source movement, however, can be traced back to the mid-1980s.
At that time, the computer industry, as well as academia, had become enchanted with the Unix operating system1 and its variants. Computer manufacturers realized that the era of each manufacturer providing a proprietary operating system for its hardware was drawing to a close; while this strategy locked customers to a particular manufacturer, it also limited the ability to acquire new customers and cost a great deal to support.
Unix was originally developed at Bell Laboratories as a reaction to the large, complex, non-portable operating systems of the early 1970s. AT&T did not see a significant opportunity in licensing or supporting an operating system; instead, it provided Unix source code for a nominal license fee and small per-unit royalties. A number of academic efforts sprang up to take advantage of this opportunity and extend the original sources with new and interesting features.
The most famous of these efforts is the Berkeley Software Distribution (BSD) of Unix, which pioneered features such as paging and the "sockets" network abstraction. BSD Unix lives on today, but its descendants are better known, among them: FreeBSD, NetBSD, OpenBSD, and BSDi. This line of Unix development began in 19742 and the BSD developers created many features of modern Unix-based operating systems. In fact, for many years BSD versions of Unix were considered far superior to AT&T Unix in features, performance, and reliability (and many would argue BSD Unix is still the best). This is largely a result of the open and collaborative nature of BSD development at a time when Unix was a little-noticed sideline within the vast halls of AT&T.
In the mid-1980s, every computer manufacturer either provided or planned to provide a Unix-based operating system for its computers. Each company had chosen a particular version of Unix to start with, and then added various proprietary features. Although all of these operating systems claimed to be Unix, software written on one version was often not portable to the other versions.
At this same time, AT&T was breaking up into separate companies in response to a U.S. government antitrust suit, spinning off the telephone operating companies and an unregulated subsidiary. The company was trying to use its wealth of internally developed technologies as a lever to create new revenue streams. Within AT&T there was growing realization that selling and supporting Unix might be a significant new source of revenue. The company began to promote its own version of Unix as the standard for the computing industry and to enforce its intellectual property rights around the Unix trademark and source code.
The prospect of AT&T "taking control" of Unix and the