Lets. Push. Things. Forward.

By on August 1, 2006 12:53 pm

SitePen is an interesting hybrid of Open Source idealism and intense pragmatism. Lots of companies work on a bunch of things and then try to Open Source bits of that they think won’t compete with some product they hope to sell or will commoditize a competitor’s offering. In a lot of cases folks use restrictive Open Source licenses (e.g. GPL) to create some sort of “carve out” that allows them to be the only people who make money directly from a codebase. We think that’s a fine tactic as far as tactics go, but how is that really different from closed-source companies locking up markets via network effects?

We’ve grown because we work with and help grow the Open Source communities we’re a part of and do it in a non-exclusive way. We didn’t start working this way because we’re prescient or have some super-secret plan, but because we believe that well-done Open Source projects create markets that benefit users. Being plugged into those projects just gives us better access to those market opportunities while at the same time scratching our collective itch to do the right thing. We’re not afraid of competing on a fair playing field and if Open Source can help us ensure that the pitch remains flat, so much the better. You can almost think of it as “sustainable software”.

It’s accepted wisdom these days that great Open Source represents the last step on the road to software commoditization, but I don’t think the story ends there. Software is complex. Like the cost of physical production before it, managing complexity is now the limiting factor in reducing the cost of producing software products. On a recent trip I was re-acquainted with the idea of the “Magic Number Seven” thanks to an article in Scientific American. The basic premise is that we humans can only keep so much on “stack” at any given time. One of the obvious applications in software is that abstractions help make you more productive. For proof of this, just sit down and watch a Ruby programmer who knows a couple of DSLs. The ability to pack more meaning into fewer “words” is a tremendous advantage to someone who knows where they’re trying to go. Unfortunantly, abstractions are leaky and so knowing just the abstraction stacks the deck against less experienced developers and their employers.

The upshot is that seasoned veterans will always be able to help you navigate the fjords and currents of application development faster than someone who’s never seen the tools of the trade before (let alone the particular problem you’re facing right now). Having a good idea of what you want to do is necessaray, but not sufficient. SitePen’s clients don’t hire us because we grok Open Source, they engage us to help them build things or better understand the tools we know in depth because they’ve seen what we can do with them.

And isn’t meritocracy what Open Source is all about?