UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #179, March 2009

Much of the Linux kernel source tree is taken up with the text of licenses under which the code is released. There are plenty of GPL-compatible licenses, and much of the kernel is released under a dual license. As Jörn Engel points out, a lot of kernel source files also include the full text of their licenses, causing about 3.5MB of duplication throughout the source tree, or something more than 1% of the total size of the tree. Roland Kletzing recently reported those numbers, suggesting that one way to reduce the size of the kernel would be to replace all that duplication with simple one-line pointers to a single copy of each relevant license.

Although completely rational, this may not be likely to happen. On the one hand, as Jörn says, a lot of the duplication is done because corporate legal departments want their engineers including full licensing information with all their contributions. Taking it out again might pose problems for them. On the other hand, Chris Snook reminded folks that the kernel was distributed in compressed form, and because the licenses were all duplications, they compressed down to a very, very small size. Bodo Eggert's objection—that even this small size, when multiplied by the number of times the kernel actually was downloaded, resulted in an immense waste of bandwidth—was largely ignored, primarily because shrinking the compressed sources by such a small amount also could be accomplished by doing actual coding work, which is more fun, more sexy, and has the added benefit of actually making the kernel run better.

Maybe someone will find a way to keep the corporate lawyers happy and reduce the amount of license duplication at the same time, but this doesn't seem likely to become a high priority for anybody.

There's a new driver out that connects PCI devices called PCINet. It was written by Ira Snyder, and it implements the Ethernet protocol across the PCI interface. Now folks can code up communication between two PCI devices, using the familiar Ethernet protocol.

No one likes getting a kernel oops. Well, some folks actually do, and they spend lots of time trying to invoke them, just so they can fix them and make the world better. Arjan van de Ven has written a Perl script to take the raw oops output, pretty it up, and also try to clarify the part of the oops that's actually relevant to figuring out what went wrong. The script, called markup_oops.pl, still is tethered to the i386 platform, thanks to some coding constructs that Keith Owens pointed out to him. It also seems that Perl is no longer the “language of ascendancy”, so writing the script in Perl may be another strike against it.

Michael Halcrow, Tyler Hicks and David Kleikamp have added filename encryption to eCryptFS. This has some interesting issues that make the implementation trickier than it might seem. For example, the encryption process can make the filename slightly longer than the unencrypted version, so if the unencrypted version is too close to the maximum length allowed by the filesystem, the encryption process won't work.

Also, the eCryptFS folks want encryption to be optional—some files in the directory may be encrypted while others aren't. How do you tell the difference between an encrypted filename and a filename that's just really dorky? The answer is that the encrypted names all have a special prefix, and the rest of the name is in a special format. If you really want to mess with the filesystem and create an unencrypted filename with that prefix and that format, you're on your own. But the issue probably will never come up.

The linux-next tree is continuing to be fine-tuned. On the one hand, Stephen Rothwell wants the tree to be a place where code migrates quickly into the main kernel tree. He also specifically wants Andrew Morton to be able to base his own -mm tree releases on linux-next easily. All of this means linux-next is intended to make sure that code merges well together and will not cause housekeeping problems for any upstream maintainers (such as Linus Torvalds and Andrew).

So, all code is expected to be unit-tested and posted to the relevant mailing lists. The folks submitting the code should know that if it doesn't get dropped, it'll be heading into the official tree. Any patches that conflict with the tree will be dropped. Any code that breaks the build will be dropped. In practice, truly trivial breaks won't get code dropped from linux-next, if Stephen can just eyeball the problem and fix it quickly. But, anything beyond that will require the folks submitting the code to fix it up and submit it again. In some cases, people from different projects will have to work together to resolve whatever breakage one of their submissions brought to light. The idea is that linux-next gives these projects the opportunity to identify and work on those conflicts and other problems, before trying to get it past Linus or Andrew and into their trees.

Fast Is Hot

Doc Searls

Issue #179, March 2009

Last month, we reported here about Splashtop (www.splashtop.com), which starts a laptop in only a few seconds. Since then, Splashtop reportedly has found its way into the Lenovo IdeaPad S10e and the ASUS Eee PC.

