I found bug GEODE-3473 which was created based on this discussion. I marked
that as requiring a fix for 1.3.0, so we don't ship these protobuf related
internal classes as part of the public API.

-Dan

On Sat, Aug 12, 2017 at 9:42 AM, John Blum <jb...@pivotal.io> wrote:

> On the flip side of internal vs. external APIs, I definitely feel there are
> many classes under "*.internal" packages that should be reviewed and made
> public.  I realize it increases the surface area of maintainability and
> support for backwards compatibility, but anytime an application needs
> access to the functionality the "internal" API provides, those are good
> candidates.  Keep in mind that there is a huge disparity between the public
> API and cache.xml at the moment and applications coded to the API (rather
> than XML) are going to suffer.
>
> On Fri, Aug 11, 2017 at 11:46 AM, Ernest Burghardt <eburgha...@pivotal.io>
> wrote:
>
> > +1 for protobuf being internal as they are not intended to be first class
> > OO citizens you can read more about there here
> > <https://developers.google.com/protocol-buffers/docs/javatutorial> (the
> > same warning exists for all supported languages btw)
> >
> > On Fri, Aug 11, 2017 at 12:34 PM, Michael William Dodge <
> mdo...@pivotal.io
> > >
> > wrote:
> >
> > > The user shouldn't need to access any of the protobuf classes directly.
> > > I'm in favor of making all of the protobuf-related packages internal,
> > > including any classes generated from .proto files.
> > >
> > > Sarge
> > >
> > > > On 11 Aug, 2017, at 11:30, Anthony Baker <aba...@pivotal.io> wrote:
> > > >
> > > > We have policies in place for versioning [1] and backwards
> > compatibility
> > > [2].  How do we identify which API’s need to be controlled?
> > > >
> > > > In many cases we use the *.internal.* package naming format to signal
> > > API’s that aren’t subject to backwards compatibility requirements.
> API’s
> > > within these internal packages can change and do change even within
> minor
> > > or patch releases.  If a user creates an application that relies on an
> > > internal API, it may need to be changed during an upgrade.
> > > >
> > > > I’ve noticed that we haven’t been following this convention for some
> > > newer changes (such as in geode-protobuf).  Should we review and modify
> > the
> > > packages names continue using the *.internal.* format?
> > > >
> > > >
> > > > Anthony
> > > >
> > > > [1] https://cwiki.apache.org/confluence/pages/viewpage.
> > > action?pageId=57311457
> > > > [1] https://cwiki.apache.org/confluence/display/GEODE/
> > Managing+Backward+
> > > Compatibility
> > > >
> > >
> > >
> >
>
>
>
> --
> -John
> john.blum10101 (skype)
>

Reply via email to