UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #168, April 2008

Dave Jones has tracked down every available kernel release, prerelease, release-candidate and what-not, right down to Linux version 0.01, and created a 2GB git repository of the whole thing, at git://git.kernel.org/pub/scm/linux/kernel/git/davej/history.git. For almost half of the thousand or so commits, Dave also has scoured the mailing lists and retrieved changelog entries. This represents the most complete Linux repository ever compiled, although unfortunately, it does seem as though some kernel versions have been truly lost forever. Also, unlike current kernel development, Dave's repository does not have a patch-by-patch accounting of every change, because no record was ever kept of those individual changes. Only the versions actually released by Linus Torvalds have come down to us, each of which represents dozens or hundreds of individual patches, mashed together as one. Given the wacky nature of some of these kernel hackers, it's possible that various folks will try to correct and expand Dave's repository during the coming years, and there's no telling how detailed it might become over time. Linus has volunteered to recompose changelog entries from memory, if other people do the work of gathering the patches together. Now Dave has a big pile of commits ready for Linus to make good on; once he's done with that, maybe someone will have more commits for him to comment on. In the meantime, Dave already has accomplished something of tremendous benefit to anyone interested in the history of kernel development.

Pavel Machek has started a daring attempt to give Linux systems the ability to go to sleep in response to one desired event and to wake up in response to another. The path is fraught with difficulties—the main one being the plethora of hardware in the world, all with different bugs and behaviors. Trying to support this feature universally will be like threading a very strange and complicated needle. Most of the early comments from other kernel folks were along the lines of “this can't be done”—to which Pavel essentially responded, “well, not fully, no, but this really cool part might be doable”. So, by the end of the discussion, various folks ended up suggesting other really cool parts that might be doable as well. All in all, it looks to be a very piecemeal project, but one with fun results. Pavel envisions a system that might wake up playing particular MP3s in the morning or if particular network traffic comes down the wire. With so many folks starting to show interest, it may turn out that the whole thing is doable, one way or the other.

Borislav Petkov has taken over maintainership of the IDE-CD driver, in the wake of a major code reworking by Bartlomiej Zolnierkiewicz. Bartlomiej had done this as a one-off, just to bring the driver back into a maintainable state. Because it hadn't had a maintainer for quite a while, all the fixes and other changes going into it had tended to make the code uglier and more difficult to understand. Bartlomiej's work cleaned up the code and also made it easier for the libata ATAPI developers and others to identify all the hardware special cases they'll need to code around in their own projects. With the driver now in a workable state, Borislav should have a fairly straightforward time carrying it along.

There have been some other maintainership changes recently. Hans-Jurgen Koch has teamed up with Greg Kroah-Hartman as co-maintainers of UIO (Userspace Input/Output). Swen Schillig also recently stepped down as the zFCP maintainer, saying the project was about to undergo a major rewrite, and he didn't have time to shepherd it through that. Instead, he's patched the MAINTAINERS file to list Christof Schmitt and Miartin Peschke as the new co-maintainers during the rewrite, although they probably will continue to be the maintainers after the new code settles. Additionally, Joe Perches has removed the TMS380 Token-Ring Network Driver entry from the MAINTAINERS file, formerly maintained by Adam Fritzler.

While Joe was making that change, he also updated Adam's e-mail address wherever it appeared in the kernel tree. As a result of this, Andrew Morton initiated a new policy of keeping all contributor e-mail addresses in a single location, giving their names in the various files they touched, so that if an address changed, it would need to be updated only in one place. Joe fixed all the cases involving Adam.

A variety of new drivers has been submitted into the kernel. Some of these have been written recently, and others have been marinating in various forked trees until now. David Sterba's 3G UMTS PCMCIA card wireless driver has been in Andrew Morton's -mm tree for a while, and he recently submitted it to Linus Torvalds for inclusion in the main tree. After various technical comments from a few different folks, Andrew endorsed the patch and passed it up to Linus. Some code submissions this month came from longer ago than that. Harald Welte unearthed some work by Thomas Kleffel to support the Samsung S3C24xx SD/MMC controller. Thomas' work had never made it into the kernel proper and had grown a bit stale in the intervening years. Harald had brought it up to date with the current tree and the relevant APIs. He and Thomas planned to share maintainership once the code was accepted formally. And, Andrzej Zaborowski submitted the OMAP1 PWL-based LCD backlight driver to Linus, after it had lived for some time in the OMAP tree.

