Hi Martin, thanks for your insights. I don't understand where that "been there for 4 years" argument comes from. NB: Someone in the vote thread also said so.
Herve Boutemy mentioned 4.0.0-alpha-6 [1] but alpha-6 is not listed on the releases page: https://maven.apache.org/docs/history.html Based on the alpha-5 and alpha-7 release dates, I can assume it has been there for at most 3 years. According to the GitHub commits between alpha-5 & alpha-7, it's even less than that (the alpha-6 release commit was on June 23rd 2023) https://github.com/apache/maven/compare/maven-4.0.0-alpha-5...maven-4.0.0-alpha-7 Does it predate alpha-6? Even alpha-2 was released less than 4 years ago. While the change may have been present for X years in non-GA releases, it doesn't mean it's been widely used. I don't know about the rest of the Maven community but I usually stay away from non-final versions, especially for work-related tasks which is where I mostly use Maven. But I'm just a Maven user and not a Maven developer. However, I'm more familiar with XML. That's why the namespace change ticks me off. Regards, Chris [1] https://lists.apache.org/thread/p59nlz2onjkszskxblo5vrcb7chjmnwl On Saturday, April 4th, 2026 at 1:17 PM, Martin Desruisseaux via dev <[email protected]> wrote: > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
