Where do we go after the Open Source Revolution?
Its safe to say we are living in open development times but the journey isnt over yet. James Falkner examines what the future holds for open source.
A lot has been written about the open source
revolution and its impact on public and private business in the
last several decades. Throughout the late 20th and early 21st
century, open source made huge inroads in virtually all aspects of
computing thanks to economic uncertainty, the widespread
availability of the internet, and a new generation of software
developers raised in a world of sharing and mutual benefit through
open development. I think everyone can agree that open source has
in some sense “won” and we are
firmly in a post-open source
But there’s something else to consider when
thinking about how open source got here and what its future holds.
It’s found in what I believe to be a gradual yet unmistakable rise
in the approachability of open
There are many -ilities
that one looks for in any software system: flexibility,
scalability, reliability, accessibility, and so on. These can be
more accurately than others) and compared to
find the best of breed system that matches the needs of the
consumer. However, even the most flexible and scalable solution
might not achieve the desired result if the project’s architects,
developers and maintainers do not fully understand how to apply it
to their situation, or fail to recognize and apply best practices
appropriately, or have no idea what to do if something goes wrong.
And this is where the concept of open source and open development
has a distinct advantage: the more approachable
software is, the greater the chance it will be used correctly
and effectively by its target audience.
What is approachability, and how can open
source be better at it?
Approachability refers to the ease of adopting a
software package: understanding not only how it works and how to
use it (documentation), but how to use it
effectively and without unnecessary complexity
(best practices). But that’s not all there is to it. Approachable
software has as much to do with the people behind software as it
does with the technology itself. Simply throwing source code over
the development team’s wall does not increase its approachability.
Embracing the collaborative spirit and building a thriving
community of interested people around software, in which they can
share experiences and innovate together, results in a much more
approachable system over time. Organizations’ procurement processes
are increasingly evaluating software not only on its feature set,
but also its approachability in terms of availability of existing
experiences, best practices, longevity, and community
Open source has a distinct advantage, but does
not have a monopoly. There are many closed source packages that are
easy to use and have a solid community (think Apple’s iOS or
Adobe’s Photoshop), but the principles of open source and open
development often provide a shortcut to better approachability. The
history of open source and the motivation of its developers give
some clue as to why.
Open source developers have historically been
motivated by two big reasons: the desire to innovate and the desire
to give back.
First, a lot of open source was born from
frustrations with alternative systems that were closed source, too
expensive, too license-restrictive, or
almost, but didn’t quite
meet a need. Without the ability to innovate and re-use the
“good parts” of these closed systems, developers chose to craft
their own open alternatives, sharing them with the wider software
community and attracting other developers with similar motivations.
Communities that formed around these alternatives were infused from
the start with a competitive spirit and a strong desire to make
their open “alternative” into the “mainstream”, often through
This “itch-scratching” desire and strong
feedback mechanism from open source communities drove software like
Linux to become the dominant mainstream player in modern
application platforms for web infrastructure, cloud computing,
mobile devices, and even embedded systems. The approachability of
Linux is evident in its ability to be successfully adopted across
huge swaths of the computing landscape.
Second, and the reason why many software
projects start out as open source to begin with is the desire to
“do good” and donate knowledge and experience to society, thereby
advancing the state of the art and enabling continuous innovation
for future developers. The Free
Software movement exists for this reason, and in
fact many contributors to open source projects are motivated not
by financial gain, but by their desire to give a
little intellectual capital back to the communities built around
the software on which they depend.
began in this way, and has gone from a 1-person academic
project for developing audio processing algorithms to one of the
most popular digital audio tools in the world, with 10,000
downloads per day, hundreds of
contributors to the project and many more community members and
users throughout the world. In an
article from Linux User & Developer magazine,
Audacity founder Dominic Mazzoni states “I don’t think nearly as
many developers would be willing to contribute their code if we
used a different [non-free] license.”
In other words, open source contributors often
act in the self-perceived best interests of open source, choosing
to work on a project not only based on its technology, but also
based on its moral compass. With a diversity guaranteed by this
innate selection process, open source projects are often easier to
use, more applicable across cultures, and have a more supportive
community. In other words: more approachable.
It’s also interesting to note that many of
today’s popular open source projects sprouted from or were inspired
by existing open source projects with the same issues as their
closed source brethren. Open source web server nginx has seen huge
adoption since its inception as a high-performance alternative to
the open source Apache HTTP
server, and is now the most widely used Web server
among the world’s 1,000 busiest sites, according to the company.
nginx may not have all of the features found in other solutions,
but its approachability in terms of its configuration, lightweight
nature, and passionate community has led to widespread adoption in
short period of time.
Becoming More Approachable
Projects should consider how they are perceived
on first approach, especially if they are a new project seeking
increased adoption and are often compared to other open- or closed
alternatives, where there are existing expectations. How easy is it
to test drive? How difficult is it to configure and use for a real
world scenario? Are there support communities (free or paid)? Are
there established best practices for the project? How does it
compare to other alternatives? For developer communities, what is
the “Hello World” equivalent process for writing extensions or for
contributing to the project?
Highly flexible or configurable projects have
additional work to do to provide sane defaults and sample
configurations for various scenarios. Ideally, there is a mix of
best practices and guides both from the project itself and from its
While there is no quantitative measurement of
approachability, efforts that concentrate on improving the process
of adopting the software as a replacement to a real or perceived
alternative will increase approachability. Increased
approachability, when combined with other efforts in advertising
and marketing, can be extremely effective at making a project feel
less like “the alternative” and driving adoption.
Approachability is key to improving adoption rates for
software. Open source projects enjoy a distinct potential advantage
over closed source alternatives when it comes to approachability,
and much of this stems from the very nature of open development.
Open source developers are often motivated not by money, buy by a
strong desire to innovate, to be recognized for achievements, and
to give back and advance the state of the art in a given field.
However, simply being open source does not guarantee better
software. Rather, having a strong focus on improving the “first
impression” that a project makes on its target audience, along with
ample supporting documentation and a strong sense of community can
greatly enhance a project’s adoption rate and position in the