Show newer

I lik this post from @agateblue@mastodon.technology in the ActivityPub library titled "Getting our hands dirty", which is about project governance, the problem that sent me off on the search that found C4 and spawned C4Social.
library.activitypub.dev/shelve

C4Social was created to solve two problems (not enough developers on the fediverse and slow development pace) with the hypothesis that the Collaborative Code Construction Contract (C4) offered a compelling solution.

Core to the C4 is that code is merged not on its content but on the problem it addresses. So from the first moments, feeding the process meant finding code which addresses valid problems. Upstream is therefore the first place you look… and there we found and merged 35 PRs between the two forks.

As people joined, some concerns were raised with this practice:

* First, that such PRs might be work-in-progress and that by merging code before upstream maintainers, we would be taking on additional risk on a patch which may still receive comments and changes.
* Second, if more changes are made and then the code is then merged upstream, we may have conflicts to resolve which might make merging not worth the extra maintenance.
* Third, the author of the patch may be surprised that their code is used on a fork.

Today, there are another dozen or so PRs to look at so this is a good time throw a question out there. Are there other concerns that should be raised about this practice? If you make PRs, would you want to be pinged by a fork?

Maybe dumb question but should forks be completely renamed? Is prefixing enough?

github.com/c4social/mastodon/i

If anyone wants to play around with some web-of-trust scoring code, here's github.com/weex/wot-server/blo.

Test with `python test.py`.

Extremely curious to see how this would work on an anonymized stream of values, perhaps generated by events like block, ignore, follow, boost.

My daughter has been doing portraits and sketches since she was old enough to hold a colored pencil. She just sent me this for the C4Social project so... meet Charles, our new mascot/logo/protocol robot. 😍

Hello `fetch chromium` my old friend.

STIILL running after four and a half hours. Looks like you're done downloading and now "running hooks"... wasm_fuzzer, that looks interesting.

BREAKING NEWS

Subprocess failed with return code 2!

47GB of data on disk and we've run out of space. Will have to pick this up later in the VM.

Thanks for playing!

Show thread

Now that wasn't so bad honestly. I chose the Artifact mode which apparently downloads pre-built binaries for the c++ code. This one is apparently better for front-end/ui work. I wanted to start simple and now after `./mach run` I'm looking at a working browser (with the sponsored links that started all of this).

Two hours including a VM install isn't bad overall. Maybe I'll tackle one of the first bugs I saw in Codetribute.

In the mean time, Chromium's fetch continues...

Show thread

Meanwhile the `fetch chromium` is giving alarming messages about fatal early EOF and index-pack failed. Still have 21gb of free disk space and internet has been fine so hopefully it retries. 🤷

Show thread

Intresting. I like Mozilla's bootstrap.py in that it suggests and educates about a bunch of mercurial settings and extensions that I wonder about now for git.

And I can't believe I have a phabricator account again through Bugzilla. Feels like the last time I was in corporate dev, though I'm not sure the weekend hacker/student would enjoy yet-another-account.

Show thread

Chromium mac build instructions say:
Expect the command to take 30 minutes on even a fast connection, and many hours on slower ones.

I've been running this for 1.5 hours hitting speeds of 30Mbps regularly. Not sure if this is slow or fast but I'm seeing a git Receiving objects that's been stuck on 63% for a while.

Show thread

Inspired by the thread below and after responding that open source needs devs more than money, I've started the process to setup dev environments for Chromium and Firefox. So far, it looks like I need 30gb of space for Firefox and ?? for Chromium.

I've been downloading source code I guess using Google's depot tool for the last hour. I only know that I was warned to make my Mac not shut off if the screen does because there will be some long running network connections.

On the bug reporting side, both have their very highly-populated bug trackers though I give Firefox props for having a first-issue focused one called Codetribute.

30+??? GB is too much, even the ?? might be too much so I'm setting up a VM with 250GB of disk on which I'll build Chromium if it won't work in 40.

Thread: shrike.club/@kate/106903417065

Here's a little thing that may not be obvious to many people....

When you install an open-source app from Google Play or the Apple app store, there is no guarantee that what you install actually matches the public code.

@fdroidorg are doing a great service. They independently build the public source code for apps from scratch, review for common issues, and publish their builds. Thanks to "reproducible builds" it's possible to verify they do not tamper with the code.

f-droid.org/en/docs/Security_M

🎉 Local-only posting is now live on c4.social 🎉

Now we can have intimate chats and movie nights about federated open source development protocol?! 🤣

Merged a few updates to C4Social's fork, the main ones being polls default to 3 days and ClearlyClaire's improved error messages which hasn't been merged upstream.

Next up: Hometown's version of Local-only posts. Will let you know when it's live if you'd like to help test at c4.social.

TIL `git remote add` is the development equivalent of follow.

Should poll answers in be presented in random order?

Please reply with reasoning.

Thinking about protocol as a lay person brings to mind RSVPs and what exactly HR does after they get a complaint, but as a tech person I know protocols are simply rules that help us work together, independently.

Wouldn't it be interesting to explore how ideas from tech protocols can help us do the same?

What would distributed systems protocols like DHT, bittorrent and federation look like for communities, cities, and governments? Could they not solve many bureaucratic issues and problems of coordination and blocking?

Seems to me there's a lot of untapped potential here.

I've realized the Federated timeline on this little instance is better than expected. Developers, animal memes, and fedi-centric talk.

I suspect this is because I'm doing most of the following here, but look forward to a mix when others start following.

Makes clearer the motivation for limited or selective registration.

Got a PR put together and after a lot of cut and paste it seems to work on a dev box. The question is, how to test... so I'm looking at logs to see what goes out when.

Show thread

Editable toot length ✔️
Configurable polls (PR ready)
Local-only posts (now in-process)

github.com/c4social/mastodon

Show older
Ecko / c4.social

Creating magic through evolution of the Fediverse. Running Ecko, a community-driven fork of Mastodon managed using the Collective Code Construction Contract (C4) by the Magic Stone Community. C4 is a protocol for asynchronous, non-blocking, distributed, problem-focused software development.