Before you misunderstand me: I'm a Linux user and love open source software (OSS)! I always try to use OSS if there is one available. But speaking from personal experience the idea behind open source doesn't really work. Hear me out.
Open source is based on the premise that everybody can contribute and this way the software gets better. The more people do it the better it gets. Well, I have 2 cases for you.
The first one is Ansible. I've made a small patch in one of the plugins (hashi_vault) to make the plugin more flexible. I've created a pull request (PR) back in August 2019. At that time the patch had no conflicts with the master branch. But it was never merged. Now, over 8 months later the patch still isn't merged and has conflicts, because the code changed so much since then. So instead of quickly accepting a good patch - which would help not only me, but probably quite a few others - it was left and forgotten. I find this rather sad. It shows the good side of open source (a simple issue was fixed), but also the bad side (no real coordination, maybe not enough dedication on both sides).
My second example is the OctoPrint plugin PSUControl. Many people asked for a way to auto-connect after power-on. Just look at the upvotes on the comments here: 1, 2, 3, 4, 5, 6. Then, somebody made a PR for it (the good side - forking, patching & creating a merge request). Unfortunately the author of the plugin decided that he doesn't want that feature in his plugin, so it never got merged... This wouldn't be as bad, since there is a patched version, but the other guy (who made the patch) apparently abandoned his fork, because the patch is for an earlier version and was never rebased to the current upstream. Still, no matter: open source works! There was a third dedicated tinkerer, who made a PR to the second guy to update his patched code. That was over 3 months ago and sadly that request hasn't been merged until now. So now we have the original, the fork with the patch (but it's an older version) and the patch for the fork, which didn't get merged. My only option at this point would be to make a fork of my own and apply the patch myself. But how long would I be able (and dedicated enough) to update the code every time the upstream gets an update? Would I wait for somebody to create a pull request for a new version? Would I merge that request or will my interests lie somewhere else in the meantime?
I don't want to blame anybody, but like I said, open source doesn't work.
At least closed source is even worse...
Comments
Post a Comment