Now there's Cloud (thinkgos.com/press-release20081201.php), from Good OS, which gave us gOS Linux and a cover story for Linux Journal in March 2008. Good OS calls Cloud “A New Operating System for 2009”. More specifically, the press release says Cloud “integrates a Web browser with a compressed Linux operating system kernel for immediate access to Internet, integration of browser and rich-client applications, and full control of the computer from inside the browser” (thinkgos.com/press-release20081201.php).

The browser looks like Google's Chrome, and most of the icons in the Mac-like dock on the bottom of the screen are for Google apps running in “the cloud”. One exception is the Windows symbol. We won't go there. Meanwhile, the fast-start race all goes to Linux.Cloud, launched in December 2008 at the Netbook World Summit in Paris, demonstrated on a GIGABYTE Netbook.

LJ Index, March 2009

1. Average number of minutes it takes to read an on-line privacy policy: 10

2. Mean word count of privacy policies for the Web's most popular sites: 2,514

3. Number of words in MySpace's Terms and Conditions: 3,868

4. Number of words in the MySpace Terms and Conditions paragraph that says, “It is therefore important that you review this Agreement regularly to ensure you are updated as to any changes.”: 65

5. Number of Web sites visited by the average person per month: 119

6. Number of hours it would take to read all privacy policies for 119 Web sites: 20

7. Millions of Web users in the US: 121.667

8. Billions of hours per year that would be spent if every US Web user read all Web site privacy policies: 44.3

9. Estimated time cost in dollars per year, per US Web user, for reading all Web site privacy policies: 3,000

10. Estimated billions of dollars in lost leisure and productivity time that would be cost by all US Web site users reading all privacy policies: 365

11. Millions of Web sites in Google's first index, in 1998: 26

12. Billions of pages indexed by Google in 2000: 1

13. Trillions of pages indexed by Google in 2009: 1

14. Year in which lines of code in the Linux kernel will pass 6.5 million: 2009

15. Millions of dollars it would have cost “by conventional proprietary means in the US” to have produced Red Hat Linux 6.2 in 2000: 600

16. Billions of dollars it would have cost to produce Red Hat Linux 7.1 in 2002: 1

17. Those same billions in 2008 dollars: 1.2

18. Billions of dollars it would have cost to produce Fedora 9 in 2008: 10.8

19. Billions of dollars it would have cost to produce the Linux kernel alone in 2008: 1.4

20. Estimated billions of dollars spent by Microsoft on Vista client operating software, Windows Server 2007 server software, Office 2007, Internet Explorer 7 and other related software: 14

1, 2, 5–10: Ars Technica, Carnegie Mellon CyLab, Out-Law.com, all sourcing “Cost of Reading Privacy Policies” by Carnegie Mellon researchers Aleecia McDonald and Lorrie Faith Cranor

3, 4: MySpace

11–13: Jesse Alpert and Nissan Hajaj, Software Engineers, Google Web Search Infrastructure Team

14: Greg Kroah-Hartman

15, 16: David A. Wheeler

17–19: Amanda McPherson, Brian Proffitt and Ron Hale-Evans of the Linux Foundation

20: Dennis Byron

They Said It

An avidity to punish is always dangerous to liberty. It leads men to stretch, to misinterpret, and to misapply even the best of laws. He that would make his own liberty secure must guard even his enemy from oppression; for if he violates his duty he establishes a precedent that will reach to himself.

In the longer perspective, Linux will become a serious alternative for our high-end phones.

Coincident with the release of this code I have concluded my agreement with Atheros whereby I had access to information about their devices. This means that in the future all fixes, updates for new chips, etc., will need to be a community effort. Atheros states the Linux platform will be the reference public code base, so folks wanting to add support for other platforms will have to scrape the information from there.

—Sam Leffler, maintainer of the binary HAL, also used in MadWifi releases, on release of source code for his HAL (hardware abstraction layer) variant, lwn.net/Articles/308984

Expect to see millions of Web devices, even desktop Web devices, in the coming years that completely strip out the Windows layer and use the browser as the only operating system the user needs.

Find More at LinuxJournal.com

Katherine Druckman

Issue #179, March 2009

This month's issue is all about Linux on the Desktop, and we have plenty more where this came from at LinuxJournal.com.

How better to learn some new desktop tricks than checking out some of our videos at www.linuxjournal.com/video?

Elliot Isaacson demonstrates how to run your Windows partition without rebooting: www.linuxjournal.com/video/run-your-windows-partition-without-rebooting.

