Open-source explained for none developers
I recently saw a tweet from a well respected open-source developer, that someone was trying to use him as a free helpdesk. This is a common problem in the open-source community, and it’s a problem that I think is worth addressing. This explanation is not set in stone, but it’s a good starting point for understanding open-source.
What is open-source?
Open-source is a term that refers to software that is free to use, modify, and distribute. This means that anyone can use the software for any purpose, and they can modify the software to suit their needs. Open-source software is typically developed by a community of developers who work together to create and maintain the software.
Even though you can use the software and see the source, most “open-source” software still has a license that dictates how you can use the software. The most common license is the MIT license, which allows you to use the software for any purpose, as long as you include the license with the software. Other licenses, like the GPL license, require you to release any modifications you make to the software under the same license.
Open-source in bullet points
- Open-source software is free to use, modify, and distribute (if the MIT license is used)
- You can see the source code of the software
- You can contribute to the software
- You depend on the community for support
What open-source is not
As said in the previous part, “you depend upon the community for support”. In case there is no community yet, you are on your own. You may get help from the developer(s), but they are in no way obligated to help you. They may have other priorities, or they may not have the time or resources to help you. I develop several open-source projects and have several more on my GitHub, maintaining these projects is done in my free time. I have a full-time job (developing SaaS applications) but I enjoy creating cool apps and tools when I have some time to spare.
This is just expectation management, if you depend on the software, you should be prepared to support yourself. If you need help, you can ask the community, but you should not expect the developer(s) to help you. They may help you, but they might as well not have the time at that moment.
Assume you won’t get any help, and if you do, it’s a nice bonus. Or if you desperately need some extra feature or a bug fixed. It’s open-source, so why don’t you invest some time and fix it yourself? Or is your time more valuable than the developer’s time?
Being nice brings you a long way
If you need help, be nice. If you are nice, people are more likely to help you. If you are rude, people are less likely to help you. This is a simple rule that applies to all aspects of life, but it’s especially important in the open-source community. The people who develop open-source software are doing it because they enjoy it, and they want to help others.
Keep doing open-source
I will just keep doing my open-source projects, and I will try to help is people are nice. I might start posting links to this blog post in other cases.
Do you have any ideas how we can make the open-source community better? Or make everybody understand the rules of open-source?