About Pachli

Pachli is an application and a member project of the Nivenly Foundation.

Pachli-the-application is a best-in-class Android client for Mastodon and Mastodon-like servers.

As a Nivenly Foundation project Pachli intends 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

Questions? I imagine you have some…

What is the Nivenly Foundation?

The Nivenly Foundation is a non-profit co-op organization that seeks to provide governance and support to Open Source Projects. Our belief is that more active collaboration will improve open source projects, and our goal is to provide spaces and supporting mechanisms that enable communities and maintainers to work together.

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 project-under-Nivenly 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 cords.

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 application and 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, helping 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

How can I contribute?

First, try using Pachli as your Mastodon client of choice. You can install from Google Play, F-Droid, or GitHub. Then share any feedback you have; what works for you, what doesn’t, UX improvements you’d like to see, and so on. The release notes for different versions (e.g., 2.5.2, 2.5.1, or 2.4.0) show user feedback is a rich source of ideas for improvements.

As an open source project contributions of code and documentation through the traditional pull-request route is always welcome. The current list of open issues may provide ideas.

Pachli contributions are licensed under the GPL 3.0, and we ask contributors to sign a Contributor License Agreement either on behalf of themselves or as a business employee as appropriate. This is handled automatically when submitting your first PR.

In common with many open source projects contributors are expected to abide by a code of conduct.

I’m especially interested in hearing from people who are getting started with Android development and want to develop their skills further. I’m very happy to spend time helping people onboard the project, understand the code, and make their first contributions.

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 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 projects

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

Finally, if you see something 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.

Do I need to be a Nivenly member to contribute to Pachli?

No, you do not need to be a member of Nivenly to contribute to this project. Contributions are always judged on their own merits.

Do I need to be a Nivenly member to participate in governance decisions for Pachli?

Yes, you do need to be a Nivenly member to participate in governance decisions.

And that’s the point. To expand on the first three of the 7 cooperative principles mentioned earlier:

  1. Voluntary and Open Membership

    Cooperatives are voluntary organisations, open to all persons able to use their services and willing to accept the responsibilities of membership, without gender, social, racial, political or religious discrimination.

  2. Democratic Member Control

    Cooperatives are democratic organisations controlled by their members, who actively participate in setting their policies and making decisions. Men and women serving as elected representatives are accountable to the membership. In primary cooperatives members have equal voting rights (one member, one vote) and cooperatives at other levels are also organised in a democratic manner.

  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.

The Nivenly Foundation provides the infrastructure to support points 2 and 3.

What does “Economic Participation” mean?

You subscribe to become a “General Member” of the Nivenly Foundation.

Nivenly Governance has the full details, the short version is you agree to follow the Nivenly Covenant and subscribe to the “General Membership - Individual” level at the Nivenly Foundation Open Collective for USD 7.00 per month.

As a Nivenly General Member you have a say in the governance of all Nivenly Foundation projects, not just Pachli.

How will the Pachli project spend any of this money?

Right now, it won’t, and it won’t until there are transparent expense and grant policies in place. When they are in place one of the things I hope the broader membership will contribute is proposals to vote on for how funds should be spent.

For example (these are hypothetical suggestions):

  • Fund an accessiblity review of Pachli, highlighting changes to improve its overall accessibility
  • Fund an internship, perhaps via a programme like Outreachy

Can I just donate to Pachli without being a member?

You can (Pachli Open Collective), but if you do you do not have any say in project governance, it’s more like a tip jar.

And while that’s appreciated I hope you’ll be more interested in participating in the project’s ongoing governance. Any monetary contributions that are not in the form of Nivenly memberships will not convey extra rights or responsibilities.

And again, until there are transparent expense and grant policies in place no money from third parties – whether it’s from membership fees, or donations – will be spent by the project.

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.

Pachli is a Nivenly Foundation project