A developer can't make his code perform better by ingesting dangerous medicines. He can't improve benchmarks by carrying out shady accounting deals. He doesn't get anywhere by wearing glitzy clothes and appearing on TV shows after two-hour make-up sessions. He's not likely to make his project progress by splitting and polarizing a population with appeals to deep-seated fears. We're disgusted by all the other public figures society has thrown at us; only software developers are pure.
The developer as hero was celebrated several times over in the morning keynotes at OSCon. Tim O'Reilly and conference coordinator Nat Torkington shared a presentation celebrating the progress of programmable Web services, popularly called Web 2.0. Tim pointed out that major Web sites such as Apache, Google, and eBay have provided programming interfaces (Web Services) for a while, but that now we're seeing "the first true Web 2.0 applications"--meaning applications that create something new rather than just enhancements to the underlying web site. He illustrated the trend with a hack that combined craigslist with Google maps to show real estate offerings for given neighborhoods.
But another set of heroes emerged in the next keynote, given by Kim Polese of SpikeSource.
Basically, Polese said businesses have come to accept open source and are performing their own integration in order to get it to work for them. She recognized and articulated a concern I've had for some time, and which by chance I tried to turn into a blog last week but never quite pulled together. So I'm going to plunk down that not-yet-published blog right here and then return to her view of the situation.
On mailing lists, news sites, and trade journals I read glowing reviews (or anticipations) of wonderful new packages and support for the most advanced computing uses. Then I return to my little desktop systems, where my wireless card and power management still don't work, my GNOME desktop often thinks my left-most mouse button is depressed when it isn't (leading to wild errors), and remote file transfers have been crippled by an apparent bug in the latest distribution. (I'm always trying new distributions in the hope of finding a happy moment where some version has all the critical functions I need. The closest I came was a year ago when I paid $99 for the first version of Red Hat Professional Workstation.)
These are just the problems that hold my productivity back every day; there are others I haven't bothered to list.
I'm not surprised at the configuration problems on my system, and I don't blame anybody. It's the fallout from open source development. I'm getting the kernel from one project, the desktop from another (both KDE and GNOME--I'm desktop fluid), drivers from still other projects, middleware such as the ESD sound daemon from their projects, and of course, applications from their various producers. No matter how stable and carefully developed all this software becomes, getting it to work together is hard.
GNU/Linux is the most volatile of the major operating systems. That's partly because it's the youngest (certainly compared to Unix and BSD, and even compared to NT and its derivatives). But it also attracts a user community that's always pushing it ahead; this is what brought it to the astonishing success it has today.
Most major distributions have come to face the tension that rapid development produces between the goal of widespread adoption and the goal of continuous improvement. Debian split into a stable and unstable distribution, Red Hat split into Red Hat Enterprise Linux and the more community-focused Fedora project--even Gentoo is considering an Enterprise version.
Maybe I should just go ahead and pay $99 a year for a commercial distribution, but I think there would always be something out of sync. You can never rest with the system you've installed: before the CDs were even shrink-wrapped, some of their contents had become out-of-date, and the user must routinely update a system for the sake of security as well as functionality.
In his keynote today, Andrew Morton (former Linux kernel maintainer) pointed out that the readiness of Linux for the desktop is routinely underestimated because the people who evaluate and report on it are the power users or knowledge workers. Naturally, they have the most varied needs and are the hardest to please. He repeated the generally accepted view (see, for instance, my report from the Desktop Linux Conference) that desktop Linux will start with kiosk application, move up to people using one or two major applications, and gradually continue up the knowledge chain as it appears in more and more places and companies have reasons to enhance it.
So I wonder whether the computer industry will pass through a period during which people see it as prestigious to have a PC running Windows. ("I see you're stuck with Linux, Jones, but after all, you don't have documents to post through SharePoint.")
More on Morton's talk later in this blog.
SpikeSource aims to improve the situation by recruiting volunteers to do this drudgery, and providing better tools to help them do it. To see whether they were really following through on this tall promise, I visited their demonstration center, which was quite fancy (it shouldn't be a surprise, given that they're partnering with O'Reilly on CodeZoo).
Their work did look pretty spiffy. Their download and configuration utilities for selected stacks of products, such as the servers and language tools in a LAMP system, were very easy to understand and well integrated. Their automatic test generation utility for Java code did a very full job (producing comprehensive code coverage in a set of XML files) but it seemed to me it could serve only as a first step for programmers who customized the XML to run the tests they really need.
The same winning cynicism came out when he explained why Linux was spreading everywhere. He was almost dismissive is saying the operating systems and other infrastructure had become "commoditized," that their implementation was "common knowledge," and that they "have no intellectual property value left in them." (So why was there so much argument about implementing features at the Ottawa Linux Symposium I reported on two weeks ago?)
He also claimed that free software developers are "significantly better programmers on the whole" than their equivalents in proprietary software companies. But he pointed out that OSDL member companies contributed very important developers to Linux.
He made three major comments on the development process. (He wrote me email to help clarify his statements.)
First, any major kernel developer practically has veto power over any decision, but they manage to move ahead nevertheless.
Second, he validated the complaints of some people in the wider community that Linux was being loaded down with enterprise features.
He said that the free software community was not good at collecting input from end-users (by which I assume he meant unsophisticated end-users among the general public), and that companies had processes in place for doing that.
The role of free software at Yahoo! is pretty much the same as in other organizations. They have lots of servers, and lots of desktop users running the usual office suites and other things. The servers mostly run FreeBSD, but they use Linux to run commercial software packages because these tend to be ported to Linux rather than FreeBSD. Jeremy reeled out the usual list of benefits of using free software: flexibility (it's easy to change), quality (it's reliable), good documentation (including often the source code), availability, and support on community forums.
He said not to worry whether free software is scalable. Yahoo! is handling billions of page views per day, and a hot item can get a million views in the hour after it first goes up.
He also promoted Yahoo! for opening up its APIs with the goal of becoming a full-fledged participant in Web 2.0. The Yahoo! Developer Network and Yahoo! Widgets (originally Konfabulator) are the main exhibits.
Everything turned out fine: Schwartz was personable and natural-looking, and Nat Torkington carried out an informative interview. Nat gave Schwartz plenty of room to make his points, while lassoing him on his occasional slipperiness, such as sliding from discussing "free as in speech" software to "free as in beer" software. Another example was an exchange about software patents, where Schwartz played to the audience's abhorrence of the patents (saying they're "largely inapplicable") while allowing that patents could be used both to promote innovation and to squelch it.
I would have liked an exploration of Sun's relationship to the OpenOffice.org project and their controversial decision to include some Java code in it.
I was impressed with Schwartz's defense of Solaris. He said Solaris should not be compared to Linux (a software project) but rather to particular distributions of Linux being offered in the marketplace. I can acknowledge his proud claim that OpenSolaris could provide competition that spurs other free operating systems to improve. He also vigorously defended OpenSolaris's CDDL license, saying their license is open to linking with other software and that it's the GPL that it is prohibiting collaboration. And he claimed that a large community of contributors were flocking to OpenSolaris.
He said that "just because the software or service is free doesn't mean it doesn't have value," and pointed out that it can provide value by becoming a substrate for support, update networks, and ads. He also boldly declared that "ultimately, every single product at Sun will be free and open"--but of course, his definition includes the current state of Java.
I can guess the answer, though, from the little that I saw. I imagine that anyone who learns Python could extend Chandler (the point of the talk) and therefore provide new features to the community fast. The parcels are supposed to allow easy integration with Web Services and other web sites. Chandler's visual components remind me of XUL.
But there are others making advances in the publishing industry. One up-and-coming organization is Osoft, makers of ThoutReader, whose extraordinarily clever designer Gary Varnell posed with me in a photo today.
Andy Oram is an editor for O'Reilly Media, specializing in Linux and free software books, and a member of Computer Professionals for Social Responsibility. His web site is www.praxagora.com/andyo.
oreillynet.com Copyright © 2006 O'Reilly Media, Inc.