Open source now enjoys a rich and complex history, which is largely the result of trial and error over the years. What would you say have been the open source community's greatest missteps, or lessons learned?
We made our biggest misstep back around 1985, by letting our advocacy function get almost completely captured by the Free Software Foundation. On a purely technical level, open source could have become an effective movement any time after inexpensive 32-bit PCs became available around 1987. As it was, we lost 10 years because our theory was weak and politically tainted, our community fragmented, and our propaganda ludicrously inept.
To be fair, neither I nor anybody else wanted the advocacy job at the time. But it's notable that open source didn't break out of its hardcore-geek ghetto until Linus Torvalds and I found a better story to tell about it after 1997. Did you know that the Mayans invented the wheel but only used it for children's toys? Narratives really matter; open source wasn't the first technology to languish at the margins because it hadn't found the right generative myth yet, and it's unlikely to be the last.
If you could wave your wand and create the perfect software "universe," what would it look like?
This is only an interesting question if we stick to technologies we know how to do, rather than muttering things like "strong AI solves the programming problem."
There would be two universal languages. One would be high-level, resembling Python or Scheme -- objects, rich type ontology, garbage collection. One would be low-level, like C but statically type-safe. Both languages would have strong notions of contract programming, for proofs of correctness and security properties. Either language could be used to extend or embed the other.
OSes in this perfect universe might be hyperevolved Unixes, but I think they'd more likely be capability-based persistent-object systems like Eros and CoyotOS that preserve Unix APIs as a fossil relic.
Internet-connected computing would be ubiquitous. An average person's personal property would have more IP addresses than major corporations do now, and more computing power than the entire world had in 1990. Most of that would be used in ways we don't think of as "computing" -- like, if you lost your favorite shirt you just ask it where it is.
People would remember that closed source once existed, but only in the same way that we know our ancestors were bad at sanitation and got lots of diseases because of it. They'd find the idea that closed source and proprietary protocols could ever be a good idea so obviously absurd that they wouldn't even bother to argue against it, just laugh and point.
Top hackers would routinely get mobbed like rock stars -- OK, now I'm off into fantasyland. (Actually, I've had this happen to me, and it's less fun than you might think.)
There has been a fair amount of controversy, competition, and dissent within the various open source communities. Does this lack of agreement damage the long-term goals of open source, or would you like to see more of this?
Some of it's healthy. Multiple projects competing for the same ecological niche can be spurs to each other. Some of it's not -- the amount of flamage that goes on over license choices and ideology and intracommunity politics is, frankly, ridiculous.
Evolution is messy. Free markets are noisy. Communities full of passionate people are disputatious. But these things beat hell out of their only alternatives. I wouldn't say I actually want more "lack of agreement," but I accept it as a consequence of dealing with human beings.