You also may enjoy reading about Adobe's Linux offerings for the Adobe AIR Runtime: “An Introduction to AIR”: www.linuxjournal.com/content/introduction-air.

Have you ever wanted to run an old DOS favorite on your Linux desktop? Check out Mitch Frazier's article “Running DOS Programs on Linux: Duke Nukem Lives!”: www.linuxjournal.com/content/running-dos-programs-linux-duke-nukem-lives.

As always, Bruce Byfield brings a constant flow of new tips and tricks for using OpenOffice.org: www.linuxjournal.com/content/openofficeorg-many-views-impress.

Visit us at LinuxJournal.com often! There's always a new tip, trick or how-to to keep you busy.

What They're Using: Don Stokes

Doc Searls

Issue #179, March 2009

When I started following Linux action on Twitter, one contributor stood out: mich_linux_guy. His tweets include, “Playing with the Android SDK”, “Getting ready to install Fedora 10 on my son's XO laptop....Hope it's a win” and “Bought an Acer Aspire One at Costco for $350. Just installed Ubuntu 8.10. Did require fiddling with wireless packages (Googled it). Works!” His name is Don Stokes. He's a veteran hardware and software hacker living with his wife and three sons in Oakland County, Michigan, where he's also pursuing an MS in Computer Science at Oakland University. His startup is stokesautomation.com. And his favorite quote is from Spinoza: “Let every man think what he wants and say what he thinks.” What follows is plenty of both.

Don's Four-Year-Old Son on His OLPC

The first computer I purchased was a TRS-80 model 1. I goofed around with some text-based adventure games and played with BASIC programming. The next computer I bought had an Intel 80286 processor. It came with MSDOS, but I bought a copy of IBM OS/2 to run. Eventually, OS/2 died, and I was forced to run Windows NT. I think it was in 1999 that a friend at work (Ben—what happened to you? Call me!) passed me a Red Hat Linux CD. (It was actually labeled “Red Ass Linux”.) It required a lot of tinkering to get it to work, but for me, this was “fun”! Eventually, I decided to make it my primary OS.

For our anniversary, I bought my wife an HP laptop with a gig of RAM and put Ubuntu on it. She uses it for her e-mail, Web browsing and to manage the music on her iPod. I put Ubuntu on my dad's old Dell laptop about a year ago. As he doesn't have the root password or sudo rights, he can't mess it up. Because it is a lot harder to attack Linux than Windows, I don't worry about the security of his system. It's a great OS for him. My mom is next!

I ran Fedora until Ubuntu Feisty Fawn came out. Once in a while, I will boot a live CD of other distributions to see what they are up to. I also have Damn Small Linux (DSL) running on a couple of machines. It is amazing how much functionality you can get using this distribution on machines that most people would leave on the curb for the garbage truck.

The best thing about Linux is that its modular architecture makes it so configurable/customizable. If I want eye candy, I can run GNOME or KDE desktops. I can even run the X server with only a display manager, if I want to maximize efficiency. On machines with low CPU or memory resources, I can run with only a command line on a text display with no graphical user interface.

Another reason I use Linux is the huge repository of free software. Kids have very short attention spans. Even the best games won't keep them content for long. With Linux, I can simply go to the Add/Remove option on the main menu and choose from a gazillion free applications—all installable with a few mouse clicks. Many of these applications are very educational; it's been a great experience for my kids. Because they don't have administrator access, they can't corrupt the machine.

