[DAO:1b36f5f] Build a new DAO Squad to work on Decentraland's Protocol

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?

Abstract

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:

  1. Publish an extensive and detailed documentation of the protocol
  2. Create three alternative implementations of the World Explorer

Grant size

240,000 USD

Beneficiary address

0x968fF0B6911E5571C2bB933383EFC089ED1ABfC7

Email address

esteban@decentraland.org

Description

The Protocol Squad has two objectives:

  1. Publish an extensive and detailed documentation of the Decentraland protocol
  2. 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:

  1. 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.

  2. 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.

  3. 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.

Specification

The Protocol Squad is a new DAO group focused on the technical protocols underlying the Decentraland experiences and products.

Tools

  • 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.

Current 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!

Personnel

Leadership:

  • Yemel Jardi and Esteban Ordano (co-authors of the original white paper and active DAO participants)

Documentation:

Implementers:

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

View this proposal on Snapshot

3 Likes

Decentralands base protocol is what needs improvements and should be the #1 priority. It’s what will allow us to build more experiences with more features on top of it, handle more users, reduce lag, optimize the client so it can run on less high end computers, etc etc. I will be voting yes for funds going towards improving Decentralands base protocol, I see it as the most important work to make sure that Decentraland will stay ahead of the other metaverse competitors that will be coming to the space.

2 Likes

Enjoy reading this proposal. Good luck. Strong documentation will help bring more clients and competition will bring better performance.

May I ask for a reason this is being proposed at this time? DAO Grants Program - New Tiers & VP Threshold Because this proposal would raise the VP to 10 Million for this amount. Should we would not wait since this governance is most likely going to get enacted?

@esteban what is the reason these additional clients should be funded with dao funds, instead of delegating the work and documentation to the foundation, just as we have delegated the reference client work?

1 Like

There is also another funded grant (although it appears to be off track) for this:

I agree this should maybe be handled by the foundation, or at the least, wait until the bidding scheme has gone through entirely.

side question: apologies if this isn’t the right venue to ask this, but i’ve long been curious - how do landowner rights work in alternative clients? i own LAND, that shows up in the reference client as belonging to me and I can deploy to it. If/when more clients are developed, is the default behavior to have lands remain in the hands of original owners? can there be new auctions in offshoot worlds? I’m just curious what the default implementation is, if there is one.

I think this is a little off-topic. Would you open a thread in the forum to discuss this as a general topic? It does not only affect this grant but all grants that would be proposed after it.

In any case, I will reply here. You comment made me feel like you think this is a “backhanded” thing. To be honest, I hadn’t realized I would have to raise 2M more VP based on the new Tiers. The New Tiers proposal itself mentions that ...[T]hese changes are all feasible and can be developed in one or two weeks. I helped Yemel (the author of that other proposal) with the draft of the new tiers proposal and I did not realized that it would affect this in any way. Yemel also didn’t IMHO, and he’s a coauthor of this proposal.

But actually, you’re right, there is a reason for the timing of this proposal, just not what you think: We’ve been working for two weeks already on this; and we wanted to propose it now in case the Grant Pausing Period enters into effect.

1 Like

To provide some background, the first paragraph of the grant proposal says that

I want this effort to be completely independent of the Foundation for two reasons:

  1. Political decentralization
    I think the Foundation holds too much know-how about the protocol and only recently it started to do a great job out of educating and communicating regarding technical matters with the Technical AMAs. This grant is for a future where the know-how about implementations also lives outside of the Decentraland Foundation, which is a strictly better scenario than now.

  2. Incentive alignment
    I think that "just vote for the foundation to do it" is not well incentive-aligned, and could be considered as “cognitive laziness” or “wishful thinking”. What if they just don’t do it? Would they be bound by a governance proposal? Even I don’t know, and I was there when the DAO started. By creating an independent team, we can ensure this team has a clear objective and it’s aligned with the Grant updates and funding.

6 Likes

Well its hard to discuss outside of here because I am banned in the Official Decentraland Discord and the DCL DAO Discord. I am still trying to figure out what it means to “behave” in web3, but oh well. :rofl:

I promise it isn’t. It is genuine and I am sorry you feel that way. I just know we are raising the VP and other criteria soon for this, just wanted to hear your thoughts. However your reason seems honest. Just was doing my due diligence that this wasn’t to avoid the 2 million VP increase. There’s been recent events where I said something too late and then people thought it was an “attack.” Like I was concerned if this only hit 8 Million VP and then I said something then, people would assume I am being petty. But I know @yemel is the one who made that proposal, so I found it off when I see they are making this grant proposal for so much.

Budget Breakdown. Am I missing this?

Voting Yes,

having multiple Clients is key to the success of Decentraland. In a similar way (but for different reasons) multiple clients is key for the success of Ethereum, Second Life and the Internet.

Now I’ve a question. Why is this group of work called “DAO Squad”?

Why the 2D and VR grants are not “2D DAO Squad” or “VR DAO Squad”?

In some way all grants are DAO Squads. I’m getting confused by that name scheme.

I assumed that DAO Squads were “meta” projects, projects helping other projects. But this one is not that.

Mostly salaries. We can account for ~100k regarding the writer and lead; but we’d like to leave some room to negotiate the salary of each full stack engineer.

  • Technical writer: 20hr/week, $45/hour. $3,600 → $21,600 over 6 months
  • Technical lead: 40hr/week, $80/hour. $12,800 → $76,800 over 6 months

We also commit to return any funds that we would not use at the end of the grant.

I associate “Squad” with the “Core Units” of MakerDAO. I think this will be an ongoing effort over time, rather than a one-time grant request.

1 Like

Interesting, in that case I would recommend removing “Squad” or “Core Unit” from the name of the project, since that is not a category in the grants.

At the moment all grants are exactly the same, with exactly the same requirements and expectations, regarding the name.

(Personally I also think the word Squad, with strong military connotation, shouldn’t be used in the DAO)

2 Likes

This is really interesting, I haven’t thought of it this way, I agree with you.

1 Like

Yes, but there’s a high correlation with grants “in the Platform Contributor” category.

2 Likes

to be clear, i’m voting ‘no’ because i think this should wait until the bidding and tendering system is live, not because i think this is a bad idea or something that shouldn’t happen.

1 Like

Improving performance is DCL’s #1 need by far. Resources need to go all-in here at the expense of most of the other grants I’ve seen. Voted yes

1 Like

Voted yes. And totally agree with @johnnysharp: performance is the biggest need by far atm.
If we want to onboard users that are not in it for the fascinating tech or the ideology behind it or even just for financial reasons, the user experience just has to be improved. By a lot.
The current implementation def feels like an MVP that just continued to grow to a point it was never properly built for. So addressing this from the ground up is absolutely the way to go imho.

One recommendation:
The current team setup looks a bit too tech/dev heavy for me. I would love to see someone in charge of the UX on the team to ensure what is being built isn’t just a masterpiece on the code/tech level, but also when it comes to the end users experience.

1 Like