In my How Much Do You Cost? post last year, I said open source 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.
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.
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, 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.
In that case, my next question is philosophical. Youâre working for such a person and such a company. Youâre accepting their paychecks. 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.
Does your boss allow you to contribute to open source projects during your normal business hours? #opensource
--- Yegor Bugayenko (@yegor256) June 17, 2018