Other driver submissions were more genuinely new than David's, Andrzej's and Harald's work. Thomas Bogendoerfer submitted a new serial driver for SC2681/SC2691 UARTs, used in some older SNI RM400 systems. Alex Dubov submitted a patch to support Sony's Memory Stick card, in spite of the card using a proprietary, unpublished protocol. Speaking of supporting proprietary hardware, Adrian McMenamin wrote a CD-ROM driver for the SEGA Dreamcast. The driver supports the proprietary Giga Disk ROM format (aka GD-ROM).

Among the numerous new drivers submitted this time around, several of them were for system-monitoring systems. Jochen Friedrich's submission supports the watchdog timer on Power QUICC hardware. This driver reboots the system if it is not touched periodically by software (that is, if the system has crashed). Darrick J. Wong wrote a driver to support tracking volt, temperature and fan sensor readings on the ADT 7473 monitor chip. And, Steve Hardy submitted code to support the Burr-Brown/Texas-Instruments ADS7972 12-bit, eight-channel A-D converter, which monitors voltage on various off-the-shelf CPUs.

LJ Index, April 2008

1. Thousands of Linux-based ASUS Eee PCs the company hoped to sell by the end of 2007: 300

2. Thousands of ASUS Eee PCs the company actually sold by the end of 2007: 350

3. Thousands of Ubuntu-based NComputing thin clients to be deployed to students at schools in Macedonia: 180

4. Estimated hundreds of dollars in cost per student for the above clients: 1

5. Percentage of schools in Macedonia covered by the NComputing deal: 100

6. Number of rural North Carolina schools deploying NComputing's Linux-based desktop virtualization: 25

7. Thousands of NComputing systems deployed in the above schools: 13

8. Thousands of NComputing systems deployed worldwide: 500

9. Thousands of organizations using NComputing systems: 13

10. Minimum power consumption percentage savings estimated by NComputing for its systems: 70

11. Maximum power consumption percentage savings estimated by NComputing for its systems: 90

12. Percentage of Americans who learn about political campaigns from the Internet: 24

13. Percentage of Americans who sourced the Net for politics four years earlier: 13

14. Percentage of 18–29-year-old Americans who learn about political campaigns from the Net: 42

15. Percentage of 18–29-year-old Americans who learned about political campaigns from the Net in 2004: 20

16. Position of the Net among all news sources on political campaigns for 18–29-year-old Americans: 1

17. Number of Linux-based hosting companies among Netcraft's top five most reliable for November 2007: 3

18. Number of Linux-based hosting companies among Netcraft's top two most reliable for November 2007: 2

19. Number of open-source-based (Linux, BSD) hosting companies among Netcraft's top ten most reliable for November 2007: 7

20. Number of open-source-based (Linux, BSD, Solaris) hosting companies among Netcraft's top 50 most reliable for November 2007: 30

1, 2: Mobile Magazine

3: NComputing and DesktopLinux.com

4: NComputing, DesktopLinux.com and Engadget

5–11: NComputing

12–16: PewInternet.org

17–20: Netcraft.com

Linus on Linux

Doc Searls

Issue #168, April 2008

In January 2008, Linus Torvalds was interviewed by Jim Zemlin for the inaugural podcast of the Linux Foundation, for which both Linus and Jim now work. Here are a few excerpts from a transcript of their dialogue, organized under headings that highlight what's changed, what hasn't and what never will, as long as Linus is leading Linux.

“I have a policy that he who does the code gets to decide....But at the end of the day, the only thing that matters is actual code and the technology itself. And the people who are not willing to step up and write that code, they can comment on it and they can say it should be done this way or that way or they won't, but in the end, their voice doesn't matter. The only thing that matters is code.”

“...it doesn't matter at all who you work for pretty much because nobody really cares.”

