I never understood the need for the JCP to build a whole new standard for modularization. Why didn't they rubber stamp the OSGi spec which is used everywhere, is extremely solid, has multiple great implementations and provides stuff that this standard not even has (like runtime updating of modules, versioning and more). Felt to me like politics/not invented here syndrome from the start, no wonder there is so much pushback from the community about this standard.