# Dependency Funding -- The Public Goods Funding Mechanism for Devs Over the last few years, the Ethereum ecosystem has proven to be an amazing sandbox for developing and testing public goods funding mechanisms. Here we introduce a new mechanism, **Dependency Funding**, which is purpose-built for funding FOSS projects and developers and which also offers an ambitious vision for funding the most-critical FOSS projects and developers globally. ## What is Dependency Funding? * Organizations like web3 DAOs, communities and other projects choose to directly fund the software projects they critically depend on. Each org curates its own list of dependencies and the percentages of funds they are allocating to each, in whatever way they prefer. * Funds can be sent to these dependency lists in one-time rounds, or can be continuously streamed over time. * Funds are sent directly to public software repositories and funders don't need to know the wallet addresses of recipients in advance in order to send funds. * When a project or developer receives funds, they are prompted to create a list of their own software dependencies and choose a percentage of funds to pass along, thus flowing funding deeper into the dependency tree. ## Why Dependency Funding? ### Primarily Software-Focused We have seen that for most web3 DAOs and other software-project-based funders, the highest impact for their public goods dollars comes from funding the FOSS projects they directly depend on. By explicitly organizing the funding conversation around the software dependency tree, Dependency Funding helps to dramatically focus and simplify the decision-making process around what to fund. ### Lists Are Natively Built-In One idea that has emerged recently as a key theme across multiple funding solutions is the idea of public, sharable *lists* of high-quality candidates for receiving funds. For example, RetroPGF informally experimented with lists in round 2 and then integrated a more robust and powerful [list building solution](https://www.pairwise.vote/) in round 3, both of which were used heavily by badgeholders in voting. Meanwhile, Protocol Guild is essentially a [single curated list](https://protocol-guild.readthedocs.io/en/latest/9-membership.html) of Ethereum core protocol contributors that anyone can fund. Dependency Funding takes this idea of public, fundable list-building and places it at the center of the mechanism while also generalizing it so that funding lists can be created and shared by anyone. ### Better UX for Funders and Devs While public goods funding programs like Gitcoin, RetroPGF and Protocol Guild have been highly successful, we have also seen how much operational overhead is required to run them, as well as some of the typical "UX" challenges in onboarding users to web3. In particular, the requirement for a funder to find (and keep up to date with) the current wallet addresses of all of the recipients before funds can be sent has proven to be a big lift for program teams. On the other hand, by allowing funders to send funds to repos rather than wallets, Dependency Funding offers a superior workflow that allows funders focus on who and what they want to fund, while also allowing recipients to set up wallets and claim funds when it's convenient for them.