Hi everyone,
After using the magic mirror software and 3rd party applications for a couple years now, it has come to my attention there’s a wide variety in how users and module publishers handle their module and Github repository. Also after Magic mirror software being updated, some repositories are obselete, and a new repo is created with the same name, but just a “2” or even “3” added to the module.
Sometimes I see people forking repositories, even adding their own features, but also falling behind the main repository.
I want to create a general discussion on how we, as a community, can improve this. As a software engineer myself, it kind of hurts to see that I have to search for multiple repositories because older ones are just obselete, but are created for the exact same functionality. Obviously sometimes someone wants to rework their code, so one part I understand it, but even then: Github has solutions for it.
For example, you can make releases, mark a specific commit and link it to a MagicMirror version. You can, afterwards, rework your entire code and make another release for, lets say, MagicMirror version 2.26.
Releases actually have automated changelogs that you can create. This will show the PR’s that are pushed between versions.
It is not a rant, as I know a bunch of people just make modules as a hobby project and are not software engineers as a main profession. But I do think some people are amazing at making software and integration of their API. So the knowledge is here, it just needs to be spread and people can learn from it.
How do you guys experience this? Especially in making modules. Do you actively monitor forks and request them making a PR with their added features?
Do you help people with issues, and do you implement new features so debugging or helping them is easier the next time?
Maybe people want to know more of a Github workflow so this can be easier for new 3rd party publishers.
Its all open for discussion here. Furthermore, I am willing to invest some time in a Github workflow or How-to guides if that is missing and needed (obviously I am not all-knowing, but I do know some stuff ;))