To OpenSource and Beyond!

To OpenSource and Beyond!

This is a first in a series of posts based on my read of the potential of opensource. The first part gives an intro to what I mean by opensource projects, and why it has become more than just free code!

Around 2 years ago, I took at break from the academic lifestyle (teach, research, publish), to delve into the “industry” by working at a US-based startup, PLUMgrid. The original thought was that I wanted to understand how the industry works, and what it requires from the students coming out.

As with most anything in life, things do not happen as you planned. I had expected to learn the working of a product-based company and its internal code maintenance, CI/CD, project management, marketing and sales. However, I serendipitously got introduced to, and then fascinated by, the potential and impact of opensource ecosystems — first through Openstack and then through OPNFV and sister projects in the NFV ecosystem. What follows is a quick summary, in my opinion, of how these ecosystem are born and thrive as well as their growing importance.

Opensource projects, Linux being the most famous, are now no longer an activity of people working only pro-bono. Much larger projects are now built in opensource to build a robust code base using the “Linux philosophy” that enforces meritocracy in design and feature selection for a given project [1]. Once a community around a project is created (perhaps using backing of an organization like Linux Foundation) the projects starts attracting commercial companies to invest dollars in developing the project as Gold, Silver, Bronze members of the project.

These projects are then curated by a non-profit organization/foundation created, with both a board and CEO (and other functions, c.f. Openstack [6]) to have an oversight of the working, direction, scaling, as well as promotion of the community (see this is starting to sound like a company, right?) . The Companies that become member get certain seats on these boards, but the overall community as well as bylaws ensure that no single commercial entity has exclusive control. In fact the success of these community depends on being perceived as agnostic to any single entities interest, as only then do developers believe in the project and contribute time and code. Thus is some sense these communities start looking like quasi-nationalistic tribes, and the art (being perfected as we speak) lies in creating and maintaining loyalty within these tribes that give a feeling of belonging and altruistic achievement on their successes.

In some sense, these projects have become a standardization mechanism for software architecture and development stacks. The projects that get the largest user-base, the highest velocity of features being added, intrinsically create the greatest number of developers in a new software paradigm. These devs, available in the market, self-promote the project when employed to fill a requirement (think Node.js, its community size, and its defacto status for backend development). Thus, the same value that companies sought through representation in the standards body, now comes through participation in opensource project.

A very good example is the NFV area [2], which was created by a specification body (ETSI) defining the vision of software based telco functions. However, the *standardization* of the actual interfaces (in terms of code and not specs) is being played out via large opensource projects — the Linux Foundation supported OpenO and OPNFV [3, 4] and the ETSI backed OSM [5].

This concludes the first part, but soon what will follow is how I see universities and students can make use of this opensource revolution, especially in the context of Pakistan.

PS: My thoughts are very specific to software technology — however, I believe in time as software covers more engineering topics (in the form of Software defined Radio, SD telecom functions, etc) this approach will become more applicable to other domains as well.