<div dir="ltr">And Brian!  Brian was there. :)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 2, 2019 at 1:01 PM Jean-Paul Calderone <<a href="mailto:jean-paul%2Btahoe-dev@leastauthority.com">jean-paul+tahoe-dev@leastauthority.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Attended by:<div>Jessie, Liz, Chris, Meejah, Ram, Anand, Jean-Paul<div><font color="#000000" face="monospace"><br></font></div>Discussion today was focused on the Python 3 porting effort.  Assume that as the context in reading the notes, I mostly didn't bother to include that detail inline.</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">* Meet once a week as a larger group
</span><br>* Stand up twice a week to keep everyone unblocked, maybe with fewer people
<br>* Dependencies need porting
<br>  * Foolscap
<br>    * Network layer for Tahoe-LAFS
<br>    * Brian started a port months ago but ran out of time
<br>    * Old plan was to add alternate protocol (HTTP) and allow us to skip Foolscap port
<br>    * New plan is to port Foolscap because the alternate protocol will take too long
<br>    * Brian suggests
<br>      * we port Foolscap as part of the Tahoe-LAFS port
<br>      * be ruthless about deleting features that aren't needed (so as to avoid porting them)
<br>        * eg storage features, schema features
<br>    * The trick is to make sure the wire protocol is compatible
<br>      * eg every API specifies whether it takes bytes or unicode
<br>      * Python 2 and Python 3 must agree on this
<br>    * We could look at everything and decide what the ideal outcome for Python 3 usage would be
<br>    * We could just say the Python 2 behavior is canonical and replicate this exactly on Python 3
<br>    * Method names are most naturally the "native string" type
<br>      * ... but there is no type that corresponds to this so relying on it complicates porting effort
<br>    * Brian's wild estimate (on request) is 2 weeks
<br>  * Nevow
<br>    * How maintained is it?
<br>    * twisted.web has all of the templating features
<br>    * look at twisted.web and see if it does everything we are using/need from nevow
<br>    * port to twisted.web and drop nevow if it seems feasible
<br>  * pycryptopp
<br>    * not worth porting to python3
<br>    * tahoe-lafs switching to "cryptography" library to remove pycryptopp dependency
<br>    * Current state is that a few review comments still need to be addressed
<br>  * txsocksx
<br>    * Brian suggests dropping this
<br>    * Also dropping i2p
<br>    * Anand did port txsocksx but it hasn't been merged
<br>    * txtorcon has built-in SOCKS support that is Python 3 compatible
<br>  * i2p
<br>    * don't port it
<br>    * let str4d port it
<br>* Tahoe-LAFS itself
<br>  * a big task is identifying what all of the native strings are - bytes or unicode?
<br>  * consider deleting all of the Foolscap schema stuff from Tahoe-LAFS
<br>    * it's a nice idea
<br>    * it blocks useful/correct protocol upgrades
<br>    * it generally doesn't catch real problems
<br>    * it's more stuff in Foolscap that has to be ported
<br>* Next steps are to identify all the unported dependencies and port them
<br>  * Add list of unported dependencies to the Python 3 milestone
<br>    * <a href="https://tahoe-lafs.org/trac/tahoe-lafs/milestone/Support%20Python%203" target="_blank">https://tahoe-lafs.org/trac/tahoe-lafs/milestone/Support%20Python%203</a>
<br>  * Foolscap
<br>  * Look at and decide what to do about Nevow
<br>* Anand is interested in looking at doing the Foolscap port
<br>  * Who has Foolscap commit access?
<br>  * What is the Foolscap development process?
<br>  * Who will review PRs?
<br>  * Proposal:
<br>    * Fork Foolscap
<br>    * Create an integration branch
<br>    * Create small porting branches and make PRs against the integration branch
<br>    * Eventually merge a completed port from the integration branch into upstream master
<br>  * Question for warner:
<br>    * Please give Anand and ??? commit access to Foolscap
<br>    * Does someone else need mailman admin access?
<br>  * Action:
<br>    * Anand will investigate porting effort
<br>      * Figure out a plan for incremental porting effort
<br>    * Send out an update in a few days
<br>    * Updates to tahoe-dev mailing list - <a href="https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev" target="_blank">https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev</a>
<br>      * note: email is hard, messages often go to spam or don't get delivered
<br>* Laaaater:
<br>  * Fix delivery/reliability issues on tahoe-dev mailing list somehow
<br>* Other
<br>  * Re-establish weekly nuts&bolts
<br>  * Send out meeting notes to the mailing list
<br>  * Keep communication public by default
<br>  * Use the irc channel and the mailing list<br>
<br></span></div></div>
</blockquote></div>