OPEN SOURCE
Then and Now
Himanshu Mishra
2020.12
Hello Everyone. I am glad this is happening. This is less of a talk,
but more of sharing a story. Before we go any further, I want let
you know that this is not my personal story. So, we have a
character.
Meet
@OrkoPunter
Pronouns: He/Him
Five years in college,
...fell in love with Open Source then .
Does a 9-5 Software Engineering job,
...still loves open source now .
Everyone Meet OrkoPunter College : full of young bright
minds. Let us look a bit more at OrkoPunter then. Some
of you may find these some bits relatable and some may not.
@OrkoPunter (Then)
Mid-sems and End-sems meant new project ideas. đ
Favoured Google Summer of Code over other coding competitions. âď¸
Would get upset when had to write closed source software. đ¤˘
He would spend a lot of his mid-sems and end-sems âprepâ time
pondering over new project ideas. Of course, to make them open
source.
During early college summers, he favoured Google Summer of Code over
other coding competitions. Working on a project that is used by
thousands, if not hundreds of thousands of people is more inspiring
to him than competing with his friends on Kaggle, letâs say.
He would get upset if he had to write code which wonât end up in
Open Source e.g. when creating an app with his college senior. âWhat
a waste of collective engineering resource in the worldâ, he would
say.
@OrkoPunter (Then)
Sports Programming đ
ââď¸
"We are all in this together." đ¤
"Beautiful is better than ugly." đ¸
He would never ride the hype and fame of Sports Programming i.e.
spending 12 hours on one problem, writing undocumented C++ that he
would not be able to understand one month later, let alone any other
human being.
He would build relationships with a lot of people with similar
interests. âWe are all in this togetherâ, he would think. He would
constantly share his learnings, instead of adding them as a +1 to
his own personal stack, that heâd unveil at competitions and
interviews.
He would spend a loooot of time on thinking if his piece of code
looks beautiful and is pleasant to read - even at the cost of 10 ms
extra compile time.
Most importantly...
đ "This will get over soon."
"If only I could paid to do open source full time."
And the most important bitâŚ
He knew all of this was a dream. That it was soon to be over.
Because the real world cares more whether you can traverse a tree
from upside down, downside up, sideways - something he will most
probably never do in coming 30-40 years of a career, not once.
All these years, he wishes - âIf only someone could pay me to do
open source full time.â
@OrkoPunter (Now)
Got first glimpse of Open Source from a company's perspective
at Bird company. đŚ
Helps Bird company engineers produce more OSS.
Learns about an OSPO (Open Source Program Office).
With 98% luck, for the first time he got a glimpse of how large
companies look at Open Source. It was his pre-final year internship.
Letâs call it the Bird company. He was at the heart of OSS in the
Bird company - its Open Source Program Office (abbreviated as OSPO).
We will talk more about OSPOs in a bit.
He created Software that would help other teams and engineers in the
Bird company to produce and consume more Open Source. Few years
later, all his internship projects would become Open Source in
itself, for other companiesâ OSPOs to use them.
That summer, he experienced a glimpse of his dreamt of work life.
"Maybe my dream will come true."
"Maybe I can do Open Source as a full time job!"
Nope. â
Traverses a tree on coderpad.
Writes a lot of closed source code at a company.
For 1 year.
But the inevitable happened. He did traverse a tree on Coderpad. And
joined his first company to write a lot of closed source software,
using a lot of unmaintained legacy closed source software from
ex-employees. Some would say, it was a pile of garbage, but not him.
He was grateful.
@OrkoPunter (Now)
Maintainer of a project with rising community of developers.
Creates lots of "Good first issues" -
for @OrkoPunter (Then) to comment
Time went by, and now OrkoPunter is on the other side of the story.
In his day job, he looks at GitHub issues from users as bug reports
or feature suggestions. He reviews contributorsâ Pull Requests. He
creates new issues and labels them âgood first issueâ for the next
generation of âOrkoPuntersâ to pick them up. He gives 110% of his
full time job to Open Source at, letâs call it, the Music company.
Why do companies produce Open Source Software?
The Kubernetes Story
Google open sources Kubernetes, creates GKE on GCP, causes migration
from AWS.
Why do companies produce Open Source Software?
Industry Leadership, setting standards, relationships and
partnerships with other companies
Hiring more OrkoPunters
Softwares get outdated fast, closed source software even faster.
People leave.
Higher quality of code, more questions from community. Suggestions
about architecture. Closed source softwares donât always receives
the best feedback.
More workforce without having to hire everyone (Only few companies
can afford to hire 50 engineers to work on a single project in a
single team. (Probably none of them). They hire maybe 10 at max (if
the project gets large) and receive 1000s of contributions from
community. On average, there is one or two.
Giving back to the community. Itâs a bizzare thing to say, X does
not use open source software. Itâs not even possible in 2020.
More users, more user research and feedback. Better software
overall.
OSPO (Open Source Program Office)
OSPO is a loosely held team, lead by one or few people in a company.
Coordinates with Legal, Marketing, HR and Engineering. And upper
management.
GSoC is a product of a very successful OSPO.
Source: Chris DiBona interview
https://www.youtube.com/watch?v=kFtnMTWCqBo. Lary and Sergey
mentioning that CS students sitting idle in summer.
End Notes
More and more OSPOs are spawning everywhere. Companies are realizing
the strategic importance of open source. Not only one cannot escape
it, but they will have to do it right to stay on top of things. Not
every OSPO is like Google or Microsoft, but it's good to stay on the
path.