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