Skip to content

Pragmatic Open Source

The perennial open source question of the season is nudging it’s head-up against. What exactly is this phrase “open source” and how should it be used? Steve did a nice job hammering out the issue a few months ago (here and here), but I thought I’d take a stab at it from the more, well, software developer cultural lens I tend to look at things through.

In summary, my sense is that there’s a large group of developers who want open source to be more expansive of a term than we might currently think of it. But more subtly, I’m not sure this groups is even aware (nor wants to be aware) that they want something more than open source traditionalists are willing to concede to the term. I’ve come to call this group “pragmatic open source,” which is a bit loaded, but seems to encapsulate the commodification into the development methodology stack, if you will, of the idea of open source.

Who Invited Those People?

And yes, “Agile techniques, which started out with a commitment to pragmatism and empiricism over tradition and dogma have now become a dogma unto themselves.” …that seems indeed to be a common characteristic of people, to simplify and dogmatize /whatever/. Even if someone wrote in a holy testament, “Be kind to each other”, we’d find before long people slugging it out because how someone else was being kind didn’t fit their local dogma (…oh, that already all happened, oops…) Alistair Cockburn

As “open source” has ever more pervasive, more people have latched onto the concept and are causing a sort of conceptual fork, or “evolution” if you prefer less dramatic diction. I saw this happen with the Agile Software Development community in recent times. As any movement becomes successful (as Alistair Cockburn reminded us above), the human tendency is for the original group to cleave to and defend the good old days while the new group tinkers the concepts into their future.

More than ever, the topic over what open source is is being discussed and road-tested. The two exaggerated groupings in the discussion are:

  • Existing open source folks complain that the term is being abused by commercial opportunists and scalawags. There’s very much a definition and they’re sticking to it!
  • New open source folks seem ignorant of any usage rules they should abide by, easily pulling “open source” into their understanding of the term.

We have always had these two groups in spirit: the GPL crowd and the BSD crowd. “Restrictive” vs. “Permissive.” While I certainly worship in the church open source in my own time, I don’t really believe that it’s my job, professionally, to be allied to any particular view. Rather, it’s to understand and explain the nature of open source, how it’s used, and then give people advice about how they should use and “be” open source, given their goals and tactical-slack.

Pragmatic Open Source

More so than calling out the usual GPL/BSD pattern, the interesting shift I’ve started to notice is more people on the permissive side. While there’s plenty of vocal and “money makin'” people on the permissive side, I’ve been more interested in the quiet majority of these new entrants I see. They’re usually developer types at small shops trying to start a hosted (or more grandly SaaS) application of just something to pay the bills.

Whether true or not, open source to this crowd is viewed as sort of devil-dance parter: on the one hand, it’s great to use cause it’s quality, just works, can be customized, and is free. On the other hand, they want to sell software not consulting. The way around that is to lock your software behind a URL rather than distribute it. There’s some fun how-many-angels-fit-on-the-head-of-a-pin thinking around the difference between “selling software” and “selling a SaaS” (selling run-able code rather than the running of that code), but to many of the small shop developers I talk with, they don’t care: they want to sell something. That something is either a license for software (closed source) or access to a URL. It’s really the second part that monkey-wrenches everything for both the closed and open source views of the world.

I’ve come to call this new-ish group of developer’s mind-set “pragmatic open source.” While I don’t really have it locked down yet, there does seem to be something new there.

Pushing Open Source Down the Stack

For this crowd, open source is a means of production for their software and businesses. It’s as much as tool as Java, .Net, python, or ruby might be. After years of using open source themselves, watching it discussed, and seeing groups succeed in all ways (producing quality software, using it as a vehicle to express and embody their believes, and/or make money), the pragmatic open sources attitude is, “well, I guess that’s how you develop software now-a-days. OK. Where do I compile?”

There’s a certain annoyance this “pragmatic open source” view elicits from the more traditional crowd: namely, this mind-set doesn’t really seem to care about the philosophic under-pinning of open source, mixing closed and open source, and using open source licenses to create clauses for their customers to buy their way out of (whether that means removing the reciprocal nature of GPL or avoiding the infamous attribution clauses). Indeed, these pragmatic open sourcers may not “get it.”

It’s as if the causal connection between developing and selling software is non-existant for the pragmatic open sourcers. Whereas a more traditional view of open source dictates how the software can be sold and under what terms, I feel like the pragmatic open source crowd sees (or acts like there’s) no strong causality-links between the two. There’s a certain desire to prevent open source from becoming a leaky abstraction.

Far from this context being something like “the death of open source,” the point is more a weird struggle over the scope of phrase “open source.” Who owns the phrase enough to say what it can mean and how it can be used? Why “weird”? Because the sense I get is that the new entrants, the pragmatic open sourcers, aren’t too interested in the struggle.

Sure, there are those who’d like to use the phrase as a catalyst for sales, but increasingly, companies, if only small ones, are being more, well, pragmatic, about their use of the term in their marketing.

In sense, the point here is to make sure not to baby-and-bathwater those pragmatic open sourcers. While they may not be “the faithful” or even “get it” in comparison to the more traditional open source crowd they don’t seem, at first glance, damaging.

Back to Agile

The comparison to Agile Software Development’s rapid growth in popularity and subsequent “watering down” for the mainstream pops into my head again. Overall, I think that process went well for Agile and benefited many developers. Whether the end result was the intention of the original Agile acolytes has sort of become a moot question at this point. Of course, the circular application of Agile think to that evolution is too easy. The question is if the same re-definition is called for, would work, and over-all should continue to happen with “open source.” The “enterprise rails” debate is another fun touch-point.

Or is it time to batten down the hatches and start boiling the tar?

Categories: Development Tools, Marketing, Open Source, Programming.

Comment Feed

2 Responses

Continuing the Discussion

  1. […] negative reaction in some of the comments on Michael’s blog and on slashdot. Cote also did an interesting post pointing out that all might not be so happy with Michael’s […]

  2. […] Pragmatic Open Source – Coté starting from the perennial open source question goes much, much beyond. A must read. […]