Currently, it is impossible to have namespaces like com.nozama and com.cyphal maintained by separate entities, which may be a limitation that can possibly outweigh the risks mentioned above.
indeed there is great interest. How did we agree this was a good plan? Geesh.
I vote we strike this line.
That said, do we need to add in additional specifications about what is allowed or what should be guaranteed by DSDL processing tools? Namely, does the specification control required mechanisms to ensure that type collisions do not occur? For example:
what is the expected/required output from a conformant DSDL tool where repo0/com and repo1/com are both used as search paths? Should we just disallow this on its face? Should we semantically compare the contents of duplicate namespaces and allow this if the contents are identical?
Assuming our theoretical dsdl tool could see the previously generated bar_1_0 types and wanted to determine if they were still valid and assuming that bar_1_0.dsdl doesn’t actually use wazzit nor dohicky, does it matter that the resolved namespaces changed between runs? That is, do we assert that a signature of the namespaces available, as resolved by a union of the contents of available folder trees , is part of a type’s identity or is the type’s identity only determined by the transitive closure of its dependent types?
The outcome ultimately depends on the inputs given to the DSDL processing tool so I suggest we state that a given type of a particular version should be defined in exactly one namespace directory; otherwise, the behavior is unspecified. We may add restrictions later.
Making the output depend on the previously generated output is hazardous because the result would depend not only on the inputs given to the tool but also on the particular sequence of its invocations beforehand.
Given that this proposal has been available for public comment for over 10 days I move that we approve a change to the specification to change the “shall” requirement for complete namespace definition under a given folder. In the PR we can discuss if this should be left unspecified or if it should be demoted to a “should” requirement.