On Thu, Aug 3, 2017 at 8:42 AM Shane Curcuru <a...@shanecurcuru.org> wrote:

> John D. Ament wrote on 8/2/17 9:13 PM:
> > On Wed, Aug 2, 2017 at 8:54 PM Roman Shaposhnik <ro...@shaposhnik.org>
> > wrote:
> >
> >> On Wed, Aug 2, 2017 at 5:40 PM, Abhishek Tiwari <a...@apache.org>
> wrote:
> >>> Hi all,
> >>>
> >>> In regards to the recently incubated project - Gobblin, we were
> wondering
> >>> about the policy around renaming Java package names to org.apache.* Is
> >> it a
> >>> mandatory requirement or good to have?
> >>>
> >>> The reason to ask this is that while we see many projects have migrated
> >> to
> >>> use org.apache.* package name for their Java source files, the Kafka
> >>> project uses kafka.* for Scala sources and org.apache.kafka.* for Java
> >>> sources.
> >>>
> >>> Please let us know as soon as possible, because we are in process of
> >>> renaming the  packages but if not mandatory we would want to keep
> >> gobblin.*
> >>> package name and avoid the cost of downstream migrations and backwards
> >>> incompatibility.
> >>
> >> You don't have to do it right away, but it is a requirement unless you
> >> have a really,
> >> really, really good reason of why you can't do that.
> >>
> >>
> > I'm not aware of any requirement around Java package naming.  IN fact,
> last
> > time it came up it was clear that its a best practice only, and doesn't
> > have any actual naming requirements.
>
> John: Do you have a link to that discussion?  I'm of the mind that it's
> an expected best practice, unless you have a really, really good reason
> otherwise.
>

Sure, its here [1].  There are two TLPs that I know have this issue -
Polygene and Groovy.  There's a few others as well, I'm sure.

[1]:
https://lists.apache.org/thread.html/15550f5bf622ae3070b558505c8a0fd0ce3b23df3012d57de8b6d9f3@%3Cgeneral.incubator.apache.org%3E


>
> Abhishek: Can you describe in more detail what these packages do in the
> context of your software product?
>
> In general, yes, I'd echo Roman's point strongly for the primary
> external API that most users would call:
>
> >> Or to put it a different way: during your eventual graduation this
> >> question will be
> >> asked and you better have a really, really good explanation if you're
> >> still using
> >> something other than o.a.
>
> That is, supporting packages, or things that are standards, or things
> that are specific plugins that integrate with external code - those I
> could understand staying with a non-a.o package name for compatibility
> or other reasons.
>
> But the main program that users run in the JVM, or the primary Gobblin
> classes that users integrating the code into their application?  That
> should be in an org.apache.gobblin.* package.
>
> Simple "backwards compatibility for users" as an argument is only
> suitable if you're deprecating and have a plan to switch in the
> reasonably-near future after graduation.  Not for the long term.
>
> Thanks for raising the question early!
>
> >>
> >> Thanks,
> >> Roman.
>
> --
>
> - Shane
>   https://www.apache.org/foundation/marks/resources
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> For additional commands, e-mail: general-h...@incubator.apache.org
>
>

Reply via email to