gitworkshop.dev and ngit are tools to enable code collaboration over nostr created and maintained by DanConwayDev
they implement the nip34 draft, which ports the git-email-patch model to nostr, and also have backwards compatible enhancements (nip34+ for shorthand) eg. to optionally enable experiences similar to github PRs
gitworkshop.dev aims to support all things git on nostr, such as the yet to be released and NostrNest and gnostr. ngit is more opinionated focusing on nip34+
via an ngit issue, a gitworkshop.dev issue or directly to DanConwayDev on nostr
the tools are in alpha and your feedback makes them better
should we focus on improving the PR-like experiences or remove them in favor of traditional patch-model patch application? please let use know!
git is decentralized version control system, yet most freedom tech projects use centralized walled gardens on top of git as a social and collaboration layer for code changes
by far the most popular, Microsoft's GitHub, has a history of banning accounts and repositories without warning and this creates a real risk of disruption for important projects like bitcoin-core
whilst alternatives do exist, nearly all of them involve moving to an another walled garden, either controlled by a different centralized guardian, or self-hosted which is less suitable for a anarchic project
some projects use patches-over-email: an alternative and decentralized approach that pre-dates GitHub. despite its antiquated tooling, it has a very smooth and effective workflow for those that use it regularly and has proven to scale to very large projects like the linux kernal.
ultimately, GitHub remains by far the most popular choice for freedom tech projects. The accessible UX, convenience, inter-connected tooling and network effect are just a few of the reasons
nostr is the ideal permissionless, decentralized and censorship resistant social layer for the anarchic FOSS code collaboration use case
there is an opportunity to build modern tooling that compete from a UX perspective and have the additional benefit of integrating into a wider social ecosystem
there is innovation happening with git and nostr in a few places and gitworkshop.dev aims to work with different approaches
ngit is more opinionated and its philosophy can be summed up as:
patch-over-email, with its proven scalability, lays the foundation for providing this social layer without having to re-invent the complexities of creating an efficient alternative to git server over nostr, or use specialized relays
nip34 is draft nip (nostr protocol) for sending git patches over nostr, similar to how patches are sent via email using `git format-patch` and `git send-email`. The patches-over-email model has proven to be a robust workflow that is used extensively; including in very large project such as the linux kernel
ngit and gitworkshop.dev are experimenting with some additional, backwards compatible features (nip34+ for shorthand), some of which may make it into the nip34 specification:
it is trivial to switch git servers as they all operate the exact same protocol. changing the social layer requires a social and UX shift which can be challenging, disruptive and timeconsuming.
no. GitHub is a very large product with a lot of features which don't meet the goal of freedom tech code collaboration.
we are specifically looking to address the needs of anarchic FOSS freedom tech products
got ideas? please share them and lets explore as a community. here's three to get you started:
via an ngit issue, a gitworkshop.dev issue or directly to DanConwayDev on nostr
the tools are in alpha and your feedback makes them better