That's true. I think I want to differentiate end-user vs developer. Public isn't the best word. Maybe EndUser?
On Thu, May 12, 2016 at 3:34 PM, Shivaram Venkataraman < shiva...@eecs.berkeley.edu> wrote: > On Thu, May 12, 2016 at 2:29 PM, Reynold Xin <r...@databricks.com> wrote: > > We currently have three levels of interface annotation: > > > > - unannotated: stable public API > > - DeveloperApi: A lower-level, unstable API intended for developers. > > - Experimental: An experimental user-facing API. > > > > > > After using this annotation for ~ 2 years, I would like to propose the > > following changes: > > > > 1. Require explicitly annotation for public APIs. This reduces the > chance of > > us accidentally exposing private APIs. > > > +1 > > > 2. Separate interface annotation into two components: one that describes > > intended audience, and the other that describes stability, similar to > what > > Hadoop does. This allows us to define "low level" APIs that are stable, > e.g. > > the data source API (I'd argue this is the API that should be more stable > > than end-user-facing APIs). > > > > InterfaceAudience: Public, Developer > > > > InterfaceStability: Stable, Experimental > > > I'm not very sure about this. What advantage do we get from Public vs. > Developer ? Also somebody needs to take a judgement call on that which > might not always be easy to do > > > > What do you think? >