Updates for October and November
Hello everyone! As many of you know, we have been working to restore and formalize operations and duties after the unexpected passing of our founder, Kris Nóva, in August. We would like to update you on what has been happening in each project, what they’re looking for next, and how you can get involved in the decision process.
For a tl;dr; on upcoming votes & new discussions you can participate in:
- Survey for resuming the process on Haidra
- Pachli application Q&A & next steps
- FIRES proposal Q&A & next steps before the first implementation
- Discussion on codifying process for incubating/approving projects / clarification on board vs general member powers
A quick overview
Nivenly is a member-run co-operative, with many projects that have their own maintainers and communities. We will cover more about governance towards the end of this post. There are four projects with updates: Haidra, FSEP, Pachli, & FIRES. These are each at different stages of acceptance, and we have heard your feedback on the onboarding process. We will be having discussions earlier and publishing applications and such (more later!)
Nivenly projects (not just those four), are looking for volunteers and maintainers. Volunteering on a project can help you learn skills, exchange advice, and build up contributions to open source. It’s a great way to help shape, maintain, and understand the programs you use, and give back to free software. Nivenly projects are also governed by the members of the co-operative, in a way that’s different from commercial software.
Here’s a crash course about Nivenly’s projects & soon to be projects:
- Aurae: Lead maintainer: dma
- Preferred contact: Nivenly Discord
- Needs: see https://github.com/aurae-runtime/aurae
- Hachyderm: led by entire Hachyderm Moderation and Hachyderm Infrastructure teams.
- Haidra: Lead maintainer: db0
- Preferred contact: @dbyzer0:matrix.org
- Needs: Python developers, community managers, Postgresql admins, funding
- FSEP: currently on hold (see this post)
- Pachli: Lead maintainer: Nik Clayton
- FIRES: Lead maintainer: Emelia Smith
All Nivenly project discussion is welcome on our Discourse (https://nivenly.discourse.group/), which is a more permanent place compared to Discord. There’s separate member areas for member specific actions/discussion.
The Nivenly Foundation is also looking for volunteers to help run Nivenly itself. Nivenly non-profit volunteers are asked to contribute a modest commitment of at least two hours per week.
Of particular note: our new documentation & member advocacy team (lead by Alex & Risotto) is looking for volunteers. For docs, you’ll help with drafting blog posts, site documentation, and maintaining meeting records. For member advocacy you’ll help with addressing questions, facilitating conversations, & watching for patterns in Q&A.
More about each project
State of Hachyderm Infra: we completed the big upgrade to 4.2.0 (and more recently 4.2.1), which brought some very neat features to Hachyderm and saw the return of full-text search. We’ve gotten in a very good groove with a proven runbook for upgrades, and, in the future, we should see us upgrade to stable releases very quickly.
Under the hood, we spent some time improving our database backup routine and switched to pgbackrest and said thank you and goodbye to pg_dump. The new backup mechanism allows for faster incremental backups and more straightforward restores in the event of a disaster.
From a capacity perspective, we have significant headroom to weather additional, sudden growth. We likely won’t need to add any capacity until we 2x our current user base/traffic.
What’s up next?
Fastly CDN in front of hachyderm.io - take advantage of Fastly’s global presence and DDoS protection Improved resilience in the web stack - multiple mastodon-webs behind load balancers, enable things like downtime-less upgrades Commoditized components - reduce operator toil to replace components like sidekiq by booting new boxes and taking out the old
The moderation is composed of volunteer team members distributed across the globe. These team members work together to:
- Review reports submitted by Hachyderm users,
- Review reports submitted and forwarded about Hachyderm users,
- Handle appeals,
- Develop moderation documentation and procedures,
- and Proactively monitor instances in the Darkfedi
While a majority of our work is completed async, we also meet on a regular cadence to check in on each other, review complicated reports/appeals, and discuss policy or procedure changes.
If you would like to join the moderation team, review the Moderator Covenant (https://community.hachyderm.io/docs/moderation/covenant/) and submit your application by visiting https://volunteer.hachyderm.io/.
In the new year, we will also be establishing a trusted reporter network and restarting our Moderator Minutes monthly reports. Be on the lookout for more details about the trusted reporter networking coming in the January Moderator Minutes.
Nivenly is running a quick survey about the governance process in the coming weeks (and will send another update when we do). We’re curious where it would be best to restart the process, since our founder’s passing caused a significant delay in the middle. Nivenly’s process for project approvals has become more open due to feedback (Pachli’s and FIRES’ applications & Q&A will be different for example), and we’re curious whether members want to restart at a second Q&A or a formal acceptance vote, et cetera. We want to learn more about how we can engage with Nivenly General Members so they can ensure their voices are heard at the stages of the process they wish to be heard in. The last time discussions on this happened were back in August.
Haidra has been relatively steady as far as development. There’s a new beta version of the worker backend code they’re working on and constant stream of updates in the AI Horde Middleware. Code is pretty decent and if you’d like to help there’s a Haidra discord.
Haidra itself was in limbo as far as member processes go, and we would like to restart them soon, slightly delayed. Where previously the board would select or professionally recommend projects, as this is a cooperative we want membership to move towards making these sorts of decisions and processes going forwards.
Recently to deal with CSAM on Lemmy, Haidra developed an image interrogation service. This allows you to automatically scan images during upload to reduce mod burden and then flag them for further review, or block their upload entirely, for example.
Federation Safety Enhancement Project (FSEP)
FSEP is a product requirements paper written by Ro. The ultimate goal of FSEP is to enable more seamless management of multiple blocklists - local, imported, subscribed - so that Fediverse admins and moderators have an easier way of managing abusive behavior. The goal of FSEP was to release the v1.0 of the paper, which included one initial blocklist source - The Bad Space (also made by Ro). The goal was for other blocklist providers to see this template and give feedback for what would allow FSEP to be compatible with their own blocklists. Unfortunately due to a few factors, including the unexpected passing of our founder Kris Nóva days after the release of the product requirements document as well as the author and original maintainer Ro needing to take a step back due to a torrent of racism that he received over The Bad Space, the originally planned Q&A that was supposed to happen shortly after FSEP was published did not have the opportunity to happen.
FSEP itself was a wonderful opportunity to engage with the community and create a feedback loop. There was a lot of positive and negative criticism around the concepts that FSEP introduced and the ideas it supported to handle them. Ultimately, this is a great start!
The status of this project is on hold, pending the return of either the original maintainer or a handoff to a new one.
(Disclosure statement: the FSEP paper was funded by Nivenly via a direct donation from a member of Nivenly’s board, Mekka Okereke.)
New ( 🎉 ) Project Applications with Next Steps
We have two projects in the queue, one is a project that has expressed interest in applying to be a Nivenly Project and the other is a sponsored project to support those interested in full time Trust and Safety work. Both of these will have separate blog posts with more detail, including timelines, published in the next couple of weeks.
Pachli - A Mastodon Application for Android
Nivenly has received a project application from Pachli, a fork of the Tusky Android project. In response to member feedback, we wanted to make sure that members have the opportunity to have their questions answered much earlier in the project application cycle. In this case, right after the draft of the project application finished any initial Q&A from Nivenly’s board.
Pachli’s complete application is visible here. We’re sure both members and non-members have questions about Pachli! For members, since your questions are part of the governance process please put your questions in the member only area of our Discourse. For non-members, please feel free to ask questions as well in our Discourse’s public area. To help us, and the head maintainer of the project, keep track of the question threads we’ve created both of the members-only and general public threads to kick off the discussions.
FIRES (formerly known as FFS)
Nivenly is also sponsoring Fediverse Intelligence Recommendations & Replication Endpoint Server (FIRES), which is led and being built by Emelia Smith (@thisismissem). For those who have been following her work, this is a rename of the same project formerly referred to as Fediverse Filter Server (FFS). Nivenly’s support for FIRES is two fold: both the initial technical proposal as well as the initial reference implementation. (Updated to add: we’ve been asked a couple of times if FIRES is the same project as FSEP. These are independent projects with separate maintainers that operate in the same space. To borrow from a familiar concept, this is no different than the Ghost and Wordpress blogging platforms. Both are in the same space, blogging, but are completely separate projects run by different people.)
First: what is FIRES? FIRES is in part a response to feedback that there needed to be more nuance in moderation than simply allow and deny lists. Instead, the primary goal of FIRES is to provide the ability to subscribe to moderation advisories and recommendations that change over time. The moderation data will also be structured instead of unstructured - basically instead of a single text field, as is the experience today, the data will be highly structured and capture the full history of changes to moderation recommendations and advisories. This allows machines to better interact with the data of moderation recommendations and advisories, such that tools and user interfaces can be built to expose more data to moderators and end users alike.
As Emelia mentioned in her blog post, she is writing a 6000+ word technical proposal for FIRES. The technical proposal has been undergoing extensive private peer review from other instance moderators and groups, as well as September’s FediForum. At the time of publication, it will be ready for a round of review by members prior to the first server implementation, and will incorporate feedback from the Fediverse as needed. If you are an instance moderator, or have a background in trust and safety, please feel free to contribute your feedback (to the proposal and the implementation)! Once the proposal is ready, we’ll publish it and include where and how to submit feedback in the announcement blog post. If you’re curious about Emelia’s current progress, please check out her October Update or November Update.
For any preliminary questions, please feel free to make a post in the Nivenly Projects section of the Nivenly Discourse. While you do need an account on the Discourse, you do not need to be a Nivenly Member to sign up for an account or to ask questions about one of the projects we are stewarding.
(Disclosure notice: Nivenly is a sponsor of FIRES. Nivenly sponsored this project via a direct donation from a member of Nivenly’s Board, Mekka Okereke.)
Nivenly governance and participation
Nivenly governance is made of four components: The Board, Trade Members (trade chamber), Project Members (project chamber), & Nivenly General Members. Trade & Project chambers function on delegates. For our upcoming processes we would love to see more general member input on Discourse. We will be having several updates regarding processes, and members themselves are allowed to bring topics or polls up for a vote to initiate a change, too. Some actions are board initiated, some may require member votes, and we hope this process gets more ironed out with time.
For now, here are some key points:
- At least 51% of Nivenly General Members must participate in a vote for there to be a quorum of that chamber.
- At least 51% of those votes must be in agreement to pass a formal vote.
- It’s recommended to post on the discourse to discuss the topic and keep things organized and easy to follow.
- Try to summarize your thoughts before diving deep into data
- If you need help you can reach out to our team members
The upcoming decisions we would like to see member participation on are:
- Haidra: survey on restarting Q&A or an application acceptance vote, or just continuing on with it
- Pachli: initial application publishing and opening for Q&A
- FIRES: member discussion of initial proposal and vote on funding initial implementation
- Discussion on formalizing acceptance process, funding requirements, powers of general members vs board
Looking forward to hearing from you on Discourse!