Creating Collaborative, Accessible GitHub Issues
One thing I've noticed quite often when viewing projects across GitHub: it can be quite difficult to help my favorite projects.
Sometimes, projects label things as a "good first issue" or try to otherwise categorize them into a (sometimes organized) database of work items. The latter traditionally incorporates itself into Projects, which are increasingly more centralized given the permissions requirements to manage such. I've seen the Gantt feature therein as a key point for some items that actually get visually "assigned" to people.
This can work itself out in a manner of having your own page or section in the project. In the most centralized cases, it means assignment to a team in broad generality, which then gets brought to a people-manager before directing labor. Or, in the more open-source cases, every issue is so technical and nuanced that practically only 1 out of 1000 users even bother searching through how they can help.
Past Reflections
I've tried to address this with a whole detailed, laid-out post on including emojis stylistically into Issue titles, git commits, or general Discussions. However, this is much more a style choice as I've come to understand it, as I just think it looks pretty and approachable. But I've found through direct experience with more technically-minded teams that this simply isn't the case for everyone.
Materially and namely, I had a commit renamed by a highly technical contributor to1 rename the commit to something much more engineering-speak. Sadly, I really don't think this engineering-computer-science style works best for general creative collaboration. While it might work well in some legacy free software projects with pre-Affero schemes designed to interleave into current corporate interests, I just don't think it lets society get the best out of human potential.
Permissionless Decentralization
One thing I recall so deeply from the early days of hiring freelancers for small tasked projects: the extensive detail I'd always dive into about exactly how I wanted some work done. Recently, a community member James asked about the old college-era Block Transfer marketing "viral" video.2 It made me recall how much extensive oversight I had over that person's work, giving them the exact script and scene-by-scene feedback on exactly how I wanted text or images shown, based on their drafts.
When that vid relatively flopped, I realized something I realized when I told Nicko (old YT course video editor) exactly how I wanted some specific text to appear on a video shot at the start of an outside vid.3 Again, I thought it was the hottest shit ever, but absolutely nothing in terms of response. Meanwhile, Nicko themselves was a literally pro YouTuber guy in other languages, so what the actual hell am I doing telling them how to edit videos?
Unlimited Potential
The interleave comes into framing and generally drafting issues because we are putting things out for literally the entire world to see. I have some experience creating items TODO for small repos with under five stars and two collaborators. I would think that being "first in the game" to bring something to someone's attention would count for something. But I've found the opposite when I specifically detail a challenge and screenshot, e.g., what the problem is—asking someone to fix it. And that's even for people I sponsor.
The more I thought about it, I realized that the general style of creating issues, as I've been exposed to them, screams centralization. For instance, many issue templates will ask you what you want to see happen, how it should happen (via which changes), and sometimes alternative routes you can think of (in Stellar at least). But that last point highlights the exact main problem with this approach: you are strictly limiting your scope of work to your ideas.
If we agree that we're building something that impacts everyone, that everyone can work on it, and that everyone should win in the end, then we by nature requisite consideration of everyone's skill sets. I don't mean this in the sense that seven billion people need to vote on XYZ (minor) change, but I do mean in the sense that we should consider whether we are really the best person to be scoping something out or configuring the work.
Equal Working
This next part requisites an understanding that we work in an environment where there are no managers. None of this makes a whole lot of sense if we presume that a person's "job" can be managing, directing, or otherwise coercing the labor of others.
Thus, let's abstract to a future where everyone just takes each other's efforts at their meritocratic value. Sure, perhaps we can understand their background incentives. But it's not a hierarchical bureaucracy to implement this or that.
The Best
Capitalism works because the baker is the best one in town at making bread. Otherwise, someone would outcompete them, presuming they can access enough capital to make the physical necessities work. Same for anything else; it's a self-elected selection of your own role based quite largely on market feedback valuing your skills and efforts.4
I don't think we need the absolute damn best person in the whole wide world to do sort of "simple" starter work. Hell, let young kids opt into doing development work early on if they want, as they presently do with open-source projects without material remuneration unless they start their own centralized companies.5 Working is a freedom of expression that has for far too long been gatekept to the extractive business-labor construct. We can finally let people just do what they want and can self-identify as the greatest use of their particularities.
Ideally, this lets the best person for any given job uncover that themselves (because there is no other way to do this2). Thus, the conversation rolls into how we'd let someone create their own best course of action. This does so many things:
- Creates buy-in: This personally involves someone with the work's scope of action, making everyone yield better end results.
- Lets them fucking think: So often we reduce activities down to our specific interpretation of what needs to happen and why, but that's literally just "your opinion, bro." If we're paying one less to invest their labor in something, fine, you can boss them around. But that's not a natural human problem-solving tendency; it's degrading af.
- Enables adequate consideration of creative energies: When you set the plan for someone else, you definitionally define what it is they can achieve, be it in work product or monetary compensation. The only alternative is a free system where anyone can choose their occupation, adventures, and missions.
Asking Why
Thus, I'm transitioning to making issue titles questions. Then, I explain WHY I think such and such title is material for the success of XYZ shared common objective. The description should contain as much context as possible, but I am very careful to not include too much of my own research if it's not something I want to do myself.6 I've already mostly been doing this for Discussions.7 Should be good to keep PRs and commits as plain descriptions of work though, so that it's clear exactly where what changes were made here or there.
-
In part, but I'd argue for the largest instance. ↩︎
-
From the legacy centralized streaming schedule at the end of the Deck. ↩︎ ↩︎
-
As an aside, I remember personally working so hard on the ABCD video to edit myself. It's got to be a creative artist kind of thing, to control these personal aspects of content production, right? ↩︎
-
That market can be explicit through monetary consideration in an "entrepreneurial" venture, or it can be implicit through social support groups around your work. ↩︎
-
I do not support parents forcing their children to work on software. But I know that it can lead to exceptional innovation when the youth voluntarily ask and learn about the technical work around them. ↩︎
-
Read: this means asking questions for your own issues so that others who feel like helping out can actually reasonably do so. ↩︎
-
At least the ones that are actually good within the community, rather than bureaucratic politicking crap. ↩︎