Hello Chris Thanks for your input. For going straight to the point:
Le 04/04/2026 à 14:24, Chris Lafren a écrit :
Aside from the modelVersion inference that was mentioned at the start of the vote thread [2], are there more reasons that "justify" the namespace change?
I'm not aware of any valid technical justification other than history. Even the `<modelVersion>` element is not strictly necessary since, to my knowledge, Maven 4 only adds a few new elements without changing the semantic of Maven 3 elements. We could infer the model version by checking whether the POM contains any of those new elements. The schema location is another way as you mentioned.
I believe that the main reason for changing the namespace is technical debt: Maven 4 did this change early in alpha phase, has been distributed with this change for the last 4 years, and no IDE (NetBeans, IntelliJ, Eclipse) complained. Therefore, there are reluctance to do a last minute change. The argument that changing the namespace is not how XML works may be considered as theoretical if we consider that no-one should try to read a POM itself without using Maven API. Personally, I challenge the idea that no-one should read a POM with standard tools, even if the information that we get this way is incomplete. We may want to read a POM for other purposes that building the project. For example, and IDE may want to read the POM, add a `<dependency>` element and rewrite the POM with only that change.
In my opinion, this thread is not really a vote between 2 equivalent technical solutions. I rather see the vote as a choice between conformance with the way that XML works (option B), and avoiding to disturb the Maven 4 ecosystem after 4 years of practicing option A. I have no objective way to said which one of the two sides, technical versus legacy, should prevail.
Martin --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
