January 19, 2008

The Free Software hardliner, the corporation, and the shotgun wedding

Author: Josef Assad

We called it Free Software at first. It wasn't until we started calling it Open Source that the punditry line counts began creeping up higher than the code line counts. We had this baby and we were proud of it, and the deep rooted insecurity born of being the ridiculed and utterly misunderstood underdogs made us require the approval of business and Grandma Bessie before we could ourselves be satisfied.

Well, now we've got it, and in some ways Open Source is not better off because of it.

Thanks to the cavorting evangelists in the Ubuntu community who were converted on the strength of a cheaply-gotten sense of technical superiority over their peers who still use Windows 98, "Free" is now a dirty word since it stands so often in the way of converting more people, faster.

Free Software wasn't originally meant to be a cult with a membership statistics monkey on its back; the idea was, like, to be "Free."

And what happened when we celebrated the business adoption of Open Source? Many great things happened (just look at LKML), but something bad has also happened. We started thinking that we'd have to get around the notions of liberty and sovereignty to make our baby pretty for the Big Business IT Fashion Show.

We showed a willingness to sweep our sense of liberty under the carpet, and in return we got Sun's OpenOffice.org and Linux versions of Skype. We got binary blobs for video drivers -- crystal-clear memos from the video chipset companies that said they were so disinterested in Open Source that they didn't want to benefit from the most trivial advantage of Free Software: development cost savings.

When we nagged, it was for an updated Linux Flash plugin. We didn't lobby for a Free one.

I don't want to malign the term "Open Source," but rather use it as a portmanteau for what we have today versus what we built before. Open Source it is about the software, while Free Software is about people. And you can have good -- and open -- technology if you have a strong community, but you can't necessarily grow a healthy community if you have open technology.

Where did we go wrong?

Wasn't the magic of licensing going to preserve all that we held dear? The GPL was more than just a license; it embodied a philosophy, and it contained a statement of intent: "This is our software," it said, "and you're welcome to come in and play. Here are the rules which guarantee that other people can also come in and play."

The four basic freedoms of Open Source -- the right to view, modify, redistribute, and to use for any purpose -- go a long way toward inclusiveness. The idea of inclusiveness is to create an environment conducive to establishing and preserving a community.

And then something happened, and we got Open Source projects with characteristics which were to community what North Korea is to democratic government. They had corporate stewards who sat at their front doors, checking everyone going in; Sun Microsystems with its office suite being a canonical example, Canonical with its Launchpad system being a shining other. They had corporate sponsors who used the developer community as free (skilled) labor or, worse, as a testbed: "Let the rabble use it and let's see what breaks."

The Free Software community isn't there to build revenue or to have development models built around it. That wasn't the original idea. We wanted to control our own technology. Acme Solutions tries to control the development community around its system, and when this doesn't work, what does it do? It throws the HR department at the problem and ends up with an internal group of developers, which hardly qualifies by any standard as a community. And the point here is: "If there isn't a community, is this what we had in mind when we started out with Free Software?"

There are some projects out there which have changed the face of Free Software: the Netscape codebase certainly has, as has the StarOffice suite. In both cases though, the codebase is so broad, complex, and mired in "let's build a suite, we can't miss any features" development philosophy that these systems are not very approachable to begin with, which is why the larger projects are worked on mainly by people who are paid to do so. To each their own, of course, but we had our own way of doing things and it wasn't by building "suites" or leviathans of clumped capability.

The classical Unix concept of small and simple components in a conceptual tool chain, held together by stark and self-documenting interfaces, probably wouldn't have given us OpenOffice.org Calc. Or Firefox. Or Evolution. But what is interesting about these prime examples of Free Software with corporate-monolith-suite-itis is this: they end up sporting plugin systems. To be really honest, a plugin system is actually at a very high level a scream for help, a way of saying, "This codebase is too beastly! We need to export a simplified interface for developers to be able to contribute more easily!" Plugin interfaces are admissions of guilt. They are unconscious confessions that it was a mistake to discard the tool chain architecture.

What happened to Free Software when it courted the corporation -- apart from changing its name -- was that it bent over backwards to accommodate corporate IT characteristics. A business is more likely to develop ERP software than to develop a small application such as sed. Corporate-driven monster applications are less approachable, and therefore less likely to attract by any organic means a developer base, than simpler applications. "Small is beautiful" just isn't in the corporate DNA, at least without some sort of revolution.

We don't get very much "release early, release often" these days either, at least not as much as we used to. "We'll release it when it's ready" is now dirty: the more professional communities have release schedules. Eh, "professional"? As opposed to "amateur"? If the last 10 years of geekery and the Internet have taught us anything, it is that amateur culture is not another way of saying "this sucks." Remember, GNU didn't start with an IBM grant, and neither did the Linux kernel. And they came from somewhere.

The Free Software modus operandum and free culture are not antithetical to the corporate model, but I don't think the two have figured out how to mesh yet. That guy sitting in his mom's basement, getting a CRT tan and letting his beard grow, who wrote your IDE driver, and the dark-suited dude with the pointy hair and the Mont Blanc pen are joined at the hip -- but they could both be enjoying it a bit more.

Novell's people look like they have a pretty clear idea of what they are doing with their corporate Linux systems, but when it comes to openSUSE and the associated community, there's a certain sense of disconnect -- which is probably innocent; neither side has worked out how to speak to or make use of the other, and distro releases are like difficult births. The openSUSE/SLE model actually looks like a me-too of the Red Hat/Fedora divide: "Oh, look at what Red Hat is doing! Let's do it, too!"

IBM products that get open-sourced don't usually don't attract a traditional developer community. Sun Microsystems wants Free Software that, paradoxically, it can control. Is the Firebird RDBMS really any more accessible now that it is open? When an organization opens a product, it typically continues to invest in development instead of pouring effort into creating a genuine, sustainable organic community structure. Open Source becomes a marketing sound-bite, like an ISO Certified label on a can of sun-dried tomatoes. ISO certification used to mean something, but time dilutes.

If the idea of Open Source is to make IT cheaper for the bean counters, we've succeeded. Those who believe Free Software is supposed to change the way people think about ideas and information, not just save money, often feel frustrated about how their creation has been co-opted by people who don't share their desire to be "Free."

Political scientists learned the hard way that introducing democracy before improving education was a recipe for trouble, and I think one lesson we can take away in our field is similar. Our code is inextricably ideological. Free Software is a choice, an option, and also a movement. If we don't educate our users about the ideology behind Free Software, we not only cheapen Free Software, but lose everything that made it special in the first place.


  • Commentary
  • Open Source
  • Free Software
Click Here!