Introducing Magic Stone (previously C4Social)

Hello, this is a post about a new project called C4Social.

Mission: We are creating magic through evolution of the Fediverse

Most everyone here wants to see decentralized social media flourish but for that to happen, we need more people to get involved in improving what we’re already using and to start new projects as well. C4Social is applying a novel development model to two existing codebases so that everyone can contribute their strengths to grow the software along with the community.

Here’s how you can get involved…

Everyone Instance Administrators Contributors
Try our live versions of 🦣 Mastodon and
*️ diaspora
Install your own from GitHub: C4Social Mastodon
C4Social diaspora
Introduce yourself in Matrix chat or Discussions or check out our Issues

More about the project

Currently there are about a half-dozen people interested in this project. We have three maintainers for four repos. There’s a website, two major codebases, and one for tooling. We forked the major codebases of Mastodon and diaspora to try and solve two problems.

  1. Not enough developers in the fedi. I counted less than 100 contributors across the social media fediverse projects in the last three months and that’s for all the projects you know and use. By accepting contributions more freely, the hope is many who have come and gone will return and new folks will find satisfaction in helping build together.

  2. Being too conservative about development. Big tech has billions of dollars and tens of thousands of devs, and all we have is freedom. Experimentation and competition through forking are our strengths and I think we should use them to create more vibrant communities.

What is C4?

C4 is community-centric software development. It focuses discussion almost entirely on problems. Solutions are by and large accepted freely with sanity checking provided by automation. We use free collaborative platforms like GitHub so it easy for anyone to help but ultimately it’s about setting some rules and letting everyone do what they do best, alone or in groups toward a common purpose.

If you’re reading, you’ve probably contributed to or even created a software project. Maybe it worked and solved your problem, but nobody else seemed interested. You advertised and shared but the response remained underwhelming… and again you solved your problem or learned what you wanted to learn, so that was that. But for some projects, something else happens. People arrive to find a common purpose, or have fun goofing off with crazy ideas and it grows from there. C4 was developed to help make those latter kinds of projects which grow and become people’s passions, maybe enabling their livelihoods.

When I was little I was obsessed with tools. They could do so much and I enjoyed watching them work but when I started my first business I learned customers really don’t care about the tools. It was about solving problems. Break-fix some people call it. People would call, “Dave, I think I have a virus!” or “The printer doesn’t work” or the worst… “The internet’s down!” I really think this is my purpose in life. To solve problems that people care about. That’s what all of this is btw. Turtles all the way down as they say.

C4 focuses on problems; collecting them, defining them, valuing them, narrowing them down. Talk up or down the value so it gets worked on or can be forgotten. Each contributor comes with a lifetime of experience and we want to invite all of that. So if your patch is aimed at an important problem, we merge it.

It’s about that simple and we think it can work, but we’re going to learn a lot along the way and hopefully make a dent in those two problems I mentioned before.

Thank you,

David (weex)

Edit: This post has been heavily rewritten but you can find the old version in the history.


I think this is fascinating, David. The c4 model seems very cool (I love that Pieter references Toyota Kata, which is a book I adore). And I’m currently reading his ZeroMQ guide chapter that you linked over on SocialHub. Anyways, I’m keen to try contributing in this model, especially on your Mastodon fork. In the middle of moving, so it’ll be a few weeks before I get to it, but I’m excited to start playing!

1 Like

@LEDCoyote I really appreciate your taking the time especially in the context of moving which is always a task. Lmk your github and I’ll invite you as maintainer.

I believe Hintjens and know 0MQ has been successful but I can’t wait to see if and how it works on the fedi. What I’m certain of is that we have some valuable problems to solve and that I haven’t worked this hard on anything for years!

1 Like

Here’s my GitHub: LEDCoyote (Charlie (Ellie) Keith) · GitHub Looking forward to it, and can’t wait till I get some extra bandwidth to work with again! The idea of creating federated project communities like that described by Hintjens is awesome. I haven’t done open source work before, but excited to try it under this model and with these projects :slight_smile:

