# Why Don't You Contribute to Open Source?

Source: https://www.yegor256.com/2015/12/22/why-dont-you-contribute-to-open-source.html

In my [How Much Do You Cost?]({% pst 2014/oct/2014-10-29-how-much-do-you-cost %})
post last year, I said [open source]({% pst 2018/may/2018-05-08-open-source-attributes %})
contribution is a very
important factor in defining who is good and who isn't, as far as programmers go.
I was saying that if you're not contributing to open source, if your
GitHub profile is not full of projects and commits, your "value" as a
software developer is low, simply because this lack of open source
activity tells everybody that you're _not passionate_ about software
development and are simply working for money. I keep getting angry comments
about that every week. Let me answer them all here.


{% jb_picture_body %}

The gist of all those comments is this: "I don't contribute to open source,
but I'm still very passionate about software development." Then, there is
a list of _reasons_ why the author of the comment doesn't contribute:

  * I spend my free time with my family.
  * I'm already busy in the office; why should I do extra work?
  * I'm well-paid; why should I do anything for free?
  * My employer doesn't allow me to contribute to open source.
  * My company won't pay me for writing open source code.

Good excuses, but let's try to look at it from a different perspective.

Today, it's _not possible_ at all to create software without using
open source components. I'm sure nobody will argue with this. Only something
very basic and simple can be created without code reuse. Nah, I'm wrong. Even
super small pieces of software can't be created without open source
"neighbors." You need at the very least an operating system and a programming language.
In most cases, they are open source (Microsoft is an exception, and it must die).

Thus, no matter what software you're creating, you're using modules
created for you by _others_. Someone else spent his or her time to help you.

{% quote Just admit that you don't care; it's not a crime, after all %}

Now, you're not giving anything back. I'm curious, why is that?

There could be two reasons. The first one is that you just don't care.
They give you something, and you're not giving anything back. You simply
don't feel like being a player in this market. You take their libraries,
reuse them in your product, collect a
[paycheck]({% pst 2015/jul/2015-07-21-hourly-pay-modern-slavery %}), and go home. You don't care
what will happen with the industry, with those programmers, with the language
you're writing in, with the platform, etc. You don't want to improve the
libraries, you don't want to create and share new ones, you don't want to
report bugs and feature requests, and you don't want to send patches and pull
requests to them.

I do understand that. Millions of programmers are like that; you're not alone.
But please, don't tell me that you're passionate about software development.
Just admit that you don't care. It's _not a crime_, after all. You're not stealing
anything (although I actually think you are, but that's a different story).

That was the first reason why you may not contribute.
However, in most cases, my typical opponent tells me he or she does care,
but just can't. There are _obstacles_, right? Your family is taking
all your free time, and in the office, you simply are not allowed to
work on something that is outside of your business scope. I can imagine that,
but let's see what's happening behind the scenes.

You're telling me that your company doesn't care about the software industry,
right? They don't allow you to give anything back to the open source community.
They want you to use those free libraries and give nothing back. And it is their
corporate strategy. I doubt that's the case.
Did you ask your CTO about it?

I strongly believe that in 95 percent of cases, when you explain that your software
seriously depends on a few open source libraries that may need some
improvements, your boss will have nothing against you becoming a contributor.
Try it.

Sometimes, the boss says he or she doesn't care about any open source
and wants you to focus on your product. Maybe this happens rather often;
I don't know.

{% quote If you don't walk away, you accept this attitude; you're part of it %}

In that case, my next question is philosophical. You're working for such a person and
such a company. You're accepting their
[paychecks]({% pst 2015/jul/2015-07-21-hourly-pay-modern-slavery %}). Aren't you a part
of this team and this mentality? If you don't walk away, you _accept_ this
attitude. You're part of it. It's _you_ who doesn't care, not just them.
Because of your existence, they have an ability to not care.

Tomorrow if they ask you to use stolen software, you may say
you had no choice: "My boss asked me to do this. I did care about
copyright and strongly believed that software authors must be paid, but
I had to steal, because that's what my company asked me to do."
Does it sound like a good excuse?

The same story goes for open source. If you do care and you're passionate
about software development, you will either _contribute_ actively
or _walk away_ from the company that doesn't share your passion. What, you can't
walk away because of some reasons? Then don't tell me about your passion.
Simply admit that you're too weak to follow your passion.

Again, it's not a crime. It's just who you are.

<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Does your boss allow you to contribute to open source projects during your normal business hours? <a href="https://twitter.com/hashtag/opensource?src=hash&amp;ref_src=twsrc%5Etfw">#opensource</a></p>--- Yegor Bugayenko (@yegor256) <a href="https://twitter.com/yegor256/status/1008231659387449344?ref_src=twsrc%5Etfw">June 17, 2018</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