“...if you're in a tech company and you have interest in something like the Linux kernel, the reason you have interest in the Linux kernel probably has something to do with the kind of people you have working for you.”

“I think most companies have slowly started to learn...”

“...one misleading thing is thinking that people kind of share ideals and goals, and that's not true. It's quite often the case that people have completely different goals; you have commercial vendors who have their very clear commercial goals and in the Open Source, so-called community, you often find individuals who really don't like commercial entities, especially not the big ones. So, quite often, the goals are very different.”

“Trust either comes or it does not come and it largely depends on your actions.”

“...it used to be a huge issue when companies kind of were talking about 'How do we interact with the community?'”

“...when the real answer always ends up being you don't interact with the community, you just act as a member of this non-existent community.”

“...you don't interact with it, you are part of it.”

“I think the thing that more people worry about is actually interfaces.”

“It makes more of a difference that the way you connect to a mobile phone is different from the way you connect to a desktop. You have a very limited keyboard, you have touchscreen issues, you have a very small screen, and I think the bigger issues tend to be in things like the UI interfaces.”

“The lack of an ABI is twofold: one is we really, really, really don't want one. Every single time people ask for a stable ABI, the main reason for wanting a stable ABI is they want to have their binary drivers and they don't want to give out source and they...certainly don't want to merge that source into the stable kernel or the standard kernel.”

“And that, in turn, means that all the people who actually do all the kernel work and maintain the kernel are basically unable to work with that piece of hardware and that vendor because if there's any bugs whatsoever, we can't fix them.”

“So, all the commercial vendors—even the ones who used to accept binary drivers—have moved or are moving away from wanting to have anything at all to do with binary drivers because they're completely unmaintainable.”

“...other projects...have binary interfaces for one reason or another—quite often because of commercial reasons—and that just means that they cannot fix their fundamental design.”

“You need to have the code out there, not because of any social issues, but simply because you don't know who's going to be the one who has to fix it.”

“There are certainly specific vendors who end up having more problems than others. In fact, sometimes the same vendor may be very good in one area and very bad in another area.”

“Broadcom is an example of this. They are—they have actually been fairly good when it comes to high-end gigabit network devices, wired network devices, but...when it comes to wireless networks and other more consumer devices, they've been completely unable or unwilling to help us at all.”

“I'm fairly pragmatic, so I don't care, per se, about one particular license or another. I want to pick the license that makes the most sense for what I want to do. And at this point in time, Version 2 matches what I think we want to do much, much better than Version 3.”

“...the GPL Version 3 reflects the FSF's goals and the GPL Version 2 pretty closely matches what I think a license should do and so right now Version 2 is where the kernel is.”

“Could there be something that happens to change that? Maybe.”

“...I cannot change the license on my own anymore. I mean, because I have accepted code over the last 15 years by people who kind of accepted my original choice of the GPL Version 2, I'm not just, I think, ethically bound by those people's choices. I am also actually legally bound.”

“...it's just a lot of fun working with people; even though, I mean, I sit in my basement all day long and actually don't meet anybody at all, but what I do is essentially communicate and it is very social...”

“...what drives, motivates me is the fun part. I mean, part of being fun is that it should be difficult enough to not be trivial. So, fun doesn't mean that it's frivolous; it just means it's interesting and exciting.”

For more, visit linux-foundation.org.

They Said It

Life is short enough without imposing corporate metrics onto your friends.

And I keep on fighting for the things I want Though I know that when you're dead you can't But I'd rather be a free man in my grave Than living as a puppet or a slave

Creative geniuses stumble; they trip; they make horrible mistakes. Their highest and most acclaimed successes are constructed on the low rubble of humiliating failures.

The chances are that, in the course of his lifetime, the major poet will write more bad poems than the minor.

Let's Call It a UVPC

Doc Searls

Issue #168, April 2008

Technically, the Noahpad from E-Lead Electronic is a Linux-based UMPC, or an Ultra-Mobile PC. Generally speaking, a UMPC is smaller than a notepad and bigger than a Mobile Internet Device (MID). But, in fact, the Noahpad is so versatile and odd, it may deserve another category entirely.

The E-Lead Noahpad UMPC (ultra-mobile PC) runs on Linux.

