{"id":20388302,"url":"https://github.com/libp2p/devgrants","last_synced_at":"2025-07-19T04:33:11.731Z","repository":{"id":66118911,"uuid":"200243950","full_name":"libp2p/devgrants","owner":"libp2p","description":"want to hack on libp2p? this repo tracks libp2p endeavors eligible for incentivization.","archived":false,"fork":false,"pushed_at":"2025-05-01T07:32:12.000Z","size":45,"stargazers_count":41,"open_issues_count":16,"forks_count":3,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-05-01T08:29:26.092Z","etag":null,"topics":["bounty","libp2p","networking"],"latest_commit_sha":null,"homepage":"https://libp2p.io","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libp2p.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-08-02T13:57:56.000Z","updated_at":"2025-05-01T07:32:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"076ff798-66cf-41df-ac09-641a6a1217e6","html_url":"https://github.com/libp2p/devgrants","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/libp2p/devgrants","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fdevgrants","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fdevgrants/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fdevgrants/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fdevgrants/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libp2p","download_url":"https://codeload.github.com/libp2p/devgrants/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libp2p%2Fdevgrants/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265888904,"owners_count":23844529,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bounty","libp2p","networking"],"created_at":"2024-11-15T03:08:39.190Z","updated_at":"2025-07-19T04:33:11.699Z","avatar_url":"https://github.com/libp2p.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e \u003ca href=\"https://libp2p.io\"\u003e\u003cimg\n  src=\"https://raw.githubusercontent.com/libp2p/libp2p/master/logo/white-bg-3.png\"\n  width=\"360\" /\u003e\u003c/a\u003e \u003c/p\u003e\n\n\u003cp align=\"center\"\u003e \u003ca href=\"http://libp2p.io/\"\u003e\u003cimg\n  src=\"https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square\"\n  /\u003e\u003c/a\u003e \u003ca href=\"http://webchat.freenode.net/?channels=%23libp2p\"\u003e\u003cimg\n  src=\"https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square\"\n  /\u003e\u003c/a\u003e \u003ca href=\"https://twitter.com/intent/follow?screen_name=libp2p\"\u003e\u003cimg\n  src=\"https://img.shields.io/twitter/follow/libp2p.svg?style=social\u0026label=Follow%20@libp2p\"\n  alt=\"Follow on Twitter\"\u003e\u003c/a\u003e \u003c/p\u003e\n\n\u003e **This repository tracks projects, initiatives and chunks of libp2p work\n\u003e that are (or may become) incentivized, for enthusiastic OSS contributors to\n\u003e pick up and tackle.**\n\n\u003e Refer to the [issue tracker] to browse what's being funded and/or discussed,\n\u003e and what's the status of proposals. Explore the [labels] for quicker\n\u003e navigation.\n\n\n## Table of contents\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n\n- [What is this? ❓](#what-is-this-)\n- [Motivation 🎈](#motivation-)\n- [Repo structure 🧩](#repo-structure-)\n- [Submitting a proposal 📝](#submitting-a-proposal-)\n- [For developers 👾](#for-developers-)\n- [Need help? 🙌](#need-help-)\n- [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## What is this? ❓\n\nThis repository tracks projects, initiatives and chunks of\nlibp2p work that are (or may become) incentivized, for talented OSS\ncontributors to pick up and tackle.\n\nObjects of devgrants include: protocol implementation, tooling implementation,\nresearch, testing, optimization, etc. They may target one or more libp2p\nlibraries, or they may be universal efforts to advance the entire ecosystem.\n\nWe track project proposals as GitHub issues, and specifications as markdown\ndocuments. To make browsing easier, you can find the latest project statuses\nand discussions in this repo's [issue tracker].\n\nIssues are categorized along various axes using [labels]:\n\n* Complexity: Low, Medium, Hard, Extreme.\n* Status: Proposed, Funded, Delivered, Discarded.\n* Readiness: Yes, No.\n* Programming languages (e.g. Go, Rust, JS, Java, etc.)\n* Topics (e.g. security, DHT, pubsub, etc.)\n* Selected (e.g. for hackathon X, round Y, etc.)\n\n## Motivation 🎈\n\nThe libp2p networking stack is becoming a public good. Major large-scale\nprojects like ETH2, Filecoin, Polkadot, IPFS, Cosmos, etc. are adopting libp2p\nas a foundation for their networking layers.\n\nCollaboration in the p2p space is indispensable to build truly unstoppable,\nfuture-proof p2p networks. All these projects share the motivation to propel\nlibp2p forward towards higher robustness, maturity, and feature richness.\n\nThis repo serves as the junction between those communities to propose,\nenumerate, discuss, and agree on jointly funding crucial, substantial chunks of\nwork that, when addressed, would benefit various actors synergystically, or\neven the entire ecosystem altogether.\n\nNote: how devgrants are actually allocated, contracts signed and payments\nsettled is out of the scope of this repo. This may happen through hackathons\n(e.g. ETHBerlin), privately, or eventually via some kind of [Decentralized\nAutonomous Organization] (how cool would that be 😎).\n\n## Repo structure 🧩\n\nEach proposal/devgrant is tracked in a dedicated **issue**. The [issue\ntracker] indexes and tracks the status of project proposals and devgrants. It\nalso serves as the discussion forum.\n\n**Specifications** live in markdown documents, with their filenames\nreferencing the devgrant by GitHub issue number.\n\n## Submitting a proposal 📝\n\n\u003e _This is all new and we're still figuring out the process and details, so\n\u003e bear with us :-)_\n\nSubmitting a project proposal is easy. It consists of filing an issue, and an\nassociated PR, following a [simple template].\n\n**Here's the how-to:**\n\n1. File an issue with the title of the proposal as a placeholder. Take note of\n   the issue number.\n2. Fork the repo, and copy the file [`TEMPLATES/000-project-proposal.md`] to \n   the root of your fork.\n    * Fill in as much detail as you can.\n    * The submission doesn't need to be perfect, we can sort out details\n      later. At this stage, we want to keep the barrier to propose a project\n      low.\n    * In the filename, replace `000` with the number of the placeholder issue\n      you created above.\n3. Submit a PR to this repo. Make sure you enable the _[allow edits from\n   maintainers]_ option in the PR screen. Then go back and edit the issue,\n   adding a link to the new PR.\n\n**That's all! Here's what happens next:**\n\n1. The community reviews the proposal PR, enhances it, refines it, discusses\n   it, etc.\n      * This is deliberately left unstructured, but we expect downstream\n        project(s) to chime in to champion, and tentatively commit to fund XYZ\n        amount towards the execution.\n2. An experienced libp2p community member comes along and fills in technical\n   details to lock down scope, write up an actionable spec, and provide \n   resources, guidance or references, in order to streamline the ramping up of\n   the grantee.\n      * They will need to commit to your PR's branch, that's why we need the\n        \"allow edits from maintainers\" option enabled.\n3. The scoped \u0026 spec'ed proposal is once again reviewed by the community.\n   Additional projects may chime in to co-fund. After a sensible period,\n   the committed grant amount will be locked in the proposal description.\n4. Via the assigned off-band mechanism (hackathon, email, DAO), contributors\n   signal interest, and co-funders communicate to select a grantee.\n5. That grantee delivers the project.\n\n## For developers 👾\n\nWatch this repo to stay up to date with project proposals and to engage in the\ndiscussion as potential grantees.\n\n## Need help? 🙌\n\nFor questions or feedback, contact: [@raulk].\n\n## License\n\nDual-licensed under MIT and ASLv2, by way of the [Permissive License Stack].\n\n[labels]: https://github.com/libp2p/devgrants/labels\n[Decentralized Autonomous Organization]: https://twitter.com/ameensol/status/1154529769276362752\n[allow edits from maintainers]: https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork\n[issue tracker]: https://github.com/libp2p/devgrants/issues\n[@raulk]: https://github.com/raulk\n[Permissive LIcense Stack]: https://protocol.ai/blog/announcing-the-permissive-license-stack/\n[simple template]: https://github.com/libp2p/devgrants/blob/master/TEMPLATES/000-project-proposal.md\n[`TEMPLATES/000-project-proposal.md`]: https://github.com/libp2p/devgrants/blob/master/TEMPLATES/000-project-proposal.md","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibp2p%2Fdevgrants","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibp2p%2Fdevgrants","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibp2p%2Fdevgrants/lists"}