users@jaxb.java.net

Re: maven-jaxb2-plugin to renamed due to a trademark/naming convention issue with Apache

From: Martin Grebac <martin.grebac_at_oracle.com>
Date: Fri, 17 Oct 2014 10:55:11 +0200

Hi Lexi,
  ah, naming, one of the hardest parts of software development ;) (my
favorite version of the claim:
https://twitter.com/kellan/status/11110460227 )

  Maybe one thing to consider, too, is that jaxb2-maven-plugin name may
not be well received from codehaus plugin developers - so you may
potentially not solve the problem in the end.

  xjc-maven-plugin sounds best to me, maybe even jaxb-xjc-maven-plugin

   MartiNG

I claim that I'm not a lawyer, not in a position to offer any kind of
legal advice, I'm an Oracle employee, however my opinion here is solely
my own personal one.


On 17.10.14 0:14, Timothy Astle wrote:
> I would recommend that you go with jaxb2-maven-plugin.
>
> You need to specify the groupId regardless when specifying the
> plugin. This is why I find the whole Apache Maven plugin artifactId
> enforcement ridiculous. It's pretty much common sense when you see
> something coming from org.apache that it's from Apache.
>
> A *new user* would most likely:
>
> 1. Find your plugin information on your website.
> 2. Find your plugin information from central.
> 3. Find your plugin from some blog (or something)
>
> So in those cases, they're new users and will copy and paste the
> dependency snippet.
>
> For *existing users*, they just want to update. So if you make a note
> on your website of the change, we'll figure it out. We won't set
> about switching plugins. It'd take some effort to get screwed up, I'd
> imagine.
>
> GAV is a strong concept in Maven. And if you're a Java developer, you
> should understand the importance of naming a package, where it plays
> an important part of identifying the organization from which the code
> came from (recommend reversing your company / organizations domain
> http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html).
>
> I understand that XJC is more inline with what the plugin already
> does, but if you have plans on allowing more JAXB2 functionality, or
> if you don't want to completely throw off your users, I'd stick with
> jaxb2-maven-plugin. I think a lot more people know about the Maven
> guys forcing plugins to drop "maven-", and can rationalize, and find
> threads like this, to explain the change. Changing the artifactId to
> something entirely new is worse than sharing the artifactId with
> another organization. Just count how many libraries and plugins there
> are on central that only differ by groupId.
>
> On Thu, Oct 16, 2014 at 5:01 PM, Ioannis Mavroukakis
> <imavroukakis_at_gmail.com <mailto:imavroukakis_at_gmail.com>> wrote:
>
> xjc-maven-plugin would get my vote. I don't think that Oracle
> would be so obtuse^H^H^H^H^H difficult as to oppose this, but I
> would get this in writing.
>
> On 16 October 2014 20:55, Aleksei Valikov <valikov_at_gmx.net
> <mailto:valikov_at_gmx.net>> wrote:
>
> Hi,
>
> mvn-jaxb2-plugin is an idea. Does not follow the proposed
> convention strictly, though
> (http://maven.apache.org/guides/plugin/guide-java-plugin-development.html).
>
> Another option would be xjc-maven-plugin. I hope I won't get a
> C&D from Oracle for using the XJC name here. :)
>
> Best wishes,
> Alexey
>
> On Thu, Oct 16, 2014 at 8:06 PM, Wolfgang Laun
> <wolfgang.laun_at_gmail.com <mailto:wolfgang.laun_at_gmail.com>> wrote:
>
> Aleksei:
>
> So if the Injuns stick to their exclusive-rights policy:
> what about renaming your plugin
>
> mvn-jaxb2-plugin
>
> -W
>
> On 16 October 2014 19:24, KARR, DAVID <dk068x_at_att.com
> <mailto:dk068x_at_att.com>> wrote:
>
> That’s just weird. Anyone can see that it’s logical
> to name plugins in ANY plugin architecture like
> “<AppWithPluginArchitecture>-<PluginName>-plugin”.
> Forcing people to reverse that is confusing. Consider
> “eclipse-maven-plugin” and “maven-eclipse-plugin”.
> It’s obvious to anyone aware of that convention that
> the first is a plugin for Eclipse that supports maven
> (even if the main plugin that does this is named
> differently), and the second is a plugin for Maven
> that supports Eclipse. They want you to name your
> plugin “jaxb2-maven-plugin”, so I guess that’s a
> plugin for jaxb2 that supports Maven, right? :)
>
> Whether a plugin is “officially supported” should be
> determined more by its group id than the artifact id.
> When artifact ids conflict, that’s your only choice.
>
> *From:*aleksei.valikov_at_gmail.com
> <mailto:aleksei.valikov_at_gmail.com>
> [mailto:aleksei.valikov_at_gmail.com
> <mailto:aleksei.valikov_at_gmail.com>] *On Behalf Of
> *Aleksei Valikov
> *Sent:* Thursday, October 16, 2014 4:13 AM
> *To:* users_at_jaxb.java.net <mailto:users_at_jaxb.java.net>
> *Subject:* maven-jaxb2-plugin to renamed due to a
> trademark/naming convention issue with Apache
>
> Hi,
>
> As many of you probably know, I develop and maintain
> the maven-jaxb2-plugin. I am facing a trademark/naming
> convention issue with Apache and I'd appreciate an
> advice on that.
>
> I have started my project almost 8 years ago and took
> the name maven-jaxb2-plugin as it seemed to be _the_
> right convention back then.
>
> Few years later Apache estabinished the
> some-maven-plugin convention for non-Apache plugins.
> This is how they define it here:
> http://maven.apache.org/guides/plugin/guide-java-plugin-development.html
>
> /You will typically name your plugin
> //<yourplugin>-maven-plugin//./
>
> /Calling it //maven-<yourplugin>-plugin// (note
> "Maven" is at the beginning of the plugin name) is
> *strongly discouraged* since it's a *reserved naming
> pattern for official Apache Maven plugins maintained
> by the Apache Maven team* with groupId
> //org.apache.maven.plugins//. Using this naming
> pattern is an infringement of the Apache Maven Trademark./
>
> This became a warning during the build around three
> years ago. My plugin was ~5 years old back then, with
> an already established user base etc. I did not want
> to rename. This was a mistake, but it is a mistake
> already made.
>
> I also think I haven't seen this warning for the long
> time as there was no need to update the versions of
> Maven libraries I used
>
> Now an Apache committer, also a user of my plugin
> tried to clarified the legal terms of this naming.
> Unfortunately, Apache seems to have a very strict
> position on the issue. Please check this message:
>
> http://www.mail-archive.com/dev@maven.apache.org/msg102491.html
>
> And the further discussion.
>
> So in the current situation, using the
> maven-jaxb2-plugin further on, I am
>
> * facing a threat of cease-and-desist letter and
>
> * a probability that my plugin will stop
> working/compiling any time soon.
>
> I would not speculate on whether this trademark
> infringement thing is legally sound or not. It does
> not matter. They're an organisation, I'm a private
> person. I can't fight them. An even if the legal
> threat is unsound, they can easily shut down my plugin
> technically in any next version of Maven.
>
> So the thing is that I have no other choice as to
> rename my plugin.
>
> I have not yet desided on the name. The first choice
> would be jaxb2-maven-plugin, but there is already
> another Maven plugin under that name, from Codehaus.
> Yes, sure, groupId is different but people will mix
> them up, definitely.
>
> Any other name will disconnect my plugin from its
> longstanding history even more. This will hurt my user
> base. I don't want this.
>
> Merging the projects is probably not an option.
>
> So my options are:
>
> * rename to jaxb2-maven-plugin or
>
> * rename to something else
>
> I do not know what to do and would really appreciate
> opinions and advice.
>
> (I'm not talking legal advice of any kind, more common
> sense community advice.)
>
> Best wishes,
>
> Alexey
>