Let's start with the keyboard. Its two springy squares are divided into what you might call a bingo grid (5x5) of keys, all printed on the square and separated by raised dark lines. These serve to keep your fingers on the “keys”—an alternative to the conventional approach, which orients touch via spaces between keys and convex bowls for your fingertips. Thus, the Noahpad has just two (barely) moving “keyboard” parts, even though the two squares also add 50 function keys to the usual QWERTY lineup.

But, that's not the half of it. Both squares are touchpads—big ones. You can go from typing to pointing without leaving the two pads. Navigation is also novel. For example, you can use the touchpad to move around the window view, expanding the perimeter of the screen desktop beyond the borders of the screen itself.

Speaking of which, the 7" backlit 1040x768 display also is a touchscreen, and it can pivot and flip around both sides of the base to become a writing pad, a display or...you decide. E-Lead suggests many possible Noahpad uses: a car GPS (with a larger screen than just about every standard built-in or aftermarket GPS), a “hangable” multimedia player, a digital photo frame and even a jogging companion. “Classmate, roommate, travelmate”, the slogan goes.

Tech details: 1GHz VIA Eden CPU, 512MB of RAM, 30GB HD, 300k pixel cam, Bluetooth, “Ethernet 10m/100M USB to RJ45 dongle”, 802.11b/g, external 3.5g compatibility, Wi-Fi and Ubuntu 7.10. For more information, visit www.noahpad.com.

Get Your News at LinuxJournal.com

Katherine Druckman

Issue #168, April 2008

LinuxJournal.com's News Editor, Justin Ryan, brings you the best Linux-related news every weekday. He digs through mountains of information to bring us the most interesting, thought-provoking and sometimes funniest news happening in the world of technology. He wades through it all, and delivers it with the wit and charm you have undoubtedly come to expect from LinuxJournal.com.

We invite you to visit us each day for your dose of Linux insight and to subscribe to our news-only RSS feed at www.linuxjournal.com/breaking_news/feed.

Make sure you join in the discussions on LinuxJournal.com. Whether in the news section, or any other, the lively discourse is sure to inspire, amuse, frustrate or enlighten, and either way, you'll want in on the conversation.

What Are They Using?

Doc Searls

Issue #168, April 2008

Angel Roman is a 24-year-old star software architect with the Bug Labs team in New York. Bug Labs (subject of an UpFront piece in the December 2007 issue of LJ) is becoming familiar in Linux circles as a hack-ready DIY hardware development and assembly system. At the Consumer Electronics Show in January 2008, I got some hang-time with the Bug Labs people and was especially impressed not just with Angel, but also with how he had hacked together his own personal assortment of Linux gear. Here's the rundown he provided at the constantly crowded Bug Labs booth:

  • Handheld/UMPC (ultra-mobile PC): Nokia N810. “It's a great device”, he says. His main everyday use of it is reading books on the subway between his home in the Bronx and Bug Labs' offices in Manhattan. “I basically use a .pdf reader, plus an e-mail client.”

  • Phone: Motorola E6 ROKR. “This is a Linux phone that I use as a GPRS modem for my Nokia N810 over Bluetooth.”

  • Laptop: Lenovo X61 tablet, running Ubuntu Linux. “I looked at the new Fujitsu 810. It was small with a resistance touchscreen, and the driver didn't work so well. But Linux has support from Wacom. So I decided to get a Wacom tablet. I previously had another ThinkPad that had Ubuntu working perfectly. So I decided to stick with Lenovo, got the X61, and installed the Wacom drivers....On an airplane, the screen re-orients. Somebody figured that there's an accelerometer in the machine, and wouldn't it be nice if you could guide Tux Racer that way.” Then, Angel picks up the machine and moves it around as if steering a penguin down a ski slope. “So I knew that if I stuck with Lenovo, I'd have good support for drivers. And so far, that's worked out.” He makes heavy use of the X61 as a tablet. “I can make use of the whole screen area. And I found something called Cell Writer, which I can train to know my handwriting. It works really well, and it's fast. You can even suspend and resume. It's an excellent solution as a tablet.”

Angel Roman of Bug Labs and His Gear