Skip to content

[2020 Theme Proposal] Solid foundation for future growth #42

Description

@momack2

Note, this is part of the 2020 Theme Proposals Process - feel free to create additional/alternate proposals, or discuss this one in the comments!

Theme description

In 2020, IPFS should invest in a solid foundation for future growth that creates a highly reliable, extensible, and performant base to iterate and improve upon. This means doubling down on testing, reliability, and performance improvements; creating new programs to support longer-term community growth; and making IPFS a much easier project to contribute to - through good specs, simplifying refactors, and better contributor support.

If achieved, this should make all current users of IPFS very happy with the performance and reliability of their current IPFS usage, while also unlocking new user groups that won’t consider IPFS until it is highly stable, performant, and ready to scale (like most web2 enterprises). This would also involve investing in our team and community - to ensure we’re ready and able to grow with healthy habits, well-supported maintainers, and easy on-ramps for new contributors. Finally, it should make us proud of our code health and development velocity - including investing in automation, tooling, and refactors that will make each IPFS developer more productive and impactful.

Core needs & gaps

Current developers of IPFS-powered apps need a solid, performant network to power their dapps and ensure they can deliver highly reliable decentralized services to their end users. A big pain point in the past has been DHT performance, but this also encompasses further investment in a solid release process, high-fidelity testing that ensures developers can rely on non-buggy releases, and good benchmarks that measure and improve performance for core use. Gaps in these areas have made it difficult for current users to develop large production-ready services on IPFS, and potentially dissuaded large-scale applications from relying on the IPFS network for their needs. Without focused investment in network reliability/performance and team support - significant investment to continue scaling IPFS will lead to fire-drills, missed expectations, and both user and team frustration.

Why focus this year

IPFS saw huge growth in 2019, and needs to continue landing performance improvements and stability fixes to be able to support the next set of demands from new dapps and ecosystems in alpha/beta right now. Continuing to invest in our foundations (testing, performance, reliability) will help ensure IPFS can scale gracefully to be the default file system for dapps built on Ethereum 2.0 and Filecoin. Similarly, the more/earlier we invest in contributor support and development velocity, the faster we can move and the more we can accelerate our value creation into future years.

Milestones / rough roadmap

This theme involves 4 simultaneous strands of work over the course of the year - with a heavier focus on 1 & 3 in H1, and increased investment in 2 & 4 in H2.

1. Scale the team

  • onboard additional senior maintainers for the core implementations of IPFS and important functions like community, testing, infra, and more
  • create a smooth contributor on ramp starting with visibility and outreach through how-tos, demos, and guides; to area hackathons and meetup programs; through the contributor onboarding flow and tooling; through joining working groups and feeling part of the community via {channels}; to ramping up contributions with support, metrics/tracking, and the things that keep people coming back!

2. Support contributor velocity

  • heavy investment in team training ensures that all contributors are able to participate actively in review, triage, debugging, test writing, etc
  • create tools and automation that leverage our efforts and help us work smarter

3. Solidify investment in testing / benchmarks

  • all active core development work is validated and benchmarked by multiple layers of network testing
  • all contributors can easily add tests and benchmarks for their use case or the module they’re refactoring
  • testing is well automated and insights are visual and trigger alerts/actions when relevant

4. IPFS network and infra are solid and performant

  • IPFS gateways and other network infra are ready for 10x growth (with runbooks, provisioning, chaos testing to prepare for the unexpected)
  • testing validates that network performance “just works” and we eradicate inefficiencies and unpredictability through focused iteration cycles

Desired / expected impact

  • We have a great foundation for future growth
  • There are more senior core maintainers, and they are well supported and sustainable in their efforts
  • We see many more contributors joining the IPFS project
  • Current IPFS users are very happy with network performance / reliability
  • New users with greater demands on network scalability, performance, and reliability are in active development/evaluation of the IPFS network for their needs
  • The project is able to ship more things faster - because we’ve invested in busting velocity blockers
  • Contributors feel empowered and proud of the quality and impact of their work
  • We can more clearly measure, improve, and report on our performance due to improved tooling / benchmarking
  • IPFS velocity, scale, and impact continue to accelerate in 2021 and beyond due to this foundational investment
  • IPFS feels "ready for 1.0" in terms of reliability and stability

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions