There have been some very interesting changes in the way the kernel is developed lately. In a continuing effort to keep contributors enthusiastic about participating in kernel development, Linus Torvalds announced he's willing to accept less-polished driver code. Actually, this affects code throughout the kernel, but it particularly affects driver code, because if a driver breaks, it probably won't cause problems anywhere else in the kernel. There are several benefits to making this change. For one, as Linus has pointed out, accepting code into the kernel makes it easier for others to find bugs and submit fixes. Keeping code out means that the developers must work more in isolation and get less help from those potential contributors. Another benefit is that strict code submission requirements can have a depressing effect on developers. In the even/odd stable/unstable version-numbering days, developers went through a lot of pain during the stable development cycle, because it's just more fun to write new code than to fix bugs. The transition to the 2.6 kernel and to a permanent phase of development meant that this recurring period of frustration was gone. But, there was still a lot of focus on ensuring that code was up to snuff before it could be accepted.
With the creation of the new stable series that did not interrupt 2.6 development but just ran alongside, the stage really has been set for some kind of move like this from Linus for some time. But, there certainly will be large repercussions during the coming months. For one, people who have taken it upon themselves to keep the kernel clean, remove old code, fix odd badness and so on will have a much tougher job of it now. Adrian Bunk is one of these, but there are others as well, and it'll be harder for them or anyone else to make the kind of progress they've been making lately.
Another repercussion has already occurred—the creation of the “Linux Next” git tree. It's a tree for subsystem maintainers to sync their code every day, so that any conflicting patches are identified and resolved quickly. The issue of subsystem conflicts actually has existed for a while now, but Linus' new code-acceptance policies pushed Andrew Morton over the edge and made him start asking for volunteers to maintain a “Linux Next”-type thing. The problem is that subsystem updates don't just touch code within the subsystems themselves, they can include patches to many other parts of the kernel. So, whenever Linus would open up a new merge window, there would be many patch conflicts, and the maintainers would run around fixing them before they could get their code in through the window. With the new easier acceptance policies, this problem would have gotten worse. It was already driving the subsystem maintainers crazy. Using Linux Next, they merge their trees on a daily basis without having to wait for Linus, so all conflicts are identified right away, and folks have more time to fix them, instead of having to try to fix everything at the last minute, with no prior knowledge of any breakage. With Linux Next, as soon as the merge window opens, all the subsystem trees can be accepted into the main tree at once, with far less hassle.
Stephen Rothwell has volunteered to maintain the Linux Next tree, and so far, dozens of subsystem maintainers have joined it. There still are plenty of problems with Linux Next that need resolving. For example, the order in which the trees are merged is significant, because any trees that give conflicts will be rejected, and the maintainer of that tree will be expected to fix the conflict. Because trees merging earlier are unlikely to see any conflicts, as they merge against a more pristine tree, this means that trees merging later will be arbitrarily responsible for fixing the patch conflicts. Andrew's solution to this is to rank each subsystem by importance and merge in that order. The question of which subsystems are most important then becomes a political issue, with the potential for in-fighting and bitterness. I expect some more elegant solution to emerge, unless it turns out that subsystem rankings are very obvious to everyone involved.
Andrew's larger goal with Linux Next is to increase visibility into the code that goes into the kernel, so that Linus' new looser restrictions on patch submissions still will allow kernel folks to scrutinize those submissions after the fact, to identify what needs to be cleaned up and decide where the most developer attention should be diverted. It's likely that Andrew and others will continue coming up with ideas to implement this increased visibility over time. In terms of the average Linux contributor, however, Linus' new policies herald a new period of freedom, as well as the chance for many of them to react to feedback from users, at a level they may not have experienced previously.
Samuel Thibault has written a driver for the VisioBraille device. Because the code is at the driver level and not in user space, it is intended, in this case, to handle situations where user-space Braille drivers would not be effective—for example, during boot failures. Early in the boot process, user processes can't run, but blind users still might want to read the failure messages and report bugs back to the kernel developers. The patch itself is apparently fairly ugly, but Andrew Morton at least was unable to find a way to improve it. It's likely to go into the kernel very soon.
Daniel Phillips has written Ramback, a new virtual block device with the speed of a RAM disk and the data persistence of a hard drive. Users see a regular filesystem, but all file activity is done in RAM and then quietly mirrored to a hard disk back end. Daniel has measured a 25-fold speed increase with this approach. The gotchas all tend to center around how and when the data migrates from RAM to the hard disk. Daniel's approach has been to focus on the behavior during clean shutdowns and restarts, but there is still a big gray area regarding what happens when the system crashes. Daniel is very excited about the possibilities for a really fast user experience, but acknowledges that there are still a lot of technical problems, and that people shouldn't be storing their data in Ramback just yet, unless they want to help debug and develop it. The biggest critic of Daniel's patch seems to be Alan Cox, who questions whether a virtual device even is needed. He suggests a simple RAM disk, with a user dæmon that saves everything to disk on a periodic basis. So, it's unclear whether Ramback will make it into the kernel. Although with Linus' new acceptance policies, who knows?
ASUS's little Eee PC notebook (or UMPC, Ultra-Mobile PC) computer, which has sold hundreds of thousands of units since hitting the streets late last year—and which ASUS expects to sell up to 5 million of in 2008—is getting a bit more capable. At CeBIT in March, ASUS unveiled the Eee PC 900. Improvements over the original (G4) include an 8.9" WSVGA (1024 x 600) display (the original was 800 x 400 WVGA), 8GB or 12GB SSD storage (up from 4GB) and 1GB of RAM (up from 512KB). Other than that, everything else is pretty much the same. It's still only two pounds, features three USB ports, card readers, wireless (802.11b/g) and wired Ethernet, a Webcam and a claimed battery life of up to four hours. It is due for release this summer, reportedly at a price of 399 Euro, or whatever that costs in the US when you read this. It's an increase over the original model price. That one, at press time (March), was running mostly in the mid-$300 (US) range at on-line stores. Oh, and they're “Windows-ready”, but that OS costs extra. Linux still comes standard on the base model.
ASUS Showcases Expanded Eee PC Family of PCs at CeBIT 2008: eeepc.asus.com/global/news03042008.htm
Linux-Powered Mini-Laptop Gets Larger Display: linuxdevices.com/news/NS5536771397.html
A few months back, Peter Semelhack of Bug Labs mentioned to me that his new Sony Bravia flat-screen TV came with some interesting paperwork: a statement about GPL'd software. As it happened, we also own a Bravia flat-screen. Sure enough, when I looked at the pile of paperwork that came with it, there was a large folded sheet covered with small type titled REQUIRED PUBLIC STATEMENT FOR GPL/LGPL LICENSED SOFTWARE USED IN THIS TELEVISION. Above almost four pages containing the full text of the GPL v.2 and the LPGL v.2.1 licenses, Sony says:
The following GPL executables and LGPL libraries are used in this product and are subject to the GPL/LGPL License Agreements included as part of this documentation:
GPL EXECUTABLES:
MontaVista Linux kernel
BusyBox
insmod
LGPL LIBRARIES:
libuCibc.so
ld.so
libc.so
libn.so
libgcc_s.so
libstdc++.so
Source code for these executables and libraries can be obtained using the following link: www.sony.com/linux.
That link leads to a simple page with links to code behind four product categories:
Bravia Internet Video Link
Television
Set-top Box
LocationFree TV
The Bravia link leads to .tgz files for these hunks of code:
Linux kernel
BusyBox
uClibc
zlib
curl
libpng
freetype
openssl
The Television link leads to a list of TVs made in the last five years:
10 in 2003
16 in 2004
22 in 2005
40 in 2006
54 in 2007
I bought our TV, a KDL-40XBR2, in November 2006, and found it in the 2006 list. When I click on that link, I get to the Open Source Code 06 section of Sony's “Open Source Code—English” page. There, I see that my TV runs on the ATI GTX Linux kernel, which is a blue link that starts downloading the source code when I click on it.
I'm no hacker, so I probably won't do anything funky with our television. (More capable friends are welcome, family permitting.) Instead, I'll sit content to know there's one more Linux device in our house, and that clearly we're moving toward GandhiCon IV. That's the last stage suggested by Mohandas Gandhi's famous statement, “First they ignore you, then they laugh at you, then they fight you, then you win.”
Of course, if we've won, that means that Linux in the TV is a feature and not a buried host for functions. How long before that happens?
1. Millions of people who access the Internet every day from a cyber café: 500
2. Number of Linux-based Web hosting services in Netcraft's top 20: 21
3. Number of Linux-based Web hosting services in Netcraft's top 25: 13
4. Number of Linux-based Web hosting services in Netcraft's top 10: 5
5. Number of Linux-based Web hosting services in Netcraft's top 1: 1
6. Number of open-source (Linux, BSD, Solaris, F5 Big-IP) OS-based Web hosting services in Netcraft's top 50: 29
7. Number of Windows-based hosting services in Netcraft's top 50: 12
8. Linux percentage growth year over year in the North American POS (point-of-sales/service) terminal market: 32
9. Millions of dollars in latest year of Linux POS sales in North America: 475
10. Position of cost among the top IT concerns in Australia: 1
11. Minimum billions of dollars to be spent annually on SMB (small/medium business) technology in 2012: 615
12. Billions of dollars spent annually by the IT industry to reach and influence buyers: 174
13. Predicted annual Linux server sales, in billions of dollars, predicted in 2004 for 2008: 9.1
14. Billions of dollars spent on Linux servers in Q4 2007: 2
15. Billions of dollars spent on UNIX servers in Q4 2007: 5.2
16. Billions of dollars in combined Linux/UNIX server sales in Q4 2007: 7.2
17. Billions of dollars spent on Windows servers in Q4 2007: 5.7
18. Linux server sales growth rate percentage in Q4 2007: 11.6
19. Percentage growth in server blade sales in Q4 2007: 54.2
20. Billions of dollars Sun Microsystems paid for MySQL: 1
1: Jooce.com
2–7: Netcraft.com, for February 2008
8, 9: IHL Group, via Linux Devices
10–19, IDC, via TechRepublic, ITJungle, BetaNews, IDC and HitsLink
20: San Jose Mercury News
I was celebrating Leap Day (February 29) at a London pub with Mark Antony Kent, Head of Technology Strategy at British Telecom, hoping also to pump his brain for insights to follow up on a contentious FCC hearing at Harvard earlier that week—one convened to visit issues around Comcast's valving of BitTorrent traffic. Mark is both a telecom and Internet veteran of long standing, and he's full of exciting ideas about how to work around the congestion issues that got Comcast into so much trouble.
In the midst of this, I learned that Mark was coincidentally a veteran Linux hacker who also packed a lot of lightweight Linux iron around with him. When he began pulling some of this stuff out and showing me what it did, I pulled out my little Canon camera to record his ad hoc demo (which later made a nice little podcast) and to document details I could share here. In brief, here's the gear he talked about and how he uses it:
EfficientPC generic Linux box. His came with a MythTV PCI card that comes with its own digial TV tuner and a remote control. “I just plugged it in and it works”, Mark said. Signals he picks up from the BBC and other sources are recorded here, where he downcodes with...
MEnccoder, a free GPL'd command line tool for downloading, encoding and filtering for video. The resulting files are then transferred to his...
Nokia N800 UMPC (ultra-mobile PC). Here, he stores the shows on a Flash card. The N800 has two slots for these, one inside and one on the bottom. He uses one for video and the other for audio. He showed me a Father Ted show he had recorded, which the N800 organizes with the amazing...
Canola media center, which plays beautifully through MPlayer, complete with stereo sound through its little speakers or through a headset. Mark fills up several cards with video and does his telly watching on the train, on a screen far bigger than that of, say, an iPhone. He records audio directly from the FM tuner built in to the N800, or listens live. (The FM radio is a feature sadly missing on the newer N810. Hope it comes back in future versions.) He also stores both video and audio at home on a...
Excito Bubba media server, which runs on Debian with the 2.6 Linux kernel. At home, his N800 sees the Bubba's Wi-Fi signal, from which Canola can discover files using the DAAP and UPnP protocols, then list and play them directly. He also has...
Two Nokia N770s, which are the predecessors to the N800. He liked them so much that he just had to have two. “Then, when (the N800) came out, I wanted the radio. The 770s also run Canola and play everything from the Bubba.” Mark says, “The 770 has a Samba server as well, which also increases possibilities.” Thanks to these lightweight items, he stopped hauling around a laptop, and instead uses the N800 as his portable computer, thanks to a...
Bluetooth keyboard. At home, he also has...
Another Linux PC—“an ASUS thing from the EfficientPC guys”, with dual flat-screen monitors. Back on the road, he also can get on the Net by bluetoothing from his handhelds over a...
Motorola A780, which is coincidentally Linux-based as well and uses 2.5G “edge” technology. He has also ordered an...
ASUS Eee PC for his son. “He's a Mac guy”, Mark said, but “he saw this and really, really wanted one”. Mark is “desperate to get one” as well.
Mark's enthusiasm was infectious, and I caught the bug. After I flew back home to the US the next morning, I immediately started to ramp up my own version of Mark's portfolio of cool tools.
Purple Labs, a company based in France with a multinational management team, is pushing Linux mobile phones outward in capabilities and downward in price.
Positioned as “the only independent software vendor with a complete Linux solution for mass-market 3G phones”, Purple Labs pushes its customers to “replace their legacy RTOS with a flexible and scalable Linux platform, accelerating development of feature-rich 3G phones while reducing investment”.
The latest of these is Purple Magic, which Purple Labs calls a “reference design” for “the 1st sub-$100 3G Linux feature phone”. Features include music playback, Internet browsing, video telephony and video streaming, in addition to plain-old cell phone service.
And, as you can see from the picture, it doesn't look bad, either.
Some people think innovation in technology is about how hard it is to implement, or how long it took, or how complex it is, or convoluted. They see innovation as wizardry. I see it differently. I'm impressed by the ratio of functionality to complexity. I like that number to be as big as possible, because the less complex it is, the fewer moving parts, the less likely it is to break, and the easier it will be for others to build on the idea.
Since 9/11, approximately three things have potentially improved airline security: reinforcing the cockpit doors, passengers realizing they have to fight back and—possibly—sky marshals. Everything else—all the security measures that affect privacy—is just security theater and a waste of effort.
—Bruce Schneier, www.schneier.com/blog/archives/2008/01/security_vs_pri.html
First, companies have to decide: either they're in or they're out. You either make meatballs, or you're part of this new regime. But if you only want to use the regime to just sell more [meatballs], you're going to fail.
—Seth Godin, www.usnews.com/articles/business/best-in-business/2008/01/10/selling-in-a-post-meatball-era.html
Patents act as a tax, an innovation tax.
—James Bessen, co-author of Patent Failure, from a talk at the Berkman Center, March 3, 2008
The greatest shortcoming of the human race is the inability to understand the exponential function.
—Albert A. Bartlett, PhD, Emeritus Professor of Physics, University of Colorado, www.youtube.com/watch?v=F-QA2rkpBSY
There are many ways to enjoy Linux Journal on-line. Follow us on Twitter, become a fan on Facebook, and join our Flickr pool. Links to these sites can be found on our home page. Would you like to connect with Linux Journal through other on-line networks? Send your suggestions to info@linuxjournal.com.
As always, LinuxJournal.com offers Web-only articles and blogs that keep us all up to date on current issues in the Linux community. Glyn Moody regularly inspires conversation by blogging the politics of open source with discussions on large companies like Dell and Microsoft, intellectual property and other issues relevant to the Open Source community. Doc Searls offers his perspective on topics such as on-line privacy, social media and open source in business. There is always a lively discussion on Doc's blog, and we invite you to add your perspective.
We also invite you to stay current with new content at LinuxJournal.com by subscribing to our RSS feeds. Whether you are interested in our front page content, news stories, videos or specific topics only, you can customize your reading preferences with the feeds of your choice at www.linuxjournal.com/rss_feeds.