<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">On 12/9/15 8:13 PM, Cantor, Scott
      wrote:<br>
    </div>
    <blockquote cite="mid:1DBBFA06-47BA-4E60-96DE-97655B9F68BE@osu.edu"
      type="cite">
      <pre wrap="">On 12/9/15, 7:59 PM, "dev on behalf of Brent Putman" <a class="moz-txt-link-rfc2396E" href="mailto:dev-bounces@shibboleth.netonbehalfofputmanb@georgetown.edu"><dev-bounces@shibboleth.net on behalf of putmanb@georgetown.edu></a> wrote:



</pre>
      <blockquote type="cite">
        <pre wrap="">I thought the whole concern here was that external projects consuming OpenSAML *must* depend on stuff in the -impl modules, since that's where all the good stuff and actual functionality is located. (excepting the XMLObject provider stuff which already has the registry indirection layer).  But that's notionally an unrealistic burden and requirement, because the -impls are unstable and can change in breaking ways.  Ergo there's a problem: They have to depend on unstable stuff, practically no way to avoid.
</pre>
      </blockquote>
      <pre wrap="">
Ok. I think our contract there is clear, whether it's good for anybody or not.</pre>
    </blockquote>
    <br>
    I agree, I think it's currently *clear*.  Just not good, for the
    external projects.<br>
    <br>
    <blockquote cite="mid:1DBBFA06-47BA-4E60-96DE-97655B9F68BE@osu.edu"
      type="cite">
      <pre wrap="">

But there *are* interfaces and base classes that I think we could commit to but haven't yet. Meaning, yes, it's still not a real answer, but where we do have things we can move into the API, we should try and do that.</pre>
    </blockquote>
    <br>
    Again I agree.  But all of those we could move are probably about a
    5% percent improvement.  All the good concrete stuff (read: usually
    hard stuff to implement) is going to stay impl.  And people are not
    likely to implement their own trust engines, message
    encoders/decoders/handlers, profile actions and probably a zillion
    other things, just to avoid this.  They're going to use our impls,
    and so they're going to be dependent on unstable code.  (Or else we
    do as we implicitly have been, acknowledge this situation, and
    defacto treat those as API, and don't make breaking changes outside
    of a major version. We technically *can*, but practically speaking
    we don't.)<br>
    <br>
    <br>
  </body>
</html>