To get you started:
- QMK is probably the most mature firmware for non-wireless devices and widely used. Probably the best starting point to get in touch with all the different concepts of keymap layers, one-shot modifiers, hold-tap-mechanics, ... - Via/Vial is based on QMK and simply tries to provide a GUI for instant and live configuration of the keyboard, instead of doing it by code. - ZMK is also very stable and designed for wireless usage (battery consumption) but also REALLY complex because of the toolchain (at least in my opinion) - RMK, KMK, ... are all different kind of firmwares trying to do something different or better or just in a different language like rust or python. Most of the time these kind of firmware expect some kind of "basic knowledge". So I would start with the classics QMK or ZMK.