Much of the software that powers
the world's largest companies, protects our personal data, or encrypts national
security information is open to the public. Anyone can download the
source code behind Facebook's user interface, Google's Android operating system
or even Goldman Sachs' data modeling program, and use it as a
building block for a totally new project. What's more, lots of
this software is actually developed collaboratively, created and maintained by
an army of thousands, from unpaid volunteers to employees
at competing tech companies. As a kid in a small town in
Virginia, I could get connected to the best developers anywhere on earth and learn from
them and even read the code that they'd written. I really wanted to
give back and these people were always my heroes, so I
wanted to participate too. And my voice mattered, it was
just immediately, I was hooked. This is the collaborative world of
open-source software, where code is written and shared freely. If individuals catch a bug or see
an opportunity for improvement, they can suggest changes to the code and thereby
become a contributor to some of the biggest software
projects on Earth. But this model hasn't
always been the norm. At the dawn of the Internet
era through the late 1990s, proprietary software proliferated. Microsoft even went so far as to
call open-source un-American and bad for intellectual property rights. Software was a finite commodity that people
hoarded and wanted to sell as a product. Open-source software was only
developed and maintained by a dedicated few. And there was this
fringe world, there was this academic world who were creating software according
to their own rules and sharing it publicly and making it free. Certainly dreamed, like wouldn't it be awesome
if we could sort of take over the world? Now, open-source has,
essentially, taken over the world. Companies in every industry from Walmart
to ExxonMobil to Verizon have open-sourced their projects. Microsoft has completely changed its point of
view and is now seen as a leader in the space. And in 2016, the U.S. government even promised to open-source at
least 20 percent of all its new, custom developed code. So whether you know it or not, you
are relying on the volunteer labor in many cases of thousands of
strangers from around the world. In the 1970s, the M.I.T Artificial Intelligence Lab had a
printer that regularly jammed. So staff programmer, Richard Stallman, altered
its source code, so that when problems arose it would send a
message to everyone in the lab saying, "Go fix the printer." When the lab
finally got a new printer, Stallman discovered its source
code was inaccessible. He asked for the code, got refused,
got upset and ultimately quit his job to develop a completely open operating
system called GNU, in 1983. With this, Stallman spearheaded the free
software movement from which the open-source movement was born. It's sort of a very
natural way to work together. Collectively, if everybody comes and contributes
their piece, you end up with something that's a lot greater
than something that an individual could contribute on their own. But
throughout the 1980s and the 1990s, proprietary software is
still dominated. And that was a very lucrative way
of producing and selling software, and created an incentive for large
technology companies to create a proprietary de facto standard. It was against this backdrop that
the open-source operating system Linux was unceremoniously released in 1991. It incorporated many elements from Stallman's
GNU project, but was mainly used by hobbyists looking for an
alternative to Windows or MacOS. Throughout the decade though, Linux
gained momentum as large companies took advantage of its flexibility and
tweaked the software to their specific needs. By the turn of the
century, NASA, Dell and IBM were all using it. The platform itself
changes nine times an hour. Ten thousand lines of code are
added to Linux every day. About five thousand lines are changed
and about eight thousand lines are removed. It is by far the
highest velocity, most effective software development process in the
history of computing. As Linux grew, other open-source
projects were also gaining popularity, like the database management system
MySQL, the Perl programming language and the web server Apache. But for the layperson at the turn
of the century, the rise of these technologies could have
gone unnoticed. After all, hardly anyone ran
Linux on their personal computers. But then in 2008, Google released Android
devices, which run on a modified version of Linux. Suddenly, the operating
system blew up the smartphone market. We are still overwhelmed with
the amount of innovation that is happening in that
ecosystem of Android. Today, there are over 2.5 billion active devices using Android. As Google demonstrated, businesses were
increasingly relying upon this complex web of open-source technologies
to build products and platforms quickly. And whether they knew it or
not, this also meant that they were depending upon the vast open-source
community to maintain this software. The ability for one company to
produce the amount of software that's required for any modern technology,
product or service became overwhelming. Today, in a modern luxury
automobile, there are more lines of software code than in
an F-15 fighter jet. There's just simply too much software
to be written for any single organization to write it themselves. Ninety nine percent of Fortune
500 companies use open-source. Every web server is
pretty much Linux. Most people choose to
use open-source programming languages. It's this like amazing buffet. You just come in and take this,
this, this, this and you slap together something. You can build, you know,
amazingly powerful products with very little work. The sheer increase in
volume drove a need amongst developers for a central repository where they
could collaborate on these huge projects. And in 2008,
GitHub provided an answer. What GitHub really did for open-source is
it kind of standardized the way that people can contribute to
open-source projects and interface with them. And so that any developer, anywhere
on earth knew how to contribute to a project on GitHub. And that fed this
explosion of open-source activity. Today, Github hosts the grand majority
of the world's open-source software projects. And in 2018, Microsoft even
acquired GitHub, affirming the tech giant's commitment to
open-source development. We have about 140 million open-source
or software projects that are on GitHub, and over 50 million of those
have been added just in the last year, so it's
growing incredibly fast. And the community has expanded far
beyond idealistic hobbyists, as major companies are increasingly leading
the charge, spearheading the development of open-source
projects in-house. So we see companies like Intel,
Google, Facebook, Amazon, Microsoft all contributing heavily to open-source, Googlers
have been contributing to over 28 thousand projects in 2018. This number includes projects that Google
has driven as well as contributions it's made to projects led
by other companies or individuals. In the open-source world, you have
these fierce commercial rivals who collaborate every day together. And they haven't signed anything. And it's not just software companies. ExxonMobil has open-sourced
its developer toolkit. Walmart open-sourced its cloud management
platform, and Goldman Sachs recently open-sourced its
data modeling program. This open-source way of working
turned out to be better. Because even in a big tech company where
you might have 20 or 30 or 50 thousand developers, you can't compete with
the 40 million developers that are now on GitHub working
on open-source every day. Put simply, open-source development has
become the new norm. And so I expect to see
more and more investment into open-source communities and more and more projects
as well as companies finding ways to commercially monetize the activity that's
collected across all of these different open-source communities. So how is open-source monetized, when
the product is basically given away for free? Basically, the answer
lies in selling support services, subscriptions and/or commercial versions
of the software. Red Hat, founded in 1993, was the
first to figure out a successful business model, which relies upon
selling support services for its operating system, Red
Hat Enterprise Linux. Anyone can download the software for
free, but if businesses want technical support and greater security,
they'll need to buy a subscription. After decades of commercial
success, IBM officially acquired Red Hat in 2019
for 34 billion dollars. It was the largest
software acquisition in history. It's really groundbreaking, and it just
shows the power and success of open-source across the world,
across the industries. While Red Hat's 100 percent open-source
model has been hard to replicate, other companies like database program
MongoDB and integration platform MuleSoft, rely upon an "open-core" model,
meaning the basic features are free, but add-ons and other
useful elements are proprietary. As these companies have racked
up multi-billion dollar valuations, there's no doubt that on the enterprise
level, there's big money in open-source. But as for the individual developers,
the hobbyists who contribute to and maintain open-source projects just for fun,
their path to profitability is much less clear. There are a lot
of different models for how people make money in open-source. One of the models
is actually they don't. A lot of them are volunteers and they
do this in their free time, in the evenings and on the weekends. But sometimes these "just for fun"
side projects end up becoming widely used, critical to the internet infrastructure
that we generally take for granted. Certain projects get so popular
and so widely used that, you know, they're in every product. They're used by every company. And then
this result of like, you know, massive Fortune 100, Fortune 500
companies building their businesses on top of this code that's written by
hobbyists for who knows what reason, right? As one might imagine, problems
can arise when critical systems are based on software that's maintained
by unpaid volunteers with no professional obligation to see to
the maintenance of the project. This issue came to a head in
2014, when the security vulnerability dubbed Heartbleed was found in OpenSSL,
an open-source encryption technology that's used by the majority of
web servers to protect user's personal data. The flaw has gone undetected for
about two years and has exposed millions of usernames, passwords and possibly
credit card info as well. They left this lock capable of being
picked, because they didn't write the code quite right. And when they looked into it,
the OpenSSL team was tiny. It was just a few people, who
were mostly working on donations, and their donations had started to dry up. And understandably, these incredibly talented
programmers had a hard time justifying spending full-time on this, even though
it was one of the most important building blocks of
the entire Internet. Ultimately, organizations like the Linux
Foundation pulled together to provide financial support for OpenSSL, as
well as other critical pieces of underfunded open-source software. But the disaster served as a wakeup
call for an industry that still largely relies upon unpaid labor. The burden on the maintainer
can become quite intense. You have sort of all these businesses
coming and saying like, you know, your code is broken, and it's preventing
me from getting my job done. And so you get this like almost intense
guilt, I feel like, a lot of maintainers have a guilt. Now, companies are taking note and
helping to formalize new funding models. In 2019, GitHub rolled out
their Sponsors program, which allows developers to give and receive
recurring donations for their work. We already have some people who are
making their full living on GitHub Sponsors, so they don't
have another job. And so that's huge for us. And that's really the key number that
we are trying to move up. For developers like Aboukhadijeh, making
a full-time living around open-source is indeed the dream. I prefer the freedom of being able
to just follow my interests wherever they go and solve whatever
problems I think are interesting. I'll never make money from some of the
stuff I've worked on, but I think I've done a lot of good in
the world by working on it. It's still early days, but if funding
models like GitHub Sponsors pay off, we may see a new class
of software engineers eschewing traditional tech jobs in favor of
independent, open-source work. Open-source has created so
much technological progress. But because it never quite solved
this funding problem in those early years, I think that we are at a
point now where we could lay the groundwork for the next
stage of open-source. This could also mean expanding the
cooperative ethos to industries outside of software. As the idea
of sharing technology and collaborating collectively expands, we're moving
into open hardware initiatives, data-sharing initiatives, and that's really
going to be the future. After all, the success of
open-source reveals that collaboration and knowledge sharing are more than
just feel-good buzzwords, they're an effective business strategy. And if we're going to solve some
of the world's biggest problems, many believe that we can't afford to
hoard our resources and learnings. We have environmental concerns. We're trying to understand things
like cancer and Alzheimer's. These are major
collaborative efforts. The complexity of building these technologies
isn't going down, it's only going up. We can get that technology
out there faster when everybody works together.
Excuse me, what?
I think that a good documentary about opensource must be full of nerds doing nerdy things (with all the respect to for this awesome developers) and in this one the view of the open-source that they give us is that are the big companies the ones that make the opensource powerful.
It's great to see opensource software on the enterprise, but they are just showing a small part of the story.
You beat me to posting this here!