July 2nd nuts & bolts meeting notes

Jean-Paul Calderone jean-paul+tahoe-dev at leastauthority.com
Tue Jul 2 17:01:22 UTC 2019


Attended by:
Jessie, Liz, Chris, Meejah, Ram, Anand, Jean-Paul

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.

* Meet once a week as a larger group
* Stand up twice a week to keep everyone unblocked, maybe with fewer people
* Dependencies need porting
 * Foolscap
   * Network layer for Tahoe-LAFS
   * Brian started a port months ago but ran out of time
   * Old plan was to add alternate protocol (HTTP) and allow us to skip
Foolscap port
   * New plan is to port Foolscap because the alternate protocol will take
too long
   * Brian suggests
     * we port Foolscap as part of the Tahoe-LAFS port
     * be ruthless about deleting features that aren't needed (so as to
avoid porting them)
       * eg storage features, schema features
   * The trick is to make sure the wire protocol is compatible
     * eg every API specifies whether it takes bytes or unicode
     * Python 2 and Python 3 must agree on this
   * We could look at everything and decide what the ideal outcome for
Python 3 usage would be
   * We could just say the Python 2 behavior is canonical and replicate
this exactly on Python 3
   * Method names are most naturally the "native string" type
     * ... but there is no type that corresponds to this so relying on it
complicates porting effort
   * Brian's wild estimate (on request) is 2 weeks
 * Nevow
   * How maintained is it?
   * twisted.web has all of the templating features
   * look at twisted.web and see if it does everything we are using/need
from nevow
   * port to twisted.web and drop nevow if it seems feasible
 * pycryptopp
   * not worth porting to python3
   * tahoe-lafs switching to "cryptography" library to remove pycryptopp
dependency
   * Current state is that a few review comments still need to be addressed
 * txsocksx
   * Brian suggests dropping this
   * Also dropping i2p
   * Anand did port txsocksx but it hasn't been merged
   * txtorcon has built-in SOCKS support that is Python 3 compatible
 * i2p
   * don't port it
   * let str4d port it
* Tahoe-LAFS itself
 * a big task is identifying what all of the native strings are - bytes or
unicode?
 * consider deleting all of the Foolscap schema stuff from Tahoe-LAFS
   * it's a nice idea
   * it blocks useful/correct protocol upgrades
   * it generally doesn't catch real problems
   * it's more stuff in Foolscap that has to be ported
* Next steps are to identify all the unported dependencies and port them
 * Add list of unported dependencies to the Python 3 milestone
   * https://tahoe-lafs.org/trac/tahoe-lafs/milestone/Support%20Python%203
 * Foolscap
 * Look at and decide what to do about Nevow
* Anand is interested in looking at doing the Foolscap port
 * Who has Foolscap commit access?
 * What is the Foolscap development process?
 * Who will review PRs?
 * Proposal:
   * Fork Foolscap
   * Create an integration branch
   * Create small porting branches and make PRs against the integration
branch
   * Eventually merge a completed port from the integration branch into
upstream master
 * Question for warner:
   * Please give Anand and ??? commit access to Foolscap
   * Does someone else need mailman admin access?
 * Action:
   * Anand will investigate porting effort
     * Figure out a plan for incremental porting effort
   * Send out an update in a few days
   * Updates to tahoe-dev mailing list -
https://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
     * note: email is hard, messages often go to spam or don't get
delivered
* Laaaater:
 * Fix delivery/reliability issues on tahoe-dev mailing list somehow
* Other
 * Re-establish weekly nuts&bolts
 * Send out meeting notes to the mailing list
 * Keep communication public by default
 * Use the irc channel and the mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tahoe-lafs.org/pipermail/tahoe-dev/attachments/20190702/3b8a3f49/attachment.html>


More information about the tahoe-dev mailing list