I recently downloaded the Android SDK for the Eclipse IDE. It is amazing how easy it is to create applications written in Java for Android. I got so excited, I went out and bought a G1 the next day. (That's how long it took the local T-Mobile guys to get some stock.) I'm currently writing a simple encryption application for storing private information like passwords and account numbers. Collecting devices that run Linux has become kind of an obsession with my family (okay, me). Here is our current collection:

  • HP Pavilion zv5000 laptop with Ubuntu 8.10 (my primary development PC).

  • HP Pavilion dv6000 laptop with Ubuntu 8.10 (wife's kitchen PC).

  • HP Pavilion ze4200 laptop with Xubuntu 8.10 (games and KTurtle for my eight-year-old son).

  • HP Pavilion a1687 desktop with Ubuntu 8.10 (hooked to our LCD TV in the family room).

  • ASUS Eee PC running Xubuntu 8.10 (rides in my bag).

  • Acer Aspire One running Ubuntu 8.10 (maybe a replacement for the Eee?).

  • OLPC XO running Fedora, Sugar and XFCE (toy for my four-year-old son—he loves hearing it say what he types).

  • IBM NetVista with 128MB of RAM running Xubuntu 8.10.

  • Compaq Pressario, 166MHz Pentium MMX, 16MB of RAM running Damn Small Linux (basement machine—with the graphical desktop up playing a CD, it is using only 8MB!).

  • Six other PCs of varying CPU and RAM running Ubuntu and DSL (acting as file/print/game servers).

  • Nokia n810 (replacement for my Palm TX, but replaced by G1).

  • T-Mobile G1 phone running Android.

All the software I use on a daily basis is free, and almost all of it is open source. I use OpenOffice.org for word processing, spreadsheets, presentations and simple databases. I use Mozilla Firefox and Thunderbird for Web browsing and e-mail. Pidgin is my instant messenger. I use gcc for compiling my C/C++ source and Eclipse for my Java development. I also use Apache Web servers and a MySQL database manager for systems I have developed. I also use Umbrello, Octave, Kino and VLC on a regular basis. I love my freedom!

WiMAXing Linux

Doc Searls

Issue #179, March 2009

Connect these dots:

  • After going through a complicated merger with Sprint-Nextel's wireless broadband operation, Clearwire expects to add headcount (in a down economy!) as it rolls out WiMAX services across the country (seattletimes.nwsource.com/html/businesstechnology/2008457502_brier02.html). The new entity will be called Clear.

  • Clear expects “Mobile WiMAX” download speeds to reach “10 to 15 Mbps” within two years.

  • The merger (gigaom.com/2008/11/28/the-iphone-and-the-ensuing-wireless-broadband-boom) was supported by an investment of $3.2 billion by Bright House Networks, Comcast, Google, Intel and Time Warner Cable.

  • Google wishes to see Linux-based Android devices work on the network. Says Ars Technica (arstechnica.com/news.ars/post/20081201-future-of-wimax-is-clear-as-sprint-clearwire-close-deal.html), “Even though Google partners with just a subset of the industry, the availability of unencumbered devices with Google services requires competitive moves toward openness from other carriers.” The keyword is “unencumbered”.

  • Intel, maker of WiMAX chipsets, has been investing heavily in WiMAX device development and network deployment. Recently, it joined the Ministry of Economic Affairs (MOEA) in Taiwan to jointly establish an “enabling center” for Moblin (moblin.org), which calls itself “a Linux-based platform optimized for the next generation of mobile devices, including Netbooks, Mobile Internet Devices and In-vehicle infotainment systems”. On that last front, Intel is working with Wind River on a Moblin-enabled “automotive infotainment stack”. Says LinuxDevices, “Wind River hopes the latter will appear in products from 'Tier 1' automotive equipment makers, and it lists Bosch, BMW Group, Delphi and Magneti Marelli among the companies 'actively supporting' its efforts to 'drive Linux', so to speak, into the automotive infotainment market.” Intel Capital is also putting $11.5 million into Taiwan's VMAX Telecom, which also plans to roll out WiMAX data services.

  • Linpus (www.linpus.com), also based in Taiwan, is joining the Moblin movement. Linpus is behind the Linux-based Acer Aspire One Netbook. Chetan Sharma Consulting (www.slideshare.net/chetansharma/us-wireless-market-q3-2008-update-nov-2008-chetan-sharma-consulting-presentation) says the ARPU (average revenue per user) for voice in the US is on a downward trend, and “data ARPU will become a more dominant factor of the overall APRU mix by the end of 2009. The percentage contribution from data is likely to exceed 25% by the end of 2008 and 30% by the end of 2009.” Sourcing a report by Analysis Mason, Gigaom reports (gigaom.com/2008/11/28/the-iphone-and-the-ensuing-wireless-broadband-boom) that “By 2015, data will account for 94% of total wireless network traffic in developed regions.”

  • BusinessWeek reports (www.businessweek.com/magazine/content/08_49/b4111064905299.htm) that Netbooks are “cannibalizing PC and laptop sales”.

That's just a small sampling of the rumblings where Linux and mobile data meet. But the photo above also shows how WiMAX cells are actually being rolled out. For more on the future of mobile data developments, see “The Most Personal Device”, on page 80.