Ticket #4104: 2024-10-15-meetingnotes.md

File 2024-10-15-meetingnotes.md, 25.9 KB (added by blaisep, at 2024-10-15T18:55:11Z)

2024-10-15 Meeting notes

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