<p dir="ltr"><br>
On 26 Mar 2014 08:35, "Antoine Pitrou" <<a href="mailto:solipsis@pitrou.net">solipsis@pitrou.net</a>> wrote:<br>
><br>
> On Tue, 25 Mar 2014 23:09:45 +1000<br>
> Nick Coghlan <<a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>> wrote:<br>
> ><br>
> > Alternative: selectively backport particular APIs<br>
> > -------------------------------------------------<br>
> ><br>
> > An instinctively minimalist reaction to this proposal is to only backport<br>
> > particular APIs in the affected modules that are judged to be "security<br>
> > critical". However, this ends up providing a worse end user experience,<br>
> > as well as a worse developer experience.<br>
> ><br>
> > For end users, the selective backporting approach means learning not only<br>
> > the legacy Python 2.7 API and the current Python 3 APIs, but also the<br>
> > hybrid API created by the selective backporting process.<br>
><br>
> I think this is a strawman, since you are also advocating for a<br>
> "feature detection" approach to writing cross-version code. It is<br>
> already required, actually, if wanting to write code compatible from<br>
> 3.2 to 3.4 (for example, SSLContext exists in 3.2 but<br>
> create_default_context appears in 3.4 while OP_NO_COMPRESSION appears<br>
> in 3.3).<br>
><br>
> I would much rather selectively backport a minimal set of APIs than the<br>
> whole range of ssl APIs. There are things there (RAND_bytes,<br>
> RAND_pseudo_bytes) that are not even useful for network security, or<br>
> only in a rather uncommon manner (such as channel bindings).</p>
<p dir="ltr">Yeah, I think this is a valid point, and, as Guido noted, we also want the option to skip backporting things if they depend on other aspects of Python 3 that we decide can't be backported.</p>
<p dir="ltr">So a feature-by-feature decision making process actually does make more sense than a blanket exemption.</p>
<p dir="ltr">Cheers,<br>
Nick.</p>
<p dir="ltr">><br>
> Regards<br>
><br>
> Antoine.<br>
><br>
><br>
> _______________________________________________<br>
> Python-Dev mailing list<br>
> <a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/python-dev">https://mail.python.org/mailman/listinfo/python-dev</a><br>
> Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com">https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com</a><br>
</p>