About Pachli

Pachli is an application (now) and an association (aspirational).

Pachli-the-application is a best-in-class Android client for Mastodon and Mastodon-like servers. If you’re familiar with Tusky then you’ll love Pachli.

Pachli-the-association is intended to provide a first class organisation to manage the development of the application under the 7 cooperative principles:

  1. Voluntary and open membership
  2. Democratic member control
  3. Member economic participation
  4. Autonomy and independence
  5. Education, Training, and Information
  6. Cooperation among Cooperatives
  7. Concern for Community

At the time of writing it is undecided whether Pachli-the-association will exist as a separate entity, or whether those goals can be met under the wing of an organisation like the Software Freedom Conservancy, Software in the Public Interest, or the Nivenly Foundation.

Questions? I imagine you have some…

What does project success look like?

One of the following happens:

  • Either another project takes this idea, through an accident of fate is more popular, and builds a thriving organisation that develops social media apps under these principals
  • Or the association achieves that goal, and after no more than three years I am able to step back from any sort of day-to-day responsibility, because a responsive and engaged membership is supporting a welcoming team of open source contributors

I would be delighted with either of those outcomes.

Why is it called Pachli?

Do you have any idea how many cool Mastodon and elephant themed names are already taken? :-)

Pachli is a portmanteau of “Pach” from “Pachyderm”, and “-li”, which is a diminutive suffix in Swiss German. I’m not Swiss, but I live there.

This is unrelated to other open source technologies that also use the “-li” suffix for the same reason, like Brotli and Zopfli.

It’s pronounced “Pachli”. To my untrained ear that sounds like “Pack-lee”, with a slight cough over the “k”. A Swiss-German or Dutch native speaker would do it much better justice. I think drinking that much Rivella does something to the vocal chords.

It’s “Pachli”, not “ℙachli”, the “ℙ” is just the logo.

It’s adorable, huh. Obviously, it’s a capital letter P, for “Pachli”.

Seeing the obvious similarity with a left-ward facing elephant’s head, ears, and trunk sold me on the idea.

Mathematicians might get a small kick out of the idea that alphabetically, ℙ is close to ℚ, and ℚ denotes the rationals. “Close to the rationals” seems like an apt description for much of social media.

This is probably not the final logo. I have some ideas, but zero artistic talent to execute them. I have already contacted some artists on the Fediverse to ask about paying for a logo to be developed. However, if you’re reading this, and either are an artist who takes commission, or know one who does, feel free to reach out, team@pachli.app.

The colour scheme is inspired by the Swiss travel posters of yore, featuring stylised figures skiing down mountains, trains carving through valleys and up those same mountains.

Why another organisation?

An organisation like this is needed because the official Mastodon Android app is a second-class citizen to the iOS app, and both apps are missing features supported by the web client, as explained in GitHub - mastodon/mastodon-android: Official Android app for Mastodon.

Other Android apps exist (including Tusky, Megalodon, Moshidon, Husky, Yuito, Trunks, Ivory, Fedilab, Tooot) but are problematic for one or more of the following reasons.

  • Managed by a solo developer, with no continuity plan
  • Not open source
  • No project governance model
  • Development has stagnated

You may argue amongst yourselves as to which reasons apply to which app.

I’m a user of an existing app, why should I care?

As part of providing the best Mastodon app experience for users, Pachli aims to:

  • Support new Mastodon server features on launch, or within a month of them launching
  • Release on a regular schedule, so users rapidly benefit from new features and fixes
  • Communicate transparently, with a clear roadmap for feature development and launch

If those appeal to you, and you think a member-driven cooperative is a good model for Fediverse software development then we’d appreciate your support.

I’m a developer, why should I care?

As part of providing the best developer experience, Pachli aims to:

  • Make it easy for new project members to contribute
    • Clearly describe project norms for new contributors
    • Provide a clear onramp for new contributors to make their first contribution
    • Encourage appropriate tooling to simplify and speed up the contributor experience
  • Encourage a culture of ownership, where contributors can report, propose fixes, and implement fixes to issues whatever their focus
  • Encourage a culture of quality work
    • Provide thoughtful, actionable feedback on PRs that helps developers grow their skills
  • Enable rapid feedback on developer contributions
    • Set clear expectations on how long a PR review cycle should take
    • Release on a regular schedule, so developers get real-world feedback on their work, and the satisfaction of seeing users benefiting from their contributions

