One caveat - if your packages are "com.theoldcompany.someproject" they
should be renamed to "org.apache.someproject" before graduation.  If you
have "org.someproject" already or just "someproject" as your package names,
that's not a naming issue so I don't see that ever blocking graduation.

John

On Thu, Aug 3, 2017 at 12:25 PM Alex Harui <aha...@adobe.com.invalid> wrote:

> OK, so to summarize a more refined recommendation:
>
> 1) package names with reverse domains MUST be renamed before graduation or
> have an IPMC approved plan for renaming
> 2) Projects who expect that their future users outnumber current users are
> highly encouraged to rename packages
> 3) Other projects are not required to rename packages and backward
> compatibility is sufficient reason to not rename packages.
>
> Or should #2 also be a MUST?
>
> -Alex
>
> On 8/3/17, 8:34 AM, "Andy Seaborne" <a...@apache.org> wrote:
>
> >
> >
> >On 03/08/17 15:51, Julian Hyde wrote:
> >> It rarely comes down to the IPMC or the Board dictating how a project
> >>names its java classes (does anyone recall an instance?), so it’s mainly
> >>the project’s discretion. In my opinion, where the project is on its
> >>adoption curve is an important consideration.
> >
> >+1
> >
> >> Most projects that enter the incubator are early on the adoption curve.
> >>Their future users outnumber their current users. The earlier these
> >>projects make the change to org.apache, the fewer people they will
> >>ultimately impact. It seems that gobblin is in this category.
> >>
> >> A few projects, such as Flex, are already near the top of their
> >>adoption curve. The cost/benefit of renaming is not as compelling.
> >
> >Jena was not early on the adoption curve. Long term compatibility has
> >been, and is, a major element of the project culture.  Importantly,
> >there are active users who answer questions (here, elsewhere), external
> >web tutorials, books etc referring to the pre-ASF API.  We have a
> >responsibility to them as well.
> >
> >"add an API" is more stuff that a small set of volunteer contributors
> >(Jena has had no paid contributors working on) could not have coped
> >with.  If a project has the capacity, sure. Not all project will.
> >
> >Set the expectations too high and it is implicitly a filter for a
> >certain kind of project in size and structure.
> >
> >     Andy
> >
> >
> >>
> >> Julian
> >>
> >>
> >>> On Aug 3, 2017, at 7:37 AM, Alex Harui <aha...@adobe.com.INVALID>
> >>>wrote:
> >>>
> >>>  From the peanut gallery:
> >>>
> >>> Does the PPMC get to decide what constitutes a "very good reason" or
> >>>does
> >>> the IPMC and after graduation, the board?
> >>>
> >>> Flex has not changed its packages in the 5 years at Apache.  We felt
> >>> backward compatibility was and is a "very good reason".  It was way
> >>>more
> >>> important to not require folks to alter their code in order to move to
> >>>the
> >>> Apache versions of Flex.  Also, we are not using Java/Maven so there
> >>>isn't
> >>> really a shading option.
> >>>
> >>> On the other hand, it seems like it could be confusing for Apache
> >>>projects
> >>> to have packages starting with "com.".  Flex's packages start with
> >>>"mx" or
> >>> "spark" (the component set names).
> >>>
> >>> Seems like a more refined guidance would be that:
> >>> 1) packages starting with "com" (and maybe
> >>>org.somethingOtherThanApache)
> >>> should be changed as soon as possible/practical
> >>> 2) there is no recommendation for other package prefixes
> >>>
> >>> My 2 cents,
> >>> -Alex
> >>>
> >>> On 8/3/17, 5:42 AM, "Shane Curcuru" <a...@shanecurcuru.org
> >>><mailto: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.
> >>>>
> >>>> 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://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ap
> >>>>ach
> >>>><
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.a
> >>>>pach>
> >>>> e.org
> >>>><
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fe.org%
> >>>>2F&data=02%7C01%7C%7C581cf191f4d745137c4008d4da8530d6%7Cfa7b1b5a7b34438
> >>>>794aed2c178decee1%7C0%7C0%7C636373712971951815&sdata=aY%2BocRBKdLSJNW7r
> >>>>0X4YnZ239BbsJWprJgTncaEESNQ%3D&reserved=0>%2Ffoundation%2Fmarks%2Fresou
> >>>>rces&data=02%7C01%7C%7Cef18c5e74b0141378
> >>>>
> >>>>79a08d4da6d0e5c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6363736093
> >>>>056
> >>>>
> >>>>90124&sdata=OyrEoidSvoONvFJksGYjhhz%2FatAd4b%2FyjmHcfoGeI%2B0%3D&reserv
> >>>>ed=
> >>>> 0
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> >>>><mailto:general-unsubscr...@incubator.apache.org>
> >>>> For additional commands, e-mail: general-h...@incubator.apache.org
> >>>><mailto:general-h...@incubator.apache.org>
> >>>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> >>><mailto:general-unsubscr...@incubator.apache.org>
> >>> For additional commands, e-mail: general-h...@incubator.apache.org
> >>><mailto:general-h...@incubator.apache.org>
> >>
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> >For additional commands, e-mail: general-h...@incubator.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> For additional commands, e-mail: general-h...@incubator.apache.org
>

Reply via email to