Ticket #4104: 20241022meeting.md

File 20241022meeting.md, 27.1 KB (added by blaisep, at 2024-10-22T18:24:31Z)

MeetingNotes?-2024-10-22

Line 
1---
2title: Tahoe-LAFS - Nuts & Bolts Meetings
3
4---
5
6# Tahoe-LAFS - Nuts & Bolts Meetings
7[Location](https://meet.jit.si/AccurateFiltersManipulateBefore)
8[Legacy meeting notes](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/WeeklyMeeting)
9[Consolidation of notes](https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4104)
10
11## Oct 22, 2024
12### Attendees
13
14- Blaise
15- Chris
16- hacklschorsch
17- Meejah
18
19
20### New Items:
21#### Debian build
22Is there a set of tools we can use to validate our Debian builds?
23#### Decision: let's avoid including Debian-specific dependencies in upstream.
24
25
26#### Python 3.13
27Jeff noticed a weird error with 3.13.rc2: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4118#comment:4
28Chris is checking compatiblity. 3.13 deprecated `cgi` module and there are dependencies on it.
29#### Decision: We should move cgi classes to use the Twisted APIs
30
31#### Testing NAT with pytest and libvirt Virtual Networking
32@meejah : testing NAT with pytest is a headache
33@blaisep : consider one of the networking emulation libraries like [pygmni](https://karneliuk.com/2021/08/pygnmi-10-rapid-and-reliable-network-testing-with-pytest-pygnmi-and-openconfig/)
34@chris : `headscale` is a open source tailscale/wireguard to VPN all-the-things (orthogonal, but interesting)
35https://archive.fosdem.org/2023/schedule/event/goheadscale/
36
37
38---
39
40## Oct 15, 2024
41### Attendees
42
43- Blaise
44- B3n
45- Meejah
46- Jeff
47- Chris
48
49
50### random notes
51
52- some discussion of security etc around Terraform-managed Gandi DNS
53- some meta-discussion of privacy of data for some use-cases
54- distributed forgejo (etc) PRs mentioned, discussed a bit
55- blocker: CI not working https://github.com/tahoe-lafs/tahoe-lafs/pull/1377
56- Contributor/Developer [step-by-step guide](https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4118)
57- It would be good to have a good solution for "oops, I merged the wrong commit" scenario. [trac](https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4124#ticket)
58- Twisted project used https://github.com/chevah/trac-to-github to migrate from trac to github
59
60#### Decisions:
61- convert legacy keywords to static labels
62- link to stored queries that contributors can reuse.
63- Become independent of [CircleCI](https://sr.ht/~meejah/magic-grid/) is an aspiration. Some brave soul should do it.
64- we'll need CircleCI until we can make CI run on the three platforms: Linux, Windows, Mac.
65- Look at using [magic grid](https://sr.ht/~meejah/magic-grid/) to automate the tutorials
66
67### [Issue Tracking](https://github.com/tahoe-lafs/MoveOffTrac/blob/main/docs/UserStories.md)
68@b3n and @blaisep: Writing the [user stories](https://github.com/tahoe-lafs/MoveOffTrac/blob/main/docs/UserStories.md) for issue tracking revealed some scenarios we had not considered. The team should discuss the alternative and consequences.
69We learned:
70- There are additional, distinct,  roles with associated privileges and activities.
71- Many issues are associated with each other using the free text `keywords` feature, which is not covered by the current migration.
72- Ticket Discovery: The View Ticket page has many pre-defined queries which have no direct counterpart outside of trac.
73
74### Related links:
75- [Git Federation](https://drewdevault.com/2018/07/23/Git-is-already-distributed.html)
76- [Git over ActivityPub](https://forgefed.org/)
77
78
79
80### Gaps in the [Contributor guides](https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4118)
81A new contributor has no clear path to a usable PR. The instructions assume familiarity with the project. For example:
82- A contributor cannot find related tickets (WIP, previous solutions, dependencies, @meejah's tutorial automation ticket)
83- How to collaborate on tickets that relate to each other?
84- CI/CD: Which commands build the project?
85- ...It happens that Tox is the the entry point to CI (meejah: not really, but yes tox can run _some_ of the different environments a contributor would want)
86- When to use the various Tox targets?
87- The instructions for a PR should include everything that a contributor needs for sucessful review (ie. reviewer should not have to run additional tests). (meejah: current best effort here is probably https://github.com/tahoe-lafs/tahoe-lafs/blob/master/CONTRIBUTORS.rst)
88
89### QUESTIONS: current contributor user stories
90- As a current contributor, when you want to find a ticket in Trac, do you:
91    - Use a prepared query on the [View Ticket](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/ViewTickets) page?
92    - Use the Custom query form?
93    - Follow links inside an existing issue?
94
95
96
97---
98
99## Oct 8, 2024
100### Attendees
101
102- Blaise
103- B3n
104- Chris
105- hacklschorsch
106- ccx
107- Jeffhimself
108
109
110### New Items
111
112
113Include tests in the description of an issue.
114- https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2050#comment:7
115
116Proposed Docs config changes
117    - create
118        - docs/test (to store the docs-specific tests)
119        - docs/source (to restrict Sphinx to the the docs content, exclude tests, etc.)
120    - add sys.path to docs/source/conf.py (to find the source directory)
121    - Makefile (run Sphinx against the source directory)
122    - Makefile doc-testing (add target for `make doc-testing`)
123
124
125#### The step-by-step Developer Guide
126A failing test(s) for being ready to
127- build docs (`tox -e docs` ?)
128- run the tests?
129- submit a PR (nothing broken that the author couldnt' check themselves)
130- build a release
131
132#### Trac migration Developer Experience
133- @ccx Search? Associating trac issues to a feature is a PITA (labels, components are migrated)
134- @chris: developers should be able to see CI results; what is the integration of issue/commit/PR
135- @blaisep : reorder commits to match their tests.
136- Codeberg CI https://codeberg.org/Codeberg-CI/woodpecker
137
138### Questions
139- How does tox know about the fixtures?
140- setup.py install returns:
141`error: The 'zope-interface>=5' distribution was not found and is required by Twisted, twisted
142` (and I'm not supposed to run setup.py)
143
144---
145
146## Oct 1, 2024
147### Attendees
148
149- Blaise
150- B3n
151- Chris
152- hacklschorsch
153- Jeffhimself
154- Meejah
155- Pete
156
157### New Items:
158
159- Release Checklist, simple PR edition?
160- Public Grid?
161- Public mailbox server? (MagicFolder)
162- Fowl and Dilation mentioned as unannounced apps related to file transfers
163
164
165#### Trac Migration docs
166- WIP https://github.com/tahoe-lafs/MoveOffTrac/tree/docs-update-24w40/docs
167- Docs tickets will serve as the initial spike to test new user (Blaisep) creation.
168- User Account management has some cases we want to excercise (forgot password, account confirmation, etc)
169- Redirecting legacy URLs to the new issue tracker.
170
171### Prior Items:
172
173- Debian packaging in progress (@hacklschorsch will ask Debian Tahoe-LAFS maintainer about status, if we can help, and whether/what dependencies are currently missing in Debian)
174- fixed cryptography library issue https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4100#no1
175
176#### Dependency management
177
178- "Tahoe is an app, so we shouldn't pin dependencies" @pete
179
180#### related projects
181- "Git with you": Peer to Peer git colab (not via github) using pairon (?)
182- [Dulwich](https://www.dulwich.io/docs/#getting-started) is a python implementation of git
183- https://meejah.ca/blog/wizard-gardens-vision
184- [Copybin](https://carml.readthedocs.io/en/latest/command-copybin.html), but private
185- https://magic-folder.readthedocs.io/en/latest/invites.html#invites
186- Brian's STUN server (?)
187- @pete mentioned research on [OCAP](https://github.com/ocapn/ocapn)s over [CRDT](https://github.com/alangibson/awesome-crdt)s
188- exposing ssh using [Inlets sshmux](https://inlets.dev/blog/2024/02/05/access-all-your-ssh-servers-with-sshmux.html)
189- https://www.wireguard.com/
190- [ZCAP](https://w3c-ccg.github.io/zcap-spec/) is separate from Tahoe. [Github]()
191
192
193---
194
195
196## Sep 24, 2024
197### Attendees
198
199- Blaise
200- B3n
201- Chris
202- hacklschorsch
203- Jeffhimself
204- Meejah
205- Pete
206
207### New Items:
208
209- The new tutorials and docs will default to systemd in examples for running as a service.
210- We'll start migrating issues. @b3n will provide a summarized plan next week. If necessary, we'll migrate to a self-hosted forgejo instanc.
211
212#### Migration: User Management topics
213- Account creation flow
214    - Auto-registration OFF,
215    - User Creation
216        - Auto create if Github auth'd
217        - Manual
218- Forgotten password flow (eg. Github IdP is down)
219
220#### Tahoe-S3
221- A client which maps the finger tree into S3 numbers (and deal with S3 size limits)
222- Finger tree used to handle failure scenarios
223- Immutables only
224- Doesn't create the shares
225- Doesn't replace the native Tahoe storage server
226- A challenge to implement in Haskell because it requires intimate knowledge of Tahoe internals, REST and Foolscap APIs
227
228#### ADR: Tech stack decisions
229- Whither Haskell?
230    - How much functionality is already implemented?
231    - Haskell is a good high-level language.
232- Whither Rust?
233    - If we build *low-level* components in Rust, there's opportunity for re-use.
234    - Rust has lots of tooling
235
236#### Improving Immutables
237- Single block writers are the problem (@ccx)
238- blockless multi-writer implementation is the answer
239
240Speaking of block storage, @blaisep wonders if [k8s longhorn](https://longhorn.io/docs/1.7.1/references/longhorn-client-python/) integration may be a crowd pleaser.
241
242
243## TILs
244
245- Duplicity has a backend option [`--tahoe`](https://fossies.org/linux/duplicity/duplicity/backends/tahoebackend.py)
246- Python pre-compiled for [iOS](https://github.com/PyO3/maturin/issues/1742#issuecomment-1686219705), courtesy of [maturin](https://www.maturin.rs/tutorial)
247- Room for improvement in describing our goals, roadmap milestones, features, etc. ("implement Tahoe-S3" vs "have a phone app")
248
249
250---
251
252## Sep 17, 2024
253### Attendees
254
255- Blaise
256- B3n
257- Pete
258
259### New Items:
260
261#### Trac migration
262The time has come. @b3n requests that next week we set in motion the steps to leave trac and use .... something else. (Eventually, we may use GitHub, but before we can migrate to GitHub we need to clean up the issue data anyway).
263
264#### Provisioning and configuration management
265On a ddifferent note, most of the meeting was a discussion comparing provisioning and config management tools. @pete has a project where he needs to produce packaged images for various distributions. Ultimately, the images will run containerized applications.
266This is an area with too many choices.
267
268Some of the resources that came up in the discussion may be interesting to others:
269- [DeBock's Ansible Roles](https://robertdebock.nl/ansible.html#roles). These are tested, [using molecule](https://ansible.readthedocs.io/projects/molecule/), against several Linux distos and versions.
270- [Packer](https://www.packer.io/) from HashiCorp, takes the "images as code" approach. Concerns about a terraform-style licensing issue came up.
271- [Distrobox](https://distrobox.it/) to create containers with custom configurations.
272- [Toolbx](https://containertoolbx.org/) is a wrapper for [podman](https://docs.podman.io/en/latest/) and can be considered as a simpler [alternative to distrobox](https://discussion.fedoraproject.org/t/thread-about-switching-to-distrobox/89151/18?page=2)
273- Finally, the consensus is to create a `justfile` using [Just](https://just.systems/man/en/) to control the tasks and invoke tools like packer and ansible when necessary. Also, consider the trick that the [Fedora Atomic Desktop](https://getaurora.dev/) use to alias `ujust` to point to [admin-provided tools](https://universal-blue.discourse.group/t/just-reorganization-part-1-released/417#automation-and-scripting-3).
274- We agreed that [dagger engine](https://docs.dagger.io/quickstart/#topics) would be useful for interacting with the running containers, but this was out of scope.
275
276---
277
278## Sep 10, 2024
279### Attendees
280
281- Blaise
282- hacklschorsch
283- Chris
284- Ccx
285
286### Step-by-step approach to getting started
287Instead of [showing everything at once](https://imgflip.com/i/930yve), build up the service one feature at a time. @blaisep  has Incoming PR for https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4103
288
289
290### Express modularity using C4 notation for the diagrams
291- layers of abstraction Context, Container, Component, Code
292- [PlantUML includes](https://crashedmind.github.io/PlantUMLHitchhikersGuide/) C4 in the std lib
293- https://crashedmind.github.io/PlantUMLHitchhikersGuide/C4/C4Stdlib.html
294
295### Describing Tahoe to local user groups
296As prep for presenting to larger conferences
297@blaisep offers to do user group talks (later: conference presentations)
298- Historical context (eg. why did they create SDK first? Surveillance capitalism, enshitification, etc.)
299- Use case examples (creating examples relevant to end users)
300    - The "dumb pipe scenario" (provider-independent security), use cloud storage for personal data.
301    - Storage only is low value
302
303#### Challenges
304Either gaps in functionality or gaps in understanding
305- Describing the security boundaries (eg.vs corp walled gardens)
306- Key management, rotattion, revocation
307- The "dumb pipe scenario" (provider-independent security), use cloud storage for personal data.
308- No generic writer( @ccx ) can't write everything to/from everywhere.
309
310#### Comparisons
311Describing Tahoe in terms of something they already know.
312- Nostr:  @chris has written some [Nostr](https://nostr.org/) bots. It's not a dumb pipe in a security sense. It's meant to be censorship-resistance, not confidentiality. More of a brute force approach vs lots of cryptography. @hacklschorsch liked the way the Nostr delivery model (push data to your favorite relay...) is presented.
313Flo said NIP-104 will be a big improvement for private messaging
314https://github.com/nostr-protocol/nips/pull/1427
315 
316- IPFS: similar layer of abstraction. More client implementations. Scales differently? https://news.ycombinator.com/item?id=37750529
317- Signal: but for storage ( _can Signal self host?_ ) The reference implementation is a useful app, SDKs, Open protocol, ubiquitous.
318- Syncthing: (peer-to-peer) but with decentralization and capabilities (@ccx)
319
320---
321
322## Sep 3, 2024
323### Attendees
324
325- b3n
326- Blaise
327- hacklschorsch
328- Meejah
329- Ccx
330
331
332## Prior Items
333
334- Glossary items
335
336- Debian packaging maybe delayed because `pycddl` has never been packaged for Debian. We might make it in by the end of the year. @hacklschorsch
337    - (we should check if any of our other dependencies have never been packaged for Debian @meejah)
338
339- Trac migration (see: https://tahoe-lafs.org/trac/tahoe-lafs/wiki/MoveOffTrac#ProsandConsofself-hostedvsSaaS) looking at the results of migration, @b3n noticed a number of issues with author attribution and broken reference links.
340  - @b3n suggests that we consider a transition period where we run selfhosted and collaborate on the issues we care to migrate. (eg. the user creation needs to be automatic, yet if we set it to auto, then we also get junk accounts created) We can choose a threshold of noise and migrate or wait until it is perfect.
341  - "Our trac instance has defferred maintenance and accummulated cruft over the years. The community wants to retain the option to selfhost, even if we choose not to. So if it makes sense to self host, then we can exercise that option." @meejah
342
343- @hacklschorsch: Can we lower the Tahoe-LAFS merge process turnaround time?
344  - Optimistic Merging / other ideas for the Tahoe-LAFS GitHub repo? to make contributing leaner/more fun
345  - meejah: A PR that is green and has approvals is already merged quickly now.  If not, write on IRC
346  - Currently, meejah is the only active committer in Tahoe-LAFS.  The committers agree it would be good to have more committers, but it's not an easy task. Blaise nominates ccx, but ccx does not have time right now.
347
348
349## New items
350
351- Veilid: is it real, where are the intersections?
352
353@ccx : it's a library which bundles a number of p2p protocols. No existing app yet.
354
355@meejah : played with ethersync and he made it do a thing. It's early and doesn't do anything yet. For instance, no one would install MagicWormhole if they couldn't do file sharing.
356
357### Making it easier to develop on Tahoe
358Separation of concerns, breaking tahoe into modules would be a good next move. @ccx (@blaise start a trac issue?)
359
360---
361
362## August 27, 2024
363### Attendees
364
365- b3n
366- Chris
367- hacklschorsch
368- Meejah
369- Pete
370
371### Updates
372
373- Flo
374  - LA wants to hire a senior Haskeller to work on LAFS
375  - iOS: Obsidian is still investigating the "illegal instruction" compiler/linker issue
376  - Wrote some eMails back and forth with the Debian Tahoe-LAFS maintainer: Would be great if 1.20 would be clean of Python 2 code so it can be included in Debian again.  Also need to look at Debian Trixie code freeze date
377  - Works with Blaise on Tahoe-LAFS docs
378  - ... and would like to pair more in general
379 
380- Chris
381  - published a Rust crate for LAFS: https://crates.io/crates/lafs 
382 source repo: https://github.com/crwood/lafs
383  -  Local and much faster than the Python equivalent (.25s instead of 24s on Chris' machine)
384  -  It comes with Python bindings
385
386- b3n
387  - Codeberg importing issue acknowledged by them
388  - Would like to discuss self-host vs. SaaS for the upcoming GitTea with Meejah
389
390- Meejah
391  - Magic Wormhole protocol work
392  - FOWL Policy & Permissions API mostly done, soon to be merged & released.
393  - [Pear-On](https://sr.ht/~meejah/pear-on/) should work ATM - testers welcome
394
395
396## Previous items
397
398@blaisep Now owns [17 trac tickets from the backlog](https://tahoe-lafs.org/trac/tahoe-lafs/query?owner=blaisep&status=assigned&status=new&status=reopened&id=&keywords=~&reporter=~&col=id&col=summary&col=keywords&col=reporter&col=status&col=owner&col=type&col=priority&col=milestone&col=changetime&desc=1&order=id) which are addressed in this month's effort to produce the getting started kit (docs and Artifacts)
399
400
401## New Items
402
403- Trac [#4103](https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4103#ticket) is a running summary of the items related to the Getting started guide.
404- Trac [4102](https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4102#ticket) describes a workaround for a problem with one of the transitive dependencies (`eliotutils.py`).
405- @blaisep has limited availability until Sep 30 2024
406
407
408---
409
410## August 20, 2024
411### Attendees
412
413Blaise
414b3n
415ccx
416Chris
417hacklschorsch
418
419## Previous items
420
421### WTF Circle CI?
422* Is it broken? Maybe drop it?
423* Do we have much logic in the Circle CI?
424* It might be tests failing, rather than a systemic fail (credentials, dependencies, etc)
425* "AMP server"? (twisted RPC framework) @ccx
426* * https://app.circleci.com/pipelines/github/tahoe-lafs/tahoe-lafs/4958/workflows/d16324ae-293d-45c8-ba97-6ac39ef4cfc4
427* https://app.circleci.com/pipelines/github/tahoe-lafs/tahoe-lafs/4958/workflows/d16324ae-293d-45c8-ba97-6ac39ef4cfc4/jobs/86344
428
429
430### Towards a portable CI
431* keep logic in the repo
432* avoid huge Nix dependency (or maybe build a weekly Nix image)
433* https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/github_integration.html
434
435
436
437### Describe the build process
438* add prose in the dev guide to the files in the repo describing the build (@blaise)
439* update the release checklist: https://tahoe-lafs.readthedocs.io/en/latest/release-checklist.html
440
441### Mutables, Service of Happiness
442* @blaise asked where we were at with mutables...
443* using mutables as single writers (eg. Tahoe backup)
444* It's a big thing, eventually replace with a proper design for a multi-writer primitive
445* For now, stick with readonly or Magic Folder for examples and getting started guide.
446* > Mutables are not just even single-writer safe because partitions can cause rollbacks. Shouldn't be super common but it's still real world error case. @ccx
447
448### [MoveOffTrac](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/MoveOffTrac) - [#4095](https://tahoe-lafs.org/trac/tahoe-lafs/ticket/4095)
449* Trac dump from last month has been migrated on the self-hosted Forgejo [instance](https://forge.lafs.eval.latfa.net/tahoe-lafs/trac-2024-07-25).
450* Working on user mapping: trying to figure how to link trac users to Gitea/Forgejo users, with a mapping to the Github user if different!
451* New Forgejo instance (copy/paste from Gitea) to be closer to Codeberg: https://forge.lafs.eval.latfa.net/tahoe-lafs/
452* Testing migration to Codeberg with pagination bug (workaround), performance issue (deadlock error) and user mapping (unlikely possible)
453* Keyoxide.org may help us to link all those account!?
454
455## New Items
456
457* Blaisep has trac !!!
458* TIL: Trac use "htdigest" (@meejah "i'll put a note in ~trac")
459
460---
461
462## August 13, 2024
463### Attendees
464
465Blaise
466b3n
467ccx
468Chris
469hacklschorsch
470Pete
471
472## Previous items
473
474- Blaise needs a trac account to CRUD issues, for docs, etc.
475- GitTea self register results in many spam accounts @b3n
476- We have users on Trac and users on GitHub, sometimes the names are different. @b3n
477- Trac Migration Plan [WIP](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/MoveOffTrac)
478- migrated Trac eval instance (https://code.lafs.eval.latfa.net/tahoe-lafs/trac-2024-05-23/issues)
479
480## New
481- Meejah might not have admin to [github.com/tahoe-lafs](https://github.com/tahoe-lafs/tahoe-lafs/pull/1370) but so far that isn't yet a problem (eg. if Circle CI creds need updating.) @blaisep
482- Consider using Google, GitHub auth for auto register CodeBerg accounts
483- Consider upgrading/self hosting Trac instance (maybe it's not so bad after all)
484- Could we make trac readonly and do new work on the ["demo" instance](https://www.lafs.eval.latfa.net/) instance?
485
486
487### Migrating Issues: Goals and Constraints
488- Anything off of track is better
489- Github Issues are accessible, but there is risk of lock-in, enshitification
490- Gitea/Forgejo/CodeBerg is future-proof (no lock-in)
491- Inconsistent tribal knowledge about decisions made last year @blaisep et al.
492
493---
494
495
496## August 6, 2024
497### Attendees
498
499Blaise
500b3n
501Chris
502ccx
503hacklschorsch
504meejah
505Pete
506
507
508Thought leaders:
509Amber O'Hearn (not so much)
510Larry Lessig
511Brewster Kahle
512Christine_Lemmer-Webber (spritely)
513
514
515New Items:
516
517Pete's foundation doc: https://docs.google.com/document/d/1MpFUUB9sX-SA6rsHpq9ZkIhrnZaG3zwzI6KJ9I0VAgE/edit
518
519## Comparables
520
521* https://spritely.institute/about/
522* https://ocapn.org/
523* https://darkcrystal.pw/ (meejah)
524* ISRG https://www.abetterinternet.org/
525* https://divviup.org/
526* https://sans-io.readthedocs.io/
527
528
529### Mission statements
530
531"Infrastructure for Libre, gratis, private, intentional composability and sharing " @Blaise , @meejah
532
533Device introduction @meejah
534
535"social infrastructure tools (sharing and composability to support differrent social structures and relationships)"
536Bootstrap social relations, dependency maps.
537@Chris
538
539secure sharing with least privilege (zero trust?) @ccx
540(Higher resolution, more ephemeral than app-level privs)
541https://roy.marples.name/blog/posts/capsicum_vs_pledge_final_thoughts
542
543Discoverable, "~~decentralized~~" (Autonomous?) / disconnected in nature (eg. TLS without the PKI) @Pete
544Provider independent
545
546
547### Community Survey
548
549@Chris: Maybe do a poll "Should we build a Library or an application?" Right now it's the worst of both worlds. Maybe we could explore where we could get more bang; decompose into smaller building blocks may be better.
550eg, decouple wire protocol from the U I.
551https://sans-io.readthedocs.io/ @Pete
552
553Who is the audience? grandmas with photosharing? Political activists? crypto bros?
554
555---
556
557## July 30, 2024
558### Attendees
559
560Blaise
561hacklschorsch
562b3n
563Chris
564Pete
565ccx
566
567## Highlights:
568* Project governance structure
569
570## Agenda
571
572### Previous topics:
573
574* Docs PR in progress
575
576## New Topics:
577* A proposal for a governance structure (Pete)
578
579### An endowment and governance structure
580
581* Align the Tahoe mission with the right institutional structure.
582* Similar cases:
583    * The [Veillid Foundation](https://veilid.org/about-us/) is a very close analog.
584    * https://www.djangoproject.com/foundation/
585    * https://foundation.mozilla.org/en/who-we-are/
586    * https://www.abetterinternet.org/documents/2023-ISRG-Annual-Report.pdf
587    * https://www.abetterinternet.org/about/
588    * https://matrix.org/foundation/about/
589* Fund some dedicated project support
590
591### Who is the community?
592* Board members
593* What are the activities?
594* Intellectual property portfolio (trademarks, copyrights, patents)?
595
596### Who is NOT the community?
597Where has the project stalled and why?
598Why do people drop in, get frustrated, and leave?
599What are the blockers for adoption and how can we overcome them.
600
601### Tahoe public resources; what could we build next?
602* Public test grid ?
603* ZCap servers ?
604
605#### Other options for funding services
606
607* https://docs.opencollective.foundation/how-it-works/fees
608
609#### Dependent projects
610GridSync (golang) ?
611Magic Wormhole ?
612
613#### Dependencies
614* Twisted
615* Mutables
616* Python https://meta.pycqa.org/introduction.html
617
618---
619
620## July 23, 2024
621
622### Attendees
623
624Blaise
625hacklschorsch
626Meejah
627b3n
628Chris
629ccx
630
631
632## Highlights:
633* Mutables would be a good thing for the Foundation to fund.
634* The goal of [GBS](https://gitlab.com/tahoe-lafs/gbs-downloader) is to replace foolscap. Not there yet. (sucks to require a node online)
635* Create project for client filesystem
636
637## Agenda
638
639### Previous topics:
640
641Meejah:
642* Trac disk space restored
643* Granted admin privs
644
645hacklschorsch:
646Mobile LAFS [Wiki page](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/TahoeLAFSMobile) with draft description of Features and Scope.
647
648B3n:
649Next, Trac migration path (DNS, )
650Codeberg bug
651
652
653### New topics:
654* B3n: Prepare Trac migration operating instructions (DNS settings, etc)
655* B3n: Help Meejah create Trac account (for Blaise).
656* Decision: Let's try to make the single mobile code base work (hacklschorsch)
657* Deep integration with the OS is not MVP  (hacklschorsch)
658* [Gitlab milestones](https://gitlab.com/tahoe-lafs/tahoe-lafs-mobile/-/milestones/7#tab-issues) don't have the OS integration yet.(ccx)
659* Create FUSE module for the dev environment (ccx)
660
661## Notes:
662
663Chris:
664* [Porting Tahoe hashlib](https://github.com/crwood/deterministic-keygen/issues/5) to Rust and found an issue:
665* To do a restore with user supplied keys, if a directory is already created we get an uncoordinated error. Possible solution is to derive the cap locally.
666* Curating a common set of test vectors
667
668#### Restore scenarios
669Todo: write up a description, describing permuted scenarios (Meejah, Chris)
670(We need better words to describe the operations and events)
671
672Four scenarios:
673* Client failed, grid is fine
674* Grid loses nodes
675* Grid loses partial data
676* Grid loses all data
677
678
679#### Mutables
680* Don't do service happiness (ccx's complaint)
681
682Can't detect all the restore scenarios. Sometimes all the shares end up on one server :frowning:
683What is the meaning of Happiness? Happiness is just a number (Meejah)
684
685#### Mobile
686* Need to write up the description in  [Wiki page](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/TahoeLAFSMobile)
687* We need to describe how much of the functionality
688* Foolscap requires a node online, [GBS](https://gitlab.com/tahoe-lafs/gbs-downloader) does not
689* "User defined grid" ? (ccx)
690* What if we had a gridsync client (b3n)
691* Deep integration with the OS is not MVP  (hacklschorsch)
692* Obsidian has something called `backend` which is different.
693* [Obelisk overrides](https://gitlab.com/tahoe-lafs/tahoe-lafs-mobile/-/blob/main/obelisk/haskell-overrides.nix?ref_type=heads)
694* Let's have good interface definitions (ccx)
695* [Gitlab repo](https://gitlab.com/tahoe-lafs/tahoe-great-black-swamp) Code
696
697
698#### File system browser? (ccx)
699* Can we use the native [mobile libraries](https://emanual.github.io/Android-docs/guide/topics/providers/document-provider.html)?
700* How much do we need in the GUI?
701* (https://gitlab.com/tahoe-lafs/tahoe-lafs-mobile/-/blob/main/obelisk/haskell-overrides.nix?ref_type=heads)
702
703#### Create project: Investigate FUSE File System Support (ccx)
704* Read/Only native client
705* Read/Only magic folder
706* Read/Write Magic Folder
707* Built on top of GBS downloader
708
709---
710
711
712