Awesome! Invites sent. I created a gh org for the website but still learning how to admin that to add you. It’s not as straightforward as a simple repo. :sweat_smile:

1 Like

Oh, cool thanks :blush: Haha, I just added an issue discussing the idea of an org a moment ago, before reading this. Great to see we’re aligned :+1::+1: See you in the githubverse!

P.s. definitely let me know how I might be able to help with any of the org stuff.

Made some great progress this weekend and thanks @LEDCoyote for the tip on transferring repos! We’re looking kind of official out here. The branch cleanup also gave me a chance to revisit some stale PRs and close half of those.

Will be back at it tomorrow, likely focusing on deploying Diaspora. Still have no idea what to call the instance so if anyone has an idea… :thinking:

1 Like

:rotating_light: We now have a Diaspora* pod running which is based on a similar kind of fork to the Mastodon one. For those of you who are unfamiliar with Diaspora, it was the first federated projects I ever heard of, early last decade. They started with one of the first successful kickstarters, there was a lot of activity but I heard key contributors got hired away, but still a decent number of users are on its network. It is not, however using ActivityPub. It can bridge to AP fedi via Friendica, Hubzilla, SocialHome, and GNUSocial.

When I think about mappings between big tech and the fedi, Facebook is a big blind spot. Friendica is probably closest but Diaspora was originally more similar. More recent developments like Insta and TikTok more closesly map to PixelFed. So it’s perhaps not a very hip format, even though it’s in use by billions? In any case, I’m excited to get a pod running with some recent improvements and am curious to see how it evolves under a permissive development model (but not license!) like C4. is where you can find the pod and report any issues here.

Edit: Thanks to @macgirvin for the corrections.

Some fact checking…

FWIW I didn’t import any D* code into Friendica. I reverse engineered their crypto because they didn’t even know how their protocol worked. They used a framework to generate the code. I figured out what they were really sending over the wire and made some suggestions how to fix it the numerous issues/errors - and these suggestions became the de facto Diaspora protocol for the next four years.

Hubzilla and SocialHome also provide a bridge between Diaspora and ActivityPub, and GNU-Social can import and federate their public ActivityStreams1 (XML) feeds via OStatus. The postActiv fork of GNU-Social also implemented partial federation but this was never released.

There were around 10-15 Facebook-like fediverse projects last time I looked - and now we’ve apparently got one more. The blind spot is just that. Something unseen or un-noticed by a particular observer. As compared to an empty spot.

All good…


Fueled by the Mastodon fork community features thread and thanks to Glitch-soc and Hometown for their pioneering of these features, we now have the first three checked.

Post length can be edited and for polls, the number and length of option text can be edited from the config file. Local-only posting is integrated and enabled by default.

These are live on if you wish to help test the current state of things.


Hello folks. Based on private feedback from multiple people and the realization that our forks of Mastodon and Diaspora will likely diverge in meaningful ways over time, I wanted to share a naming update!

The overall project has been renamed to Magic Stone. If you’re not familiar there’s a great tale which fits the spirit of what many of us are trying to do with free/libre and open source software. It is the tale of a wanderer who comes to a village in times when food is scarce but who manages through a bit of imagination to bring people together through the use of a “magic stone” for surprising results.

The fork of Mastodon is now called Ecko, and Diaspora is now Acropolis. There’s still some work ahead in terms of the naming update but hopefully these machinations will help us grow beyond the experimental fork stage.


Does anybody know how to put Ecko and Acropolis on the YunoHost Apps Watchlist?

I’m eager to try out the Magic Stone experience.


Thanks for pointing to the watchlist. I created issues in the Ecko and Acropolis repos but will look into that as well. These haven’t diverged much in terms of install process so packaging for upstream or a well-packaged fork will likely work.