I read an interesting article today titled Open-source developers are burning out, quitting, and even sabotaging their own projects, and it led me to think about what ENS DAO can do to support open source developers who work directly on ENS (with no affiliation to TNL).
From Article 3 of the ENS DAO Constitution:
Any income generated to the ENS treasury is to be used first of all to ensure the long-term viability of ENS, and to fund continuing development and improvement of the ENS system
The “Ethereum Name System” is a software service, and like all software services, it requires continuous maintenance, updates, and improvements by experienced software engineers to sustain itself. I think it’s important that ENS DAO provide some pathway through which competent and devoted engineers are able to work full-time on ENS open source development. Historically, development on ENS has been managed entirely by True Names Limited, a Singaporean non-profit led by @nick, but as ENS transitions to a decentralized governance system, I think it makes sense to “decentralize” the engineering workforce behind ENS as well.
Filippo Valsorada, a prolific open source cryptographer, recently wrote about open source developer funding on his blog: Professional Maintainers: A wake up call and How to pay Professional Maintainers. Filippo argues that successful open source funding should:
- Pay the maintainers. Not people external to the project.
- Pay them real money. In the order of what they could make as senior engineers.
- Pay for maintenance. Not features, grants, governance, or support.
- Keep paying them. Assess performance at contract renewal time.
I think a “professional maintainer” program could work very well for both ENS and the individual maintainers, and I propose something like the following:
- Creation of an “ENS Developers Guild” working group of professional engineers, under oversight of the MG WG (this could potentially branch-out into a separate WG, but for now I think it makes sense to operate under the MG umbrella).
- Engineers in this group work full-time on open source ENS development on a 12 month contract as individual open-source contributors.
- Engineers are given the autonomy to work on whatever they feel provides the most value to ENS (given their personal experience/interests and the technical needs of ENS), but work closely with MG WG, TNL, and the community to define relevant milestones/goals/deliverables/etc.
- The following engineering levels are defined:
- Principal: High level engineers who oversee large areas of ENS and work the entire stack (smart contracts, frontend, backend, large projects)
- Senior: Devoted to a specific area of ENS, where they can be a “point of contact” to other developers (and the community) within their area of expertise
- Junior/Intern: Less experienced engineers or those just starting with web3 engineering, who work closely with Seniors and Principals.
- With the following compensation (paid in quarterly/monthly installments)
- Principal: 42eth/year + 3k $ENS bonus
- Senior: 32eth/year + 2k $ENS bonus
- Junior/Intern: 24eth/year + 1k $ENS bonus
Does the DAO think it’s important to support full-time “professional maintainers”, as part of their responsibilities under Article 3 of the ENS DAO Constitution? Does this proposal sound appealing? Is the compensation fair? Should this “ENS Developers Guild” fall under the purview of Meta-Governance WG? Would any developers be interested in participating?
I imagine interested engineers would formally apply (documenting relevant work experience, previous ENS contributions, scope of desired work, perhaps a formal interview on a stewards call), and someone like @nick and/or MG stewards (or even a social vote) would select appropriate candidates. No idea if they’d be interested, but I’d consider @avsa, @Premm.eth, @raffy, @serenae as prime candidates (not an exhaustive list, just a few devs I’ve seen making contributions, and full disclosure, I’d seriously consider applying myself).
Curious to hear thoughts on this.