I realise that’s a lot of “what” without a great deal of “how”. Over the next week or so the repository will be fleshed out with tooling, contributor guides, expectations for PR review, and so on, to help realise those goals.

Are you seeking donations or funding?

Generally, no to donations or funding, but yes to membership fees. This is cooperative principal #3:

3. Member Economic Participation Members contribute equitably to, and democratically control, the capital of their cooperative. At least part of that capital is usually the common property of the cooperative. Members usually receive limited compensation, if any, on capital subscribed as a condition of membership. Members allocate surpluses for any or all of the following purposes: developing their cooperative, possibly by setting up reserves, part of which at least would be indivisible; benefiting members in proportion to their transactions with the cooperative; and supporting other activities approved by the membership. - Cooperative identity, values & principles | ICA

Once the association is formed membership will be fee-based. Membership will confer rights including the right to create and vote on proposals, stand for membership of the association’s executive committee and working groups.

Membership will not be necessary to participate in the normal open source development process.

If people want to donate more than their membership fee, or donate without also obtaining the rights and responsibilities of membership we’re not going to stop them. But donating more than the membership will not confer extra rights or responsibilities.

How can people contribute now?

The traditional open source contributions of:

  • Filing issues when you see a problem or have a feature request (see open issues…)
  • Sending pull requests to improve code or documentation

are always welcome.

However, there are many other extremely valuable ways that you can contribute to an open source project that are often insufficiently recognised, and I want to explicitly call those out (this is not an exhaustive list):

  • Improving the user interface / user experience
  • Curating the list of open issues
    • Following up on incomplete issues
    • Contacting an issue reporter to see if a fix solved their problem
    • Making sure issues are not ignored
    • Applying consistent labels to make issues easier to manage
  • Improving the joining experience for new contributors
  • Writing release notes
  • Managing the project’s social media account
    • Converting user problems reports on social media to properly tracked issues
    • Responding to users who have questions
    • Identifying patterns of questions that point to where the application can be improved
  • Liaising between the Pachli project and other Fediverse probjects

These are often seen as non-technical, “soft” skills that are undervalued. This project will not do that.

Finally, if you see something that you think the project should be doing, but is not, and you have the skills to do it, you should volunteer. Explain the problem, how you’d solve it, and get to it.

When does the association and membership start?

The goal is somewhen before the end of November 2023.

Ideally, one of the organisations mentioned earlier will agree to host the project. That takes time, and may be an unusual request for them; to my knowledge they normally only host existing open source projects, so this may be too far outside their comfort zone.

That would be very understandable.

If it is, starting a Swiss association along these lines is relatively straightforward.

If that happens there is no requirement that members of the association or anyone voted in to any of the association’s roles be resident in Switzerland.

Who are you?

I’m Nik, I’ve been contributing to open source projects since the early 1990s. I’ve run large open source events (I was one of the co-founders of BSDCon Europe back in 2001). I’ve started open source projects, joined open source projects, been given stewardship of existing projects, and handed stewardship of projects I’ve started over to other people.

On Mastodon I’m @nikclayton@mastodon.social.

I contributed to the Tusky project December 2022 - August 2023. My first contribution improved the FAQ (#16). Since then I contributed more than 150 PRs to the project. If you were affected by Tusky bugs like:

  • The swipe sensitivity between tabs being way too high (fixed: #3148)
  • Losing your place when you press “Load more” (fixed: #3000)
  • Missing notifications (fixed: #3700 (and many others))
  • Images getting “stuck” when trying to zoom or swipe between them (fixed: #3894)

then I’m the one who fixed them.

I also work on accessibility including #3003, #3121, #3272, and #3248.

I was responsible for the 22.0 and 23.0 Tusky releases, and a great deal of the interaction with users via the Tusky Mastodon account. I also did most of the review and merge work of new contributions.

And the sooner this section can be replaced with one titled “Who are we?”, the better.