Behlendorf: 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.
software is plentiful these days, talent to make heads and tails of it not. who wants to write software from scratch? not me. i always found it more interesting to stitch something together from existing parts, usually losing interest after a solution started to manifest itself.
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 skill set 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.
you need capabilities to:
- analyze and visualize a code base
- identify the community leaders
- learn the community customs
- understand the real scope of a piece of software
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.
right on. no longer is software production a solitary discipline, with engineers huddled over manuals and out of sight in some cubicle. rather, in a world where you cant possibly write a significant portion of the code you gonna need, the person with the best social skills wins.