Hi together, after some thoughts and discussions it came clear that it would be a good move to introduce dedicated repos for: - API (plc4x-api) - SPI (plc4x-spi) - Lanugages (plc4j, plc4go, plc4py)
The idea is to have it like in slf4j. They have their slf4j-api package and then different implementations that you can throw in. For plc4x we could have the same where the version of the API then really reflects changes on the API itself, the SPI would be the driver-devel-kit and the languages could have their own repo without all other languages interfering (The current approach for example is a nightmare for source based languages like Go where you always pull in this huge behemoth of our mono-repo plc4x). We can still keep plc4x as monorepo and then pull in the parts as subtree/git-submodules so we can keep that as compability/convenience. One could say: oh but now I need to release 10 repos. But I would counter to that: why would you need to release, lets say the API, if nothing didn't change there. Also what I quite like on this approach that it could allow for drop in replacements for other OpenSource solutions or even commercial offerings. Also that would put PLC4X in a spot where it belongs to: A API for PLCs. :) So my vote would be with a big +1 to introduce new repos and have that all a bit more manageable. - Sebastian
