Open and global

We should embrace the reality that software projects are not separable from the people who work on them.
  • Jon Udell (Unknown Publication)
  • 21 April, 2003 22:00

I've begun exploring a set of interrelated themes that Andy Singleton has identified under the rubric of "IT deflation": a global pool of talent, a surplus of software components (often freely available), and the research and communication skills necessary to translate these resources into IT successes.

One especially useful perspective is Brian Behlendorf's. As co-founder of both the Apache Software Foundation and then CollabNet, Brian believes, and I agree, that we should embrace the reality that software projects are not separable from the people who work on them.

He says that one of the key insights of open source is that there are good reasons to attach people to code.

"Apache isn't just a web server, it's a web server with a community around it. To treat software like Legos, without thinking about the context and the community, is a losing proposition. There was a lot of noise a couple of years ago about building corporate component libraries. But the problem is that by simply having that code there, you didn't have the context."

Of course it's no accident that the internet is the soil in which all open source projects are rooted.

Behlendorf: "We have a couple of customers who are using SourceCast [CollabNet's ASP-style collaborative infrastructure for software development] to coordinate worldwide development. A lot of enterprise tools have been designed for the LAN, not the WAN. The primary deployment protocol of [Rational] ClearCase is NFS, and it uses Unix permissions -- it just wasn't designed to be shared over a very wide area network. When you have a tool that's built for wide area use, the benefits are more than just seeing the day-to-day CVS commits. Participants get to know one another as individuals."

The hallmark of open source is transparency. Every aspect of a project -- the CVS repository, the issue tracker, the email correspondence -- is visible to everybody. What works for global open source projects can also work for globally distributed enterprise IT.

Behlendorf: "We started a project with Barclays Global Investors over a year ago. They have a development centre in Australia and also have teams in India, California, the UK. The teams were very spread out; they had no global knowledge of where code actually sat. In lots of cases, it was on developers' laptops, not centrally managed. By simply getting on the same page, by having a place to store it, they're finding redundant efforts. And they're finding teams working on the same kind of project who don't know about each other and who can loosely couple."

When projects run in transparent mode, and when Google can see them, it becomes possible to search broadly for people and for software components. If there's something that could save you a couple of weeks, if only you knew about it, the odds that you will be able to know about it are constantly improving. As a result, some skills not classically thought to be part of the software developer's repertoire -- like communicating clearly and quick and wide evaluation -- come to the forefront.

Behlendorf: "What always frustrated me, in computer science, was how we learned all the low-level things -- which we have libraries for nowadays -- but we didn't learn large-scale integration. What's the skillset to be able to jump into the code base of something like Mozilla, read the architecture docs and figure out the makefiles? Computer science classes don't teach you how to dive into foreign code bases."

Of course, that's increasingly becoming a social networking skill. I recently got interested in the new XML version of Sleepycat's Berkeley DB. If you go through the front door, on the Sleepycat website, you won't find out much about that project, which is still in beta. But John Merrells, who's working on the beta project, has a weblog. He can help guide you.

It's becoming a game of free agents, and by operating in this public and transparent way, free agents advertise themselves -- as a brand -- along with the products and components they have expertise with.

The world's full of smart people who have, collectively, a lot of the intellectual bandwidth needed to absorb and master open source infrastructure. It's the scarcity of expertise with the software that has made open source uneconomical in a lot of cases. As people in India and Russia and elsewhere dig into open source technologies, they can broker that expertise and help bridge the gap between the theory and the practice of reuse.

Udell is lead analyst for the InfoWorld Test Centre.