d7
James K Nelson
d71fcbf0310baa29a0ca7614e5e279b371d8a9bd056419779dfc7b1ec859422b

Issues and PRs do sound like they could be formatted as nostr events.

But to be able to replace GitHub, you'd need a few things:

- A tool that allows anybody to easily host their own git repositories, publicly readable via HTTP. You'd need this as a maintainer (obviously), but also as a contributor, to host the branches you're requesting to be merged.

- Some way of publishing some key which identifies the repository, and which can be associated with issue/PR events. This could possibly just be a URL, but that feels fragile/dangerous. Perhaps it is a public key hosted at a special path on the same domain, NIP-05 style? I'm not sure how you'd handle multiple maintainers, though.

- Event types for PRs, issues, closing PRs/issues, commits, etc.

- Some kind of UI for publishing/consuming all these event types

- As a bonus, you probably want some kind of web-accessible service that indexes these events for discoverability (and I guess also acts as a reliable relay for them)

One neat thing about issues/PRs via nostr events is it could allow for profile pages that aren't just a feed of what you're talking about, but also include what you're contributing to open source. It'd also allow for zaps on issues/commits/PRs. Potentially, it could change the incentive structure from one where talk is rewarded, to one where building is.

There's still a bunch of problems to solve (e.g. What info do the events need? Would it also be beneficial to attach a nostr public key to individual git commits as metadata, given the key formats are incompatible? What happens to events that have been invalidated by a force push?) But it feels worth spending more time thinking about (and maybe even building).