The news over the past few years in open source establish it as the natural way to release software. If there’s anything else you can do to earn money–whether setting up a social environment like Second Life, putting up ads like Google, or selling hardware like Intel–you really need to search hard for a reason to keep software proprietary. The benefits that free software reaps from contributions and community are demonstrated beyond a doubt, and the mechanism for releasing software as open source is now familiar.

Here’s my wrap-up of the Open Source convention. I published an earlier blog on it as well.

Philip Rosedale and Rishab Aiyer Ghosh on the economics of open sourcing

Second Life’s client, the world’s most popular 3D social experience, is now open source and is receiving both bug fixes and exciting new functionality from the community. Founder Philip Rosedale explained in his keynote that the main thing holding up release of the server is troubling gaps in security that Linden Lab wants to fix first.

Theorizing, Rosedale advised any company that hopes to benefit from network effects (such as companies with social aspects) to open source its software from the beginning. His reasoning starts with the common observation that network effects lead to a power law distribution, where the leader in each field gets the bulk of the traffic and potential revenue. Therefore, contributing to the whole–putting your innovations into the common pot as open source–increases your own take even more than that of your competitors.

In a presentation of a large European study about free and open source software, long-time researcher Rishab Aiyer Ghosh repeated an assertion that can also be found in the writings of Eric Raymond, that only a few percent of programmers earn their living from creating packaged software. In other words, the vast majority would have jobs even in a world that moved entirely to free software.

Other findings included:

  • The majority of firms in every industry surveyed said they include free software in their products.

  • When free software is included, estimates of the value of software to the economy are approximately doubled.

  • The time spent by Europeans contributing to free software in 2006 added up to the equivalent of 26,000 full-time programmers.

  • The percentage of free software code contributed by companies is gradually rising and now stands at nearly 20%. I noticed in the chart a slight decline during the dot-com bust of 2001-2002.

  • SourceForge commits from Europe have recently surpassed those from the U.S. and Canada for the first time. Commits from Japan and China are gradually increasing but still form a very small part. When the results are scaled to take average national income into account, India and China rise to join the most active committers.

  • Both developers and companies agree that work on free software can compensate for the lack of a degree in hiring.

  • In any five-year period, half of the code on any free software project is replaced.

People matter: the new obsession

The Asperger’s phase of computing is over. Everyone at the Open Source convention wants to learn how to work with people. The most salient difference between conferences of earlier years and this one is the proliferation of sessions about how to organize a team, how to handle disagreement, how to motivate developers, and so on. Some of the tutorials dissect these activities in a meticulous fashion (so maybe Asperger’s is in effect after all) but for the most part, the insights have been known in the business world for decades. However, the books and presentations circulating in the computer field tune the doctrines to the pressing needs of the second half of the first decade of the century.

Intel contributes

There was a lot of participation by Intel on the convention stages, and because it’s one of the major employers in the computer field here in Portland, where the convention is held, no one was surprised that a lot of Intel staff were in the halls as well.

I had a very pleasurable experience working with Intel engineer and evangelist James Reinders on the book Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism . It was really a team effort by a bunch of wonderful folks at Intel (whom I finally met here in Portland this week), coordinated expertly by James. The development process was insane, because Intel proposed the book–along with an urgent requested to get it released at to the Open Source convention–some three weeks before the production deadline.

Should anyone think that the hallmark O’Reilly quality may have suffered because of the rush, I encourage you to pick up the book and judge it on its merits. It’s first chapter is a superb justification of the subject matter, in the context of modern multicore computing (and there’s no reason the library couldn’t run on AMD cores as well). The last chapter is a history of research in high-level concurrency. In short, Threading Building Blocks is a very elegant way to hide the difficult and error-prone aspects of parallel programming.

I thought that Intel’s concern for keeping secret that they were open-sourcing Intel Threading Building Blocks was a bit old-fashioned, and that making a big splash about open-sourcing it at OSCon would be anti-climactic. But in fact they generated a bunch of nice news articles that way, and James greatly entertained us at his keynote, deliberately making himself the butt of laughter by pretending to make a sales pitch for TBB.

I was nearly as much impressed by Intel’s release of its Linux-ready Firmware Developer Kit, as described by Rolla Selbak. The pressing problem addressed by this kit is the difficulty of vendors in making sure their BIOS works with Linux. They check it against Windows, but the Microsoft testing tools are lax and don’t enforce specifications. ACPI problems in the firmware can lead not only to easily anticipated problems on Linux (such as with suspend and resume) but a host of other surprises, such as in fan operation and overheating. By inserting a CD with the developer kit, anyone can check adherence to specifications with a two-minute automated test. The output is easy to read, and developers can separate tests for open and proprietary systems.

Where have the database programmers gone?

Attendance at sessions about databases were down this year. The problem affected not only MySQL sessions (which could be explained by the strength of the annual MySQL Conference and Expo) but PostgreSQL as well. On the other hand, I noticed good attendance at sessions about data mining, such as Toby Segaran’s Data-mining from Open APIs and Lino Ramirez’s Machine Learning Made Easy with Perl. Perhaps the growth of public data sources has raised developers’ interest in making creative combinations of other people’s data, as I reported in my earlier blog. But sites are collecting more and more of their own data as well, and a good understanding of database topics–such as storage engines and schema management–could help them use it much more efficiently. One interesting talk along those lines was Mike Solomon’s Super-sizing YouTube, where he described the incremental ways that company reorganized its storage and access methods as it grew into one of the Internet’s most popular sites.

Odds and ends

OSCon was a very big show this year: over 2,500 attendees, and 15 parallel tracks. My own talk about my research on free documentation was up against some famous people doing interesting presentations at the same time, which probably accounted the drop in attendance relative to a talk I gave at a former OSCon. But the dozen people who came gave me some excellent feedback, which I’ll describe in another posting next week.

A star-studded panel at Powell’s Technical Bookstore celebrated the release last month of O’Reilly’s best-selling Beautiful Code. The panel consisted of Karl Fogel, Greg Kroah-Hartman, Simon Peyton Jones, and Perl/Parrot developer chromatic, moderated by Ward Cunningham. About 50 people attended, and the conversation raised interesting controversies over such things as what makes one language more or less appropriate and whether genetic programming can create beautiful programs.