I don't know how we can "containerize" the modules in an easy way. We have to make it easier for the modules developers and avoid "rocket science" as much as possible at the module end point. Regarding the compatibility issue we could have a "works on" tag to describe which module works or not for each system, I think it would perfectly accepted for the cockpit users (since they will know that those modules are from the community). I can imagine that at the beginning we would have very system-specific modules but they will get generic as the time goes by. About the installing tool, I was thinking on something like this when I mentioned a possible UI inside Cockpit to manage external modules in the future.