UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #144, April 2006

John W. Linville has announced a new git repository for his fork of the Fedora Core kernels. This repository will take the Fedora kernel releases as its base, and incorporate networking patches from the official kernels on kernel.org. His goals are to allow Fedora users to access bleeding-edge patches they otherwise would have to wait for and to convert the Fedora user community into a testing resource for the kernel (specifically networking) developers.

Eric Dean Moore has assumed maintainership of the previously unlisted LSI Logic MPT Fusion SCSI Drivers. These drivers were split recently from a single driver supporting SCSI and Fibre Channel to multiple drivers each supporting a single interface. The irony of this is that although the developers themselves chose to split the driver this way, the MPT Fusion's main claim to fame is that it provides a single interface to both SCSI and Fibre Channel hardware.

Alessandro Di Marco has begun work on Sluggard, a filesystem intended to make kernel downloads less painful. As the kernel sources continue to grow, it takes longer to download. Sluggard addresses this by putting rsync at its back end. Users read files on the filesystem with their favorite tools, and Sluggard transparently fetches any changed files just prior to access. In this way, files that aren't needed are never downloaded. This has saved Alessandro more than 200MB of disk space, and he says the potential exists to save even more, depending on what kernel features one needs to compile.

Andrey Volkov has coded up support for the ST M41T85 real-time clock chip, basing his work on Mark A. Greer's ST M41T00 driver. In fact, there is some talk of merging Andrey's work into Mark's original driver. However, due to many small differences in the hardware, it's not clear what the best approach would be to avoid too many #if statements. It may turn out that merging the two would create more complexity than a unified driver would be worth. But, both Andrey and Mark have indicated that they'd be happy to do a merge if it seemed like the right way to go.

Since Sun released its ZFS filesystem source code, Tarkan Erimer recently asked if this meant it might be ported to Linux at some point in the future. However, this doesn't seem likely, because Sun used the CDDL license, which allows linking to other code released under nonfree licenses, thus making it incompatible with the GPL. Unless Sun decides to dual-license ZFS under CDDL and the GPL, there is no way a direct port of ZFS to Linux could be legally included in the official tree. It is still possible that someone will do a clean-room reimplementation of ZFS, without looking at any of Sun's sources.

If Linus Torvalds' stance on CVS was not clear before, it is now. When it was suggested that the kernel include documentation about existing CVS-based kernel repositories, Linus said, “I'd argue against it. CVS is a piece of crap, and anybody who maintains stuff in CVS just makes it harder to ever merge back. That's not just a theory—we've had that situation happen in real life over the years, which is why I definitely don't want to see any external CVS trees given any kind of recognition at all.” There you have it.

One of the strengths of the Linux development philosophy is that it won't blindly adhere to standards just because those standards exist. The standards have to make sense as well, and in the case where a good standard has not been followed for some reason, it has to make practical sense to change into conformance with it. This came up recently when Matthew Wilcox tried to fix the NO_IRQ definition to bring it into conformance with the PCI standard. Linus pointed out that the standard had been ignored by hardware makers for years, and that changing the NO_IRQ definition would break a lot of existing drivers. In fact, the Linux kernel would be clearer and simpler if some change were made to at least bring the various kernel architectures into conformance with each other; and if all drivers could be fixed to reflect this change, it would be the right thing to do. However, Linus rejected that proposal, affirming that the existing design was a mistake, but saying that the fix would break too much outside code.

Redraw Your Own Conclusions

Back in July 2001, I had fun looking up Google search results for a bunch of different terms, and listed them in the October 2001 issue of the magazine.

So, we revisited those same items for this issue. Here are the results.

TermJuly 2001January 2006
python2,080,00091,210,000
active x2,350,000107,000,000
gates3,020,00078,200,000
kde3,560,00029,100,000
gnome3,720,00027,100,000
perl7,650,000115,000,000
jesus8,800,00078,200,000
boy10,800,000 159,000,000
solution13,300,000507,000,000
girl13,600,000137,000,000
microsoft20,200,000721,000,000
god24,300,000172,000,000
sun25,500,000523,000,000
sex28,400,000211,000,000
linux31,600,000420,000,000
business86,900,0002,950,000,000
have231,000,0003,970,000,000

LJ Index, April 2006

Doc Searls

Issue #144, April 2006

1. Billions of Internet users: 1

2. Number of computers on the Internet in the US in 1969: 2

3. Number of years it took for the Internet to reach its first billion users: 36

4. Estimated year when 2 billion will be reached: 2015

5. Estimated year when 3 billion will be reached: 2040

6. Annualized percentage growth rate in Internet use: 18

7. US percentage of Internet users in 1995: 66

8. US percentage of Internet users in 2005: 23

9. Position of South Korea in broadband penetration: 1

10. Position of China among Internet users under age 30: 1

11. Millions of Firefox downloads by October 2005: 100

12. Minimum Firefox market share in November 2005: 10

13. Number of Netcraft's ten most reliable hosts using Linux: 3

14. Number of Netcraft's ten most reliable hosts using an open-source OS: 7

15. Position of Hostway, which runs Linux, among most reliable hosts: 1

16. Position of Apache among most popular Web servers: 1

17. Apache percentage of all Web servers: 70.98

18. Millions of Weblogs as of January 4, 2006: 24.4

19. Thousands of new Weblogs added each day: 70

20. Thousands of Weblog posts created per hour: 33

1–7: Jakob Nielsen, Useit.com

8–12, Mary Meeker, Morgan Stanley

13–17: Netcraft.com, December 2005 reports

18–20: Technorati data from January 2006 and November 2005

On the Web

Need some advice on figuring out the best way to get the most out of OpenOffice.org? Now that the 2.0 versions are available, more and more people are using this free office suite. You can find your way around OOo well enough if you're moving from another suite, but you'll definitely be more productive with some OOo know-how under your belt. That's where LJ.com columnist Bruce Byfield comes in, with his bi-monthly series OOo Off the Wall. Recent topics include:

And, for an overview of “What New Users Need to Know about OpenOffice.org” (www.linuxjournal.com/article/8443), Bruce offers advice on on-line help, interface workings, templates and other OOo particulars. In coming months, Bruce will be moving on to Calc, OOo's spreadsheet program.

Regular contributor Colin McGregor is working on a new how-to article for LJ.com readers about the Linux Infrared Remote Control (LIRC) Project (www.linuxjournal.com/article/8811). He'll explain what it is, what hardware/software is needed and how to set up the software. For those of you feeling more adventuresome, Colin also will share some thoughts on building your own infrared hardware.

They Said It

Ask the network before you ask the source.

—Jeremie Miller, from an IM with me

...consider this a warning shot for anyone who is relying on closed source modules. What you are doing is trying to take from Linux and not give anything back. The GPL explicitly forbids this, and Linux would not be good enough today for you to be using it without that protection. There is a reason why you are wanting to use Linux for your internal use, and why your customers are asking for it.

—Greg Kroah-Hartman, remarking about his proposed kernel patch that “simply marks all PCI functions as only able to be used by GPL licensed kernel code” (www.kroah.com/log/2005/11/21#gpl_pci_core)