Skip to content

git-commitment-v2 and community interstitials

Jarret Bryan

The elements of class that stuck with me were topological - how community and infrastructure sat in relation to one another, and informed one another - mostly physically, sometimes conceptually. At the moment, this is something that I am trying to sort through how to find and define community. What shape does it take, where are the edges, how does one get in, how does one change a community, how does one stay in a community.

I spent hours looking at the TeleGeography Submarine Cable Map (https://www.submarinecablemap.com/). In class, and out of class I tried 3 (three!) separate times and failed at the podmapping exercise (incidentally, an exercise that doesn't have a fail condition). In the absence of a technical conclusion, I was looking to make a map, or a heuristic or tool that involved technical mapping ideas - and the use case was to be able to define a snapshot of the shifting nature of a community.

I was really attached to the tool `git` as a metaphor/model for understanding relationships (see git-commitment-v2 below). I found the idea of the git flow as (what I hoped) a starting point for mapping a community, with the specific goal of also maintaining a timeline.

From the Atlassian description of git workflows:

Git workflow - feature branches

(Atlassian. “Gitflow Workflow: Atlassian Git Tutorial.” Atlassian, www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow. Accessed 6 Apr. 2024.)

Another inspiration: Forkonomy()

Forkonomy() takes its name from the software development process of “forking,” which means to copy the original code and start working on it as a separate project with its own community of developers. This is a powerful strategy in situations of collaborative deadlock; it can be enacted without permission in the case of open-source software or by pirating proprietary software.

(Zhang, Alice Yuan. “Sea Change.” Outland, 8 Mar. 2023, outland.art/forkonomy/. Accessed 7 Apr. 2024.)

What I was kind of seeking to do was use the gitflow model - this idea of forking and branching and merging to map how communities emerge and shift - and using the 'commits' to incorporate a temporal element; to me, how communities change over time are as important as their shape in a snapshot moment. It's an idea I can't shake - the community map with a temporal element - but not one I could ultimately put together, the metaphor fell apart in my hands.

There are a few versions that I bounced around with

1. ) Project as a Community Space, Branches as communities, and the branching and commits as Ideas(Values?) in the community, and so we track how core community ideas shift over time.

2.) The project representing a person, the branches representing the various communities they are a part of, commits can be significant events in those communities with personal significance, merges and forks as where those communities intersect.

3.) Project as a community, branches as different people...commits as ???

I couldn't quite nail down how to refine this tool:

A whiteboard displays a hand-drawn diagram with connected circles and lines in black, blue, red, and green, some labeled with text like "SPEE," "DNC," and "blk tea w/ wd."

(Image description: A very obviously incomplete workflow drawn on a mini whiteboard - a map to nowhere)

What does this represent? I drew it, and I couldn't tell you. I was attempting to illustrate my own relationship with SFPC as a community and how I came to it. The labeled 'commits,' Black Tech Weekend, Distributed Web of Care, and SFPC itself, are all 'events' that drew my closer to SFPC as a community - the branching is chronological - but what do the branches themselves represent - where do they start and why do they start there? For a repository initialized with git, there are clear starting points, origins, authors for each commit, messaging about forks and commits - and communities are more nebulous and not as discrete.

I was paralyzed by form - which I think means this isn't the right metaphor to run with, not for this specific instance. Ultimately I failed in trying to put together a useful tool. But I haven't been able to drop the idea yet and I thought documenting the failure in some form was worth it as a post-mortem.


Earlier in March...:

git-commitment-v2 and community interstitials

List of things I've been struggling with, and ideas I've been playing around with:

What does it mean to be 'in community' or 'in solidarity' with a community in a practical sense? How does someone join a community?

Git Commitment v2

An analogy I've been playing with: mapping communities to `git`. I had previously used this idea to kind of interrogate interpersonal relationships

on github, your profile contributions graph is a record of contributions you've made to github repositories - commits, pull requests, code reviews, issue reporting, etc. contributions are only counted if they meet certain criteria. among those criteria is not the signicance of your contribution, just that it happened. a pull request for a crucial bug fix holds the same weight as a pull request as a cosmetic typo.

git commitment unsuccessfully quantifies the contributions you make not to code repositories, but to your relationships. acts of care, emotional investment, expressions of compassion, empathy, and intimacy - your commitment - can only be counted in discrete increments. git commitment cannot weigh the signficance of any 'contribution' to your relationships - only that they happened. something like saying 'i love you ️️❤️" might just be one contribution - whether it was a heartfelt full-throated expression of genuine love, or an automatic response to signify the end of a phone call.

I was drawn to this again but rather than a person to person relationship, a person to community relationship.

A community as a repo - people can contribute to it, feel a sense or ownership. How do you 'pull request' a community? Add something of your own that in some way changes (improves? adds complications?) to a community. How do you 'fork' from a community - take something and apply the same community framework/concept/history/ideas in another context? Or fracture the community? Who approves these - who are they gatekeepers/review the pull requests? Keeping track of logs? Commits? Community Histories?

Considered building something that really formalized (via this idea of pull request) how we contribute to our communities. What do you bring? and what questions come up when you ask, what do you bring? Sometimes it's a skill. Sometimes it's an idea. Sometimes it's your presence? Is it enough, does 'enough' even need to be considered?

Another idea I've been kicking around:

Community in interstitial time.

In class we kind of halfway joked that 'loitering is community building'

A lot communities built around a cause, and action, a goal, lesson plan an ideal - there's a lot of time in between. The 5-10 minutes before and after a class - when planning an action, a protest, a sit in a something, there is the waiting between planning and execution. Between execution and response. We send out an open letter, we hope for an action back. You build a tool and hope for feedback. And the community breathes and changes in that interstitial time.

I recently was spending time with people doing jail support - a comrade of theirs was in the middle of an arrestable action - they were waiting for them to go through all the processing of all that - arrest, transport, booking & processing, bond setting, allowed communication - Just going through the system. And a lot of the support was just actively waiting to hear something before they could go act.

And I've been trying to think how in server practice that could be represented - though I fear that could be a little self indulgent.

I don't necessarily want to fall into the trap of building a tool to solve a social problem, I don't want to build a community onboarding tool. I don't want to build a 'speed up the wait time' tool for something.

About the Author:
Jarret Bryan is a clearly struggling Software Engineer. Check out other half baked ideas at https://www.are.na/jarret-bryan/