Minor changes to Open-source: The Good, The Bad and The Ugly

This commit is contained in:
Mahdi Dibaiee 2015-10-26 14:47:47 +03:30
parent 91ccd7229c
commit f9c495ab0e

View File

@ -1,17 +1,17 @@
--- ---
layout: post layout: post
title: "Open-source: The Good, The Bad, The Ugly" title: "Open-source: The Good, The Bad and The Ugly"
date: 2015-10-13 06:15:00 date: 2015-10-13 06:15:00
permalink: open-source-good-bad-ugly permalink: open-source-good-bad-ugly
categories: experience, open-source, opinion categories: experience, open-source, opinion
--- ---
I have been doing Open-source for a while, I don't call myself an "expert" or something like that, I have been doing Open-source for a while, I don't call myself an "expert" or something like that,
but I'd like to share my opinion on contributing/maintaining open-source code. but I'd like to share my opinion and experience on contributing to, and maintaining open-source code.
So, I've been following and contributing to open-source projects for quite a time, So, I've been following and contributing to open-source projects for quite a time,
and I have had different experiences each and every time. There always are good experiences and bad experiences and I have had different experiences every time. There are always good and bad experiences
along a road, it's never a heaven, never a hell. I've had contributions as small as fixing a typo in README, or as big along a road, it's never a heaven, never a hell. I've had contributions as small as fixing a typo in README, and as big
as adding a new feature to Firefox Developer Tools or refactoring a whole repository! as adding a new feature to Firefox Developer Tools or refactoring a whole repository!
Here I'm going to share my experiences and what I've learned along the way that you should consider Here I'm going to share my experiences and what I've learned along the way that you should consider
@ -19,7 +19,6 @@ if you want to take this road.
The Good The Good
-------- --------
I love open-source, it's awesome how people share their efforts with others, and others give feedback to I love open-source, it's awesome how people share their efforts with others, and others give feedback to
the maintainer to make the software better. It's an always-growing system, even if a maintainer stops maintaining, the maintainer to make the software better. It's an always-growing system, even if a maintainer stops maintaining,
it's possible to _fork_ a repository and continue it, although not as easy, but possible. it's possible to _fork_ a repository and continue it, although not as easy, but possible.
@ -32,20 +31,19 @@ If you are a maintainer of a repository with a countable amount of users, you ar
finding these mistakes by yourself is really hard, because you can't easily look at a subject _the other way_, finding these mistakes by yourself is really hard, because you can't easily look at a subject _the other way_,
but users have this potential to look at your code with their eyes, seeing mistakes you can't see. but users have this potential to look at your code with their eyes, seeing mistakes you can't see.
If you are contributing, following or just exploring projects, you are definitely going to learn from the events in project, the solutions people suggest to a problem, If you are contributing, following or just exploring projects, you are definitely going to learn, the solutions people suggest to a problem,
the way they communicate, etc. the way they communicate, etc.
Usually, not always, the maintainer has a better knowledge over the subject of project than you, so you are going to learn from him and other contributors Usually, not always, the maintainer has a better knowledge over the subject of project than you, so you are going to learn from him and other contributors
by reading their code or exploring the issues and how they've been solved. I personally learned a lot this way. I would volunteer to fix a bug, then the maintainer and other contributors would show up to give their suggestions and ideas on the issue, which I would learn from. I also subscribe to interesting issues that I don't know how to fix to see how they get solved. by reading their code or exploring the issues and how they've been solved. I personally learned a lot this way. I would volunteer to fix a bug, then the maintainer and other contributors would show up to give their suggestions and ideas on the issue, which I would then learn from. I also subscribe to interesting issues that I don't know how to fix to see how they get solved.
The Bad The Bad
------- -------
First off, the most annoying thing about open-source contributions is that people (I'm looking at you, maintainers) think First off, the most annoying thing about open-source contributions is that people (I'm looking at you, maintainers) think
that contributors are jobless bored people who don't know how to spend their time and have come to waste some time on some random open-source project, NO, seriously. that contributors are jobless bored people who don't know how to spend their time and have come to waste some time on some random open-source project, NO, seriously.
I have a job, I totally care about my time and I'm not making a Pull-request because I'm bored. I have a job, I totally care about my time and I'm not making a Pull-request because I'm bored.
Now, why is that important to know, it has happened to me a couple of times that I ask on an issue: Now, why is that important to know: it has happened to me a couple of times that I ask on an issue:
_"- Okay, I'm interested, what **exactly** has to be done?"_ _"- Okay, I'm interested, what **exactly** has to be done?"_
@ -69,11 +67,10 @@ How to avoid it you ask, there is a sign that I've found which leads to this pro
It happened to me, just like the past discussion, except he didn't tell me _"Please do x, y, z"_, he made himself look It happened to me, just like the past discussion, except he didn't tell me _"Please do x, y, z"_, he made himself look
too busy and said: _"The title says it all"_, no, it doesn't say it all. "x, y and z" can be implemented in `2^9` ways, and sadly, too busy and said: _"The title says it all"_, no, it doesn't say it all. "x, y and z" can be implemented in `2^9` ways, and sadly,
you are not going to accept the `192`th way, as you "don't like it". Do not get trapped in these time-wasting situations, I wish maintainers understand how valuable people's times are. you are not going to accept the `192`th way, as you "don't like it". Do not get trapped in these time-wasting situations, I wish maintainers understood how valuable people's times are.
The Ugly The Ugly
-------- --------
The sad part about open-source is, if the maintainer decides not to support the project anymore, The sad part about open-source is, if the maintainer decides not to support the project anymore,
people will _kind of_ suffer. If the maintainer abandons the project, the project is *almost* doomed, as forking and continuing is really hard, reading the code from bottom up and understanding it isn't easy, and as there is no outcome, people usually decide to abandon a project once they lose interest in the topic. people will _kind of_ suffer. If the maintainer abandons the project, the project is *almost* doomed, as forking and continuing is really hard, reading the code from bottom up and understanding it isn't easy, and as there is no outcome, people usually decide to abandon a project once they lose interest in the topic.
@ -82,3 +79,7 @@ don't offer as much support, I have more important things to do, it's really sad
To prevent this from happening, you must be able to make money out of your project, or your project must be really interesting To prevent this from happening, you must be able to make money out of your project, or your project must be really interesting
and challenging to keep you working on it. and challenging to keep you working on it.
------
That's it, please note that everything you read here is my opinion, it's not a rule, not a judgment, it's my opinion and experience. If you would like to discuss this further, put a comment below or reach me at [twitter](https://twitter.com/mdibaiee).