One of my freelance roles at the moment is as Developer Relations lead on the Mastodon project. It is a project and platform I’m really passionate about – I use it every day, it is Open Source and based on an open standard, and I strongly feel that federated platforms like this are the key to enabling everyone to own their own content, networks, and experiences beyond the direct reach of commercial interests.
At this stage in its history, Mastodon would I think count as an established and mature OSS project. It has been around since 2016, there are over 10,000 running instances / servers with the software, and over a million regular active users of the platform (plus, it interoperates with a much wider set of other platforms in the Fediverse, and carries posts and content from them as well. There are a number of large repositories that make up the GitHub organisation. There’s a – in my opinion – healthy and diverse set of third party apps that plug in to the network.
One of the things that some folks would say that the project has not always been great at, is communicating with the broader developer community. My own observation is that this is a large and widely-deployed codebase, and at a certain scale, stability and reliability become paramount, and it can be less straightforward to accept pull requests for new features (over prioritising security reports, for example). It is a small team supporting this project, largely underfunded1 if you look at the need to maintain the code, and to pay at least some of the folks involved to work on things full-time so that they can get by day-to-day, and that the core functionality gets the attention it deserves. When you’re coding, you may not have time to do other things like writing documentation, discussing roadmaps, and answering general questions – that’s partly where I come in, but even then, I still need to get help from the core developers to understand some of the questions…
I started working part-time with the core Mastodon team last year, with the goal to improve the experience for developers building on the platform, and also to bring my experience in working with diverse OSS projects and communities to support the Mastodon core team. As an example, last year I overhauled the existing list of known third party API libraries on the documentation site, and also updated the third party client apps page. Towards the start of this year, we started to make a few choices to improve the cadence and – I hope – quality of our external conversations further: we brought the whole team to meet the community at FOSDEM for the first time, for instance, which was a big step for the project.
Visit us at #FOSDEM, building H, level 1! You can say hi to our team or tell us what you’d like to see in Mastodon next. Mugs, t-shirts, enamel pins, and even free stickers available! #Merchtodon— Mastodon (@Mastodon) 2024-02-03T08:56:41.576Z
Eugen and I also had the opportunity to meet with a few folks working on related Fediverse projects, as well as some Mastodon contributors and instance owners, during a whirlwind visit to the Bay Area back in May.
In the last 4 months, Renaud (the Mastodon CTO) and I have been collaborating on an engineering blog series called Trunk & Tidbits. We both strongly believe that explaining what we are working on is an important element in building greater engagement and community around the project. I chose the title for the series as (what I thought was) a clever play on words, but maybe you need to be old enough to remember when source control systems like CVS used “trunk” as in tree trunk as terminology, that we now tend to call “main” in the world of Git! The name is supposed to point to the blog series content being about what we have worked on and merged into the trunk of the code, and some “tidbits” or bits and pieces of other news from around the developer community – plus, of course, our mascot The Mastodon has a trunk of its own… 🦣 😄
Here are links to the April, May, and June posts, if you are interested. We post retrospectively, looking back at progress each month.
One thing to note from these past editions is that I also posted a completely rewritten and overhauled Contributing guide in the past couple of months (mentioned in Trunk & Tidbits); this lives at the organisation-level in our GitHub setup, and is intended as the main starting point if you want to contribute to the code.
Today, we published the July edition of Trunk & Tidbits. tl;dr we’re a bit behind where we had hoped to be towards releasing the next version of Mastodon, v4.3 – but we are really close to getting the beta out, and the “delay”2 is because of some feedback and performance improvements identified in early testing on our own instances, so we’re hoping that when the beta is released, things should be in quite good shape.
I’m hoping that with more regular communications via the blog; interactions with the community via the Fediverse itself and at events (I’ll once again be at Fediforum in September, for example); one-to-one conversations; and a willingness to engage in more conversations where time and resources allow – we can help folks to feel more informed about what we’re working on. It is still a small core team, and it is a busy time as the Fediverse grows… we need to keep things running, stable, and reliable… and there are always going to be features and changes that we cannot get to, or requests we cannot support at short notice… but I can assure you that it is a team effort, we discuss what’s possible, and that, I believe, we’re moving things forward3.
That’s all a personal perspective on what I’ve found, in working with the Mastodon project and team. Let me know if you have feedback on the Trunk & Tidbits series, as I’d love to keep improving these posts, and learning from the folks that read them.
- I am also pretty happy with the fact that the project has made a conscious decision to not go down a road of accepting capital investment, and remains a not-for-profit funded by donations. YMMV, this is a personal opinion. ↩︎
- Note “delay” against an undated release schedule; the release will ship when it is ready to ship. ↩︎
- A footnoted mea culpa / things I personally wish were better if I had more time on the project / there was more scope for them more quickly! I’d prefer it if there was a machine-parseable API specification, and that more Fediverse formats / standards / protocols might be supported in future, and that the developer documentation was even more complete and nicer and better etc etc.. Hopefully, we’ll get nearer to some of those in the future, as time and resources allow. ↩︎
Share this post from your fediverse server
https:// Share
This server does not support sharing. Please visit .
andypiper.co.uk/2024/08/13/the…
#Blaugust2024 #100DaysToOffload #activitypub #Coding #community #developerRelations #developers #devrel #fediform #fediverse #mastodon #openSource #oss #projectManagement #trunkTidbits
The company behind Mastodon
Our story, mission, annual reports, interviews, press releases and more.joinmastodon.org