<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>