Open-Source Software Could Have Great Documentation
During one of my Network Automation workshops one of the attendees said: “Why are you using open-source software? It’s so poorly documented and impossible to set up.”
I totally understood what he was trying to say (I’ve seen too many examples of just read the code approach), but fortunately there are still people who understand the value of documentation.
For starters, Jinja2 and Ansible (the tools I use during hands-on parts of the workshop) have pretty good documentation, and sometimes you get totally surprised by what you see on GitHub. I’ll give you just two recent examples:
- Layer-2 VPN Snabb Switch extension by Alex Gall;
- Macvlan and ipvlan modules for Docker by Brent Salisbury.
So it is possible to have well-documented open-source software assuming the author(s) of the software actually care about their users (and no, I will not start another rant about people spending time on glitzy demos instead of writing usable documentation).
Finally, for some choice comments on other less-documented parts of open source landscape, enjoy this talk by Artur Bergman.
As the maintainer of two open source projects related to the network I tend to disagree a bit with the statement `It’s so poorly documented and impossible to set up` and agree more towards Artur Bergman's statements on that video.
What I realized is that when most people complain about 'lack of documentation' what they really mean is 'I couldn't find a blogpost or a stackoverflow question solving my very same exact problem'. If you really want to learn, start with the basics, try things out and ASK. A-S-K. Documentation might suck but the community is full of super friendly people willing to help and that would be extremely happy to help you and even reviewing a PR with some enhancements to the documentation by someone that just learnt something about the project. Maybe the maintainer overlooked something because he/she thought it was too obvious but it wasn't : )
In summary, in most of cases "It’s so poorly documented and impossible to set up" equals to "I am lazy to solve the problem myself, I couldn't find a blog post with a recipe to solve it and I am too lazy to even join a mailing list, IRC or slack and ask". Maybe not on that particular case but most of the times ;)
/rant off
I totally understand your point (you wouldn't believe how many LMGTFY questions I get - particularly annoying if the answer is a link to my blog post), but unfortunately I've seen open source projects where I had no idea whatsoever how to get started (apart from "this is how you install it") after reading all publicly available documentation.
I really wish more Open Source projects natively offered PAID support (instead of getting it through third parties, which has it's own weaknesses). Luckily, the examples I mentioned above do offer paid support to varying degrees. They may be good examples to follow for others in the OSS community, especially those working on networking related OSS initiatives.