IPFS is the collective work of thousands of contributors from multiple geographies and backgrounds, working collaboratively and asynchronously to decentralize the Web.
We organize ourselves into focused teams called Working Groups. Each group defines its own roadmap, objectives and priorities. You can find more information about this group structure in the team management repo.
The IPFS Working Groups are:
There are also Special Interest Groups, pushing forward research and development on:
Project Operations
Ensure core Go and JavaScript implementations ship with reliable rigor, systematize community communications and collaborations, and spin up IPFS research to meet future project needs.
Responsibilities include:
- Track progression of objectives and key results (OKRs) for core implementations (including js-ipfs and go-ipfs)
- Project communications and community support
- Collaborations (including with web browsers)
- Maintenance of lower-priority systems/tools
- Research
Where to learn more:
Testing Infra
The IPFS Testing Infra team builds testing tooling to validate scalability and reliability of the core IPFS implementations, with easy onboarding for core developers to use in CI and one-off testing.
Responsibilities include:
- Build large-scale testing infrastructure
- Create dashboards and CI hooks to make testing infra more useful/usable
- Support core implementation developers in creating/running real world test scenarios
Where to learn more:
IPFS as a Service
Improve performance and stability of gateways and pinning, and provide public observability of services.
Responsibilities include:
- Manage and maintain the IPFS HTTP Gateway
- Manage and maintain the IPFS Bootstrapper nodes
- Manage and maintain the IPFS pinning service, pinbot
- Monitor services and hosts used by the IPFS dev teams
- Provide wisdom to other users that want to host IPFS nodes
Where to learn more:
Package Managers
User research, collaborations, and performance improvements of import and update of large filesystems to support file-system-based package managers.
Responsibilities include:
- Participate in communities like package.community
- Conduct user research around package manager use cases, communities, and best practices
- Support collaborations between IPFS and community members who are building, maintaining and using package managers
- Research and prototype adding IPFS support to package manager clients and mirroring registries onto IPFS
- Improve the core IPFS implementations to support package manager usage needs
Where to learn more:
Docs and Developer UX
Overhaul our documentation platform and content based on audits, research and community needs assessment to make IPFS more accessible to developer users.
Responsibilities include:
- Support ProtoSchool to improve broader understanding of the dweb
- Understand and support IPFS developer usability needs
- valuate and improve IPFS documentation accuracy, usability, and accessibility
Where to learn more:
Special Interest Groups
Cross-cutting research and development teams
Integration with Web Browsers
The Integration with Web Browsers Special Interest Group designs and implements browser integrations, service workers and any other strategy that contributes to IPFS being integrated with the web today.
Responsibilities include:
- Browser integrations (Firefox, Chrome, Brave and others)
- Develop the IPFS Companion browser extension
- Develop the IPFS Service Worker
- Collaborate with with browser vendors
- Identify blockers and design constraints of each integration, figuring out new ways to go around those limitations
- Increase the adoption of the distributed web by making it easy for users to access it
- Define specifications for address schemes and advocate for those schemes to be adopted
Where to learn more:
IPFS GUI
Making IPFS GUIs simple, accessible, reusable, and beautiful.
Responsibilities include:
- Fight complexity at every step
- IPFS must be usable and comprehensible for everyone
- Publish and promote this work; make doing the right thing the easiest thing
- Demonstrate the nature of the system with effortless, coherent, and compelling interfaces
Where to learn more:
Local Offline Collaboration (Locol)
User research, collaborations, and features to make the knowledge and tools on the internet accessible and useful on partitioned, low-bandwidth, or intermittent networks.
Responsibilities include:
- Participate in communities like Offline First
- Conduct user research around offline and local-first use cases, communities, and best practices
- Support collaborations between IPFS and community members who are building tools for peer-to-peer sharing and collaboration in local/offline networks
- Research and prototype applications that utilize IPFS for local-first collaboration and resilient offline usage
Where to learn more: