<div dir="ltr">On Thu, Sep 10, 2015 at 12:55 AM, Yawning Angel <span dir="ltr"><<a href="mailto:yawning@schwanenlied.me" target="_blank">yawning@schwanenlied.me</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
FWIW, I don't particularly think that there must be One True PT<br>
language[0], I just recommend Go over the other alternatives due to it<br>
being both memory safe and easy to build on mobile. If someone writes a<br>
new PT in Python, I don't consider it a deal breaker, though it won't<br>
be as useful due to the difficulty of mobile support.<span class="HOEnZb"><font color="#888888"><br>
<br>
[0]: MUST be able to be built deterministically. SHOULD be memory<br>
safe.  Past that, people can do what they want.  If they ignore the<br>
SHOULD clause, the code needs to undergo more thorough auditing before<br>
it will be deployed into production.<br>
</font></span><br></blockquote><div><br></div><div>I'm not advocating that the various PT implementations be abandoned, just that we have a common implementation across products when possible. If I recall correctly, there was a time when TBB, Tails, and Orbot were all shipping different implementations. I think the current state of PT implementation deployment is the following:<br><br></div><div>TBB: Go, Python<br></div><div>Tails: Go<br></div><div>Orbot: Go, C++ (on x86)<br><br></div><div>The benefit of having the Go implementation ship with all products is that PT authors can target one implementation and achieve deployment across all of the products. <br><br></div><div>As far as reproducibility of builds goes, if a reproducible Python build is a challenge, an alternative is to port FTE to Go and retire flashproxy.<br></div></div></div></div>