Open Source, a Community-Inspired Software Development

Open Source, a Community-Inspired Software Development

Open Source, a Community-Inspired Software Development 150 150 infrastructure

The World Is Flat book author Thomas Friedman said that “the most disruptive force of all” is that of the increased ability for people anywhere in the world to collaborate. In his book, he re-told the story of how Behlendorf had founded the Apache Software Foundation (ASF), a big self-organizing community of software developers.

Apparently Behlendorf wasn’t the only one working on the project he was working with so he started to collaborate with the other programmers to — simply put it — get things done faster. This collaboration eventually gave birth to ASF.

ASF’s focus is on open source — a model of development that has gotten a lot of contention in the past years. “Open-source” comes from the notion that companies or ad hoc groups would make available online the source code — the underlying programming instructions that make a piece of software work — and then let anyone who has something to contribute improve it and let millions of others just download it for their own use for free. While commercial software is copyrighted and sold, and companies guard the source code as they would their crown jewels so they can charge money to anyone who wants to use it and thereby generate income to develop new versions, open-source software is shared, constantly improved by its users, and made available for free to anyone. In return, every user who comes up with an improvement — a patch that makes this software sing or dance better — is encouraged to make that patch available to every other user for free.

Recently, we published a paper that talked about why enterprises should consider Open Source. What I’d like to do today is to give a little more info on the open source development environment. I’d like to outline some “scenarios” which I got from various sources that will explain and illustrate further what it’s like to be involved in such a community.

Let’s get started:

Operation: Meritocracy. An open source software development structure most often demands that you “show the code” and contribute in order to earn influence and eventually, “have more of an effect on the direction or status of the project“. It’s like being “judged by what you DO“.

CEO of Lucid Imagination applauds this and says: This “meritocratic development ethos of open source promotes only the best and brightest content through the engineering process, creating an environment of “frictionless innovation.” It is fundamentally a much better way to collaborate, ensuring that the features users really want end up in the product — with public peer review filtering out poor code. Compare this to the way most proprietary vendors move the development process forward. With only token input from customers, factions within the company battle it out to prioritize new features, usually optimized for a few of the largest customers or customer deals. If you’re not in that elect group, your needs won’t be met. Fixing feature flaws and an aging code base become cost/benefit decisions where more time is typically spent on the decision than the fix.

Rubbing Elbows with other IT rockstars. The unique, collaborative nature of open source development provides many opportunities to interact with brilliant software engineers anywhere in the world. And LEARN from them, too.

Deng Ching, one of our software engineers, started to get involved with open source in the late 2005. Her involvement in the community started out through Exist, but now she’s much more involved outside of just work. It’s become her passion. She tells me that it took her some time to get to imbibe the value of sharing and collaborating. “It’s cool that I get to contribute to the community. I also love it that I’m able to learn many things — from other people’s work (best practices for coding and design, cool libraries/ technologies) as well as from the people themselves. I think I really grew a lot not only as a developer but as a person too.”

There is this interesting case about converting Plexus to Spring which I’d like to cite and this is an example of a real benefit when you you involve a community of diverse developers in what you’re doing: Brett Porter, software developer at MaestroDev, a company building a development automation toolkit to streamline DevOps, says it’s not revolutionary, or surprising – but it is cool – and if you can harness this kind of small innovation on a regular basis it makes a big difference.

Collaboration is the mother of innovation. “Through the contributions of scores of open source developers, hundreds of end-user organizations, and thousands of individuals, LogicBlaze FUSE is moving forward at a far faster pace, both in terms the development of its core technologies as well as being extended to uses like Web 2.0 that we hadn’t anticipated a year ago,” narrates Winston Damarillo, former CEO at Exist and a very successful technopreneur.

Transparency means more Control. Winston narrates that “open source is not just about saving money, but also about controlling the destiny” of your project.

Transparency may be the most important open source value. Transparency is inherent in every release of open source code. It works on a programming level, building community around code and a stronger code base.

ASF co-founder Behlendorf notes that: transparency leads to a progressive growth of involvement, from new user to patch submitter, within a project. He also noted that while the right to fork open source code is often seen as something to be feared, it actually forces a change in management style which seeks to find and build consensus rather than forcing the will of a leader on everyone else.

Winston says: “I often say that open source development provides the best 80%-complete software in the world. Because what is available in open source is really better than most of the commercially-licensed alternatives. But the advantage the commercial solutions have is that they deliver the whole package – all the parts, integrated, tested, documented, supported and licensed as a single package.” However, as we know, the biggest hurdle with commercial solutions is that customers do not really have control of the features of that software.

Still on the fence about open source? Check out this presentation by Deng on “Open Source Communities” and discover its similarities with a relationship between a guy and a girl.

We love to see more Philippine software developers getting involved and active in the open source community. Drop us a note or a comment if you’re interested.