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 > >