-
@ DanConwayDev
2023-04-17 22:17:51Git is a distributed version control system. It is used to store and manage the vast majority of the world's code.
Despite git being fundamentally distributed by nature, the authoritative repositories and surrounding collaboration for many of even the most freedom-loving open source projects are not. They sit on GitHub: a centralised walled garden owned and ultimately controlled by Microsoft; a US publicly listed behemoth.
Nostr is an open and permission-less communications protocol that operates through relays.
Could it be used to liberate the world's code collaboration from centralised authorities?
Core Features
To compete, a nostr based solution must enable the following core features:
- Authoritative git repositories, updated exclusively by authorised maintainers.
- Platform to host the surround collaboration. Comments and interactions around PRs, issues, project tracking, etc.
- CI/CD pipeline integration with tools such as CicleCI, travis, Jenkins, etc.
In many ways nostr is ideally placed for this challenge.
Social at its Core
Software development is fundamentally a social experience and this is where nostr shines. Whilst feature 1 (basic git repo) must be fully implemented and 100% reliable, and extensive CI/CD integration (feature 3) will reduce switching cost, it is the collaborative and social features that will provide the pull factor.
A Promising Protocol
Simplicity at the protocol layer has enabled rapid development of clients and relay implementations by individual and very small teams. An anarchic movement has formed, exploring new usecases, finding niches and improving user experiences all whilst coping with the scaling challenges of exponential growth.
Open and Permissionless Development
With nostr, developers and UX designers can bring their own insights and experimentation to aspects of the software development experience by building limited purpose clients and / or offering PRs to existing ones. They all have the same access to the underlying data and benefit from the same simplicity of interaction. A array of clients, which have materialised elsewhere in nostr, could lead to rapid innovation and would make the case for switching from alternatives even more compelling.
The current landscape is dominated by centrally controlled tools that try to cover all the bases and offer clunky, if any, integration to the collaborative experience. Room for innovation is squeezed out by walled gardens, strategic locks and limited APIs. Whether its GitHub, commercial competitors such as BitBucket and GitLab or open source alternatives such as Gogs and Gitea - they all operate as walled gardens.
Nostr fixes this!
Innovation on Different Layers
The same philosophy of anarchic development with low barriers to entry and free exploration of ideas that applies to the user experience can also apply to the plumbing. Finding a model for blob storage that incentives those serving the blobs is challenging. Add the need to at least mimic the delivery of blobs like a standard git server and there is an even bigger challenge.
If we get the right NIPs in place, many very different models can be explored and refined in parallel with the variation and complexity abstracted to enable work to continue relatively independently and without uninterrupted on the wider software development experience.
Unlike its competitors, development on the different layers of the solution do not need to be tightly co-ordinated in a a mono-project.
Nostr fixes this too!
Commercial Incentives To Build
Many of us care deeply about censorship resistance and the freedom aspects of nostr. We see an ideal fit with public projects like Bitcoin Core for which these features add significant value. But even if we put these feature to one side, there are many compelling reasons why a superior software development collaboration experience can be achieved over nostr. These all apply to the corporate sphere. This could provide a natural revenue stream for relay operators and client developers. The ecosystem would not need to rely on the voluntary contribution of ideologically driven open source developers generously given their spare time.
Active Development and a Bounty Bootstrap
Jack Dorsey has shown his support for this nostr usecase and attempted to bootstrap it with a 10 BTC bounty.
There are already 30+ developers that have either contributed code or to discussion around NIPs. There may be others working behind the scenes!
With a potentially big design space and loosely defined success criteria, many contributors have been doing so as they are attracted to the problem rather than just going after the bounty.
Conclusions
Let's build upon the momentum that nostr has, tackle the challenges and build free, open and permissionless ecosystem.
If you are interested in discussing and collaboration around related ideas and opportunity please do reach out to me on nostr!
I have a number of follow up articles in draft at the moment so keep an eye out of you are interested. They will cover:
- a high level overview of key challenges;
- deep dives into specific problems; and
- proposed solutions.
I also plan to contribute code and NIP contributions with reference implementations soon. I dipped my toe in the water with https://metadata.nostr.com.