by 0xffac7fd045303112fdb28e9dace8e1334ad324c0 (eordano)
Should the following Tier 6: up to $240,000 USD, 6 months vesting (1 month cliff) grant in the Platform Contributor category be approved?
Decentraland has always favored a vision of collective ownership, relying on peer-to-peer networks and open-source development. But for a truly decentralized platform that stands the test of time, the technical knowledge and expertise required to build using this protocol needs to be distributed.
The main experience, the World Explorer, is a large and complex piece of software that currently has only one practical implementation: the official one.
We propose the creation of a Protocol Squad, with the mission of fostering awareness and decentralization of the Decentraland protocol. Their first objectives:
- Publish an extensive and detailed documentation of the protocol
- Create three alternative implementations of the World Explorer
The Protocol Squad has two objectives:
- Publish an extensive and detailed documentation of the Decentraland protocol
- Create alternative implementations of the World Explorer
See Proposal: a Protocol Squad for the DAO for an early discussion of this initiative.
Documenting the Protocol
Having a well-known public protocol is central to the promise of Decentraland, meant to throw open the doors of participation to developers all around the world — but the lack of an authoritative resource that details the what, how, and why of each component is a major obstacle for people wanting to jump in.
We must be ambitious. High-quality documentation (like Mozilla’s MDN) goes beyond technical specification and actually helps in writing solid code that works reliably and avoids common pitfalls. It’s alive, up-to-date with recent developments, aligned with current practice and responsive to feedback from readers.
This documentation must:
- Provide a high-level overview of the protocol and all its components
- Maintain an up-to-date specification of the most important APIs and components
- Guide implementers towards good architectural decisions and away from pitfalls
- Address common misunderstandings that tend to arise during development
- Help readers navigate transitions from deprecated methods to newer variants
- Welcome feedback from readers so they can point out problems and offer suggestions
Implementing Alternative Explorers
The World Explorer is the principal client of the Decentraland protocol, by virtue of using the entire set of features and introducing requirements that drive the development of the underlying software.
We’ll build three new implementations that rely on different frameworks and utilities, and can tackle these problems from a fresh start taking new approaches while armed with the accumulated lessons and discoveries of the Foundation.
Click here to read about the rationale and criteria used for each implementation, a comparison of engines and how well do they fit with each criteria, and join the discussion about the Protocol Squad on the forum.
The protocol documentation will be tested and refined as these efforts progress.
The three implementations have different goals:
Short-term, production-ready (Unity): aiming to become the most popular among players, this implementation would prioritize enhanced performance, distribution on game and app stores, broad reach for developers, and attention to legal licensing in today’s market.
Educational (BabylonJS): new developers joining the Decentraland community can greatly benefit from an implementation that prioritizes readability and organization, easy addition of new features, widely known programming languages and simple tooling. This implementation is meant for humans to read, learn and discuss improvements to the protocol.
Moonshot (Bevy): an idealistic and forward-looking implementation, based on technologies that are currently immature but hold great promise for the future. This project would prioritize solid fundamentals, extensibility, and the use of modern open-source frameworks.
The Protocol Squad is a new DAO group focused on the technical protocols underlying the Decentraland experiences and products.
- We will join the other DAO squads and use their Notion to coordinate our work.
- We will publish materials we create on GitHub and GitLab, under the Decentraland Foundation’s organization (if we get their approval) and mirror to our own organization (decentraland-protocol · GitHub and Decentraland Protocol Squad · GitLab).
- We’ll use the Forum and Discord to communicate updates on our progress.
We’ve already been working on this, funded out of our own pockets. We’ve already:
- Analyzed which engines to use
- Hired Santiago Lezica as Technical Writer
- Wrote the beginning of an “Implementation Guide”
- Wrote Job Descriptions for the missing members of the team
Use of Funds
The funds required to hire a 5-person team of world class engineers are way north of the 30,000 USD a month that this grant would provide us. We’re looking to match the funds provided by this significant economic effort from the DAO through raising funds from other community members. Send me an email if you’d like to chip in!
- Yemel Jardi and Esteban Ordano (co-authors of the original white paper and active DAO participants)
- Santiago Lezica GitHub
- Technical Lead
- Unity Full Stack Developer (Job Description)
- BabylonJS Full Stack Developer (Job Description)
- Bevy Full Stack Developer (Job Description)
We already have head-hunted a person as a tech lead for the project; but have not started hiring for the lead positions for each implementation. The Technical Lead position will dive down and come out of each implementation ensuring good practices and learnings are shared between the team.
Roadmap and milestones
Stage 1: Build up the team & Lay down the groundwork
- Scout and hire the three main developers for each implementations
- Hire the technical lead to work with the writer on the current code base, and build an implementation guide
- ETA: March 1st, 2023
Stage 2: Onboarding the team
- Have all developers start on the same date
- Go over the protocol, components, implementation guide and architecture
- Publish the first edition of a Decentraland Implementation Guide
- Expected duration: 2 weeks
- ETA: March 15th, 2023
Stage 3: Implementation, part 1
- Start the development of working prototypes with:
- Scenes with the SDK
- Avatars with custom wearables and emotes
- Establish communications
- Connect with friends
- Prototype of moving in the world, with minimum features supported
- Stretch goal: Full SDK7 Runtime Support
- Improve and enrich the Implementation Guide with the design decisions and problems that we find along the way.
- ETA: June 1st, 2023
By this time, we will be asking for another grant:
- We believe it’s not realistic to produce a high quality client for Decentraland in three to four months.
- We hope that our steady progress on this will be enough to earn your continued support when we ask for another grant by the middle of the year.
- We’ll build on the open, and communicate our progress frequently over the forum and Discord.
Vote on this proposal on the Decentraland DAO