owned this note
owned this note
Published
Linked with GitHub
# 2020-04-03 Polis: Community Kickoff Call
:date: **Date:** Friday, Apr 3 @ 10:30-12:15pm ET
:pencil: **Notetaker:** patcon
:family: **Who's here?**
- [@ballpointpenguin](https://github.com/ballpointpenguin) Benjamin Rosas (br)
- [@crkrenn](https://github.com/crkrenn) Chris Krenn (ck)
- [@david-nadaraia](https://github.com/david-nadaraia) David Nadaraia (dn)
- [@metasoarous](https://github.com/metasoarous) Chris Small (cs)
- [@patcon](https://github.com/patcon) Patrick Connolly (pc)
## Agenda
1. Intros
2. Build agenda (concerns and future directions)
## Notes
- intros
- br: JS eng mostly. fullstack. experimenting with functional programming lately: elixir. haskells. not a ton in pol.is yet. interested in containerization and devops deploy. also js revamp. college buddies with @metasoarous.
- ck: interested in application side. better democracy. new to JS or clojure. hobby side. python experience. computational physics dayjob. LLNL.
- cs: helped make polis. suzie [?] told about it. computational biology before. bg in math. felt perfect that tools applied to democracy. excited for community effort.
- pc: failed biochemist. self-taught tech. devops. started with pol.is following interest in vtaiwan. did participatory research in taiwan on scholarship.
- dn: lives in country of georgia. software dev 25+ yrs. recently doing more FOSS and freelance. cloud arch. enterprise applications. working with crkrenn through part-time hiring.
- Annoucement
- cs: ~~shhhhhh~~
- Future direction hopes
- pc: monorepo. docker. repo stewards. community management. (community process) open calls?
- cs: smoothing deploy. monorepo. server cleanup. unify frontend build.
- ck: branching structure. stable vs unstable.
- br: versioning? how we ship, how we develop. documentation around deploy. how to get involved?
- eng process + community process (general agreement)
- cs: website woefully out-of-date now.
- colin working on lander for project.
- goal is to have some of the above tackled.
- **community**
- cs: re: open calls. weekly or biweekly might be too much, so maybe :bulb: **monthly "mandatory" calls for active folks.**
- pc: :bulb: can do **weekly orientation/hello calls**. +1 cs
- ck: :bulb: maybe smaller calls every 2 weeks for active folks
- **deploy + monorepo**
- cs: way back, br+cs made progress on deploy/containers before
- cs: repo fragmentation felt like challenge before
- e.g. frontend static compilation, then moving to file server. port wrangling.
- :bulb: makefile
- ckrenn: got dev running in 4 diff docker containers. some rewiring. static compile not automated for me.
- ben: +1 on monorepo. would like to get to `docker-compose up` for starting. more effort needed for prod deployment.
- re: **scripting/tooling**
- ck: bash? all: no objections
- ben: ansible. +1 pc
- pc: other languages for scripting might be more accessible, e.g. python
- cs: **nothing wrong with having a few different options/approaches** written with different tools. tho maintenance burden is real.
- dn: would like to use AWS fargate infra to deploy all components. [pulumi tool](https://www.pulumi.com/docs/get-started/aws/)? helps build AWS stacks.
- pc: **testing**
- cs: +1
- cs: **polisServer** feels like the most troublesome part
- lots of technical debt due to startup philosophy
- explored many markets. built features to try out various uses.
- hard to know what's in use, in terms of features
- hates javascript, which is ok for frontend that colin manages, but bad since cs is responsible for server
- don't want to rewrite, but wouldn't necessarily be a bad thing
- would be supportive of a **rewrite server in clojure**. would make
- re: **urakagi taiwan gov fork.** made lots of changes, but cs stoppped following progress
- cs: added a few things that couldn't be upstreamed.
- pc: seems like changes are only to specific areas of codebase he worked on, so potentially simple to merge. no comment on business logic changes.
- cs: e.g. wanted own lander, hardcoded.
- now we want my ability to customize. #todo
- cs: ToS, privacy, etc need to be changes, re: GDPR #todo
- ck: has already dealt with this on private branch
- **clojure polisServer rewrite**
- pc: small worry with rewrite based on democratic access. bayesian thinking: clojure < javascript, so less accessible pool of devs.
- br: :+1: on rewrite. feels this will be a a clojure+js project regardless. also, there might even be benefit to having clojure as attacted new persons
- :-1: on rewrite. worry about a stench of technical debt: "well, why should i even maintain it"
- currently actively maintaining features on a doomed project
- we should maintain and love the server code we have today, even if it might be rewritten in a year timeline (for example)
- my velocity on node is faster than clojure
- also, working on current js codebase means more ppl understanding server better
- cs: someone mentioned doing logging on routes, so we know what's being used. Thinking 2/3 is cruft that could be removed
- #todo logging and/or tracing
- **community (revisited)**
- pc: pull request hack: https://felixge.de/2013/03/11/the-pull-request-hack.html
- also, giving "read" access is alt to full "write"
- ~~"read" allows label, open/close.~~ "triage" allows this.
- #todo cs can assign ~~read~~ triage access: patcon, ckrenn (ben already there) everyone on call
- will rubber-stamp PRs to non-master branches
- cs: #todo git-subtree merge (might need to be full repo level operation). use trial-balloon repo if helpful. push to upstream repo on branch if possible
- #todo create dev branch
- #todo nonprofit slack the right place for dev community? (cs)
- all: for now, stick with Gitter #decision
- cs: #todo github project for triaging issues (pc?)
- ben: should i just dive in and contribute? +1 pc
- pc: could also create one issue, and do a review, then use that ticket as a checklist
- cs: propose breaking things up into smaller issues. can depend
- commit messages that close issues. granular.
- br: big issue to spawn off smaller. like an RFC. +1 cs
- **docs**
- cs: roamresearch.com
- note-taking app, but everything is a list.
- every item can be markdown. every list item is a page.
- turns your notes into a graph database
- uses datomic (creator is also creator of clojure)
- pc: roam seems rad. unclear what community process might be for that. PRs process is kinda clunky, but we know how it works. not clear how community contribution to Roam database would work (though could figure it out)
- +1 cs. could still with PR and `docs/` dir for now #decision
- #todo share email addresses
- #todo patcon will cleanup notes, and spin out a ticket for the notes and any todos.
- #todo schedule next calls
- #todo unify front-end build process
- #todo create org-wide github project board
## To Dos
- [x] transfer #todos to issue queue [`pol-is/polis-issues#128`](https://github.com/pol-is/polis-issues/issues/128)