<div dir="ltr">Hi Juergen, Sean,<div><br></div><div>I definitely agree with needing to write down the policy and definitely any policy should include a deprecation time :)</div><div><br></div><div>Did you want to write up something and let us poke at it?</div><div><br></div><div>A couple of thoughts outside of a deprecation policy:</div><div><br></div><div>a) guarantee that the api itself won't go away, but could possibly be turned into a noop? (i.e. source compatibility)</div><div>b) versioning? (Should we add support for versioning in anyhow? Maybe a C API version 2 to start this off with?)</div><div>c) One of the big things appears to be the push and pull for "A C API for all C++ entry points" along with "We don't want to get locked into immobility because we have a C API for all C++ entry points". Perhaps part of this might be defining an actual stable set of things along with an unstable set of things?</div><div><br></div><div>What was the rest of your discussion on this? Any particular points you think the community would be interested in?</div><div><br></div><div>Just some random thoughts.</div><div><br></div><div>-eric</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 17, 2015 at 12:54 PM Sean Silva <<a href="mailto:chisophugis@gmail.com">chisophugis@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I think it makes sense to officially document this. It has apparently never graduated from being "tribal knowledge".<div><br></div><div>As far as the concrete details, I haven't thought too much, but the deprecation process you suggested makes sense to me.</div></div><div dir="ltr"><div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 17, 2015 at 12:36 PM, Juergen Ributzka <span dir="ltr"><<a href="mailto:juergen@apple.com" target="_blank">juergen@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi @ll,<br>
<br>
a few of us had recently a discussion about how to manage the C API and possible policies regarding addition, maintenance, deprecation, and removal of API.<br>
<br>
Even thought there is a strong agreement in the community that we shouldn't break released C API and should be backwards compatible, there doesn’t seem to be a developer policy that backs that up. This is something we should fix.<br>
<br>
I was wondering what the interested parties think of the current approach and what could/should we improve to make the use and maintenance of the C API easier for users and the developers alike.<br>
<br>
I was hoping we could also introduce a process that allows the removal of an API after it has been deprecated for a whole release and the release notes stated that it will be removed.<br>
<br>
Thoughts? Comments?<br>
<br>
Cheers,<br>
Juergen<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" rel="noreferrer" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>
</blockquote></div>