The Problem With Maintaining Open Source and How to Solve It | Max Howell - tea Protocol
Ethereum Denver·Wed, Oct 9, 2024, 12:00 AM
tea's mission is to create a more resilient and sustainable open-source software ecosystem. By leveraging the tea Protocol, developers are empowered to bridge their Web2 open-source projects to web3 and unlock the open-source economy. This allows developers to capture the value they create and receive fair incentives for their contributions. - Any open-source developer can onboard using their GitHub handle, find their project, and begin earning rewards. tea’s novel consensus mechanism: “Proof of Contribution” quantifies the impact of all Web2 open-source projects, The more valuable your codebase, the more you earn. - Network participants are incentivized to report bugs or vulnerability reports responsibly, and project maintainers are incentivized to address these reports on time. This promotes more transparent linkages between project dependencies and dependents, which may encourage cross-collaboration amongst core contributors due to their mutually aligned goals. https://tea.xyz/ APPLICATIONS FOR ETHDenver 2024: #YearOfTheSpork ARE OPEN APPLY NOW https://ethdenver.com/apply
Transcript
core contributor to T protocol he's going to be talking about open source and the problems and challenges of maintaining open source so thank you Max good afternoon everybody I'm Max Hal originally the creator of home brew nowadays I am a co-founder and core contributor to tea protocol today I'm going to be talking about the problem with maintaining open source and potentially solution but before I get there I'm going to start with a bit of a story my personal story I never thought I would be a programmer is the honest truth of it despite the fact that that has been pretty much my entire career over the last 20 years I remember when I was maybe 15 or 16 I wasn't really sure what I wanted to do with myself and I went to a job fair and while I was there there were dozens of extremely professional people telling me about their different career choices and then I met the programmers these uh two people honestly scared me a little with their unbelievable geekiness and I backed off but I always remembered the childlike wonder they seem to have for their work and out of everybody there they were easily the most passionate so I did a chemistry degree I went into the chemistry industry and I discovered after about a year that everybody was right chemistry really is very boring I fell into this depressed Funk and I went home and I installed Linux on my home computer I discovered open source I discovered the open source communities of the world and how they were trying to build something new and special how they were trying to innovate in a world that was dominated by companies like Microsoft and sun and other extremely dull uh Enterprise type vendors it was through my work on open source that I managed to get into the industry I don't have a computer science degree to this day I still cannot invert a binary tree but some company noticed my work and offered me a job while I was there I created Homebrew Homebrew has become one of the biggest open source projects of all time when I started writing it I didn't really know what to expect I worked on the apps team at the company I was at we made maintain six apps Mac Linux Windows Android iPhone and even a Blackberry app and I'm very happy to say that there is no longer a Blackberry App Store that thing was the worst SDK I have ever worked with but the unifying platform for all six of these platforms was Mac so I uh and my team were using Mac and we discovered that the package Management Solutions for Mac just weren't up to the standard we were used to from Linux I love the Linux package managers and I spent uh you know five or six years drifting between different distributions trying out all the different package managers in the end my favorite was Pac-Man by Arch Linux and the stuff on Mac at the time just didn't really cut it so I used to complain incessant about this situation at the par after work and one day one of my co-workers just had had enough told me to shut up and do something about it so I went home and I committed the first commit to home brew well oh there we go so uh this is an interesting video of the commits to home brew during the first few years and there you go after a few weeks it just suddenly captured everyone's attention like I tweeted about it a few times and then uh Hacker News got a hold of it and it just exploded into this enormous amount of viral contribution from hundreds and then thousands and then tens of thousands of different people around the world it became a much more interesting job for me than my real job so I started spending evenings and weekends pretty much dedicated fulltime I was 26 so sometimes I'd stay up all night and somehow that worked I can't do that anymore that's for sure in the time though uh I decided I wanted to work on home brew fulltime so I quit my job after saving up a bit of money and I did that and it was a glorious 6 month living the dream actually working on stuff that I loved I loved Homebrew I loved what I created I'd loved that everybody else loved it and I loved that it was the biggest project on GitHub I have to say it went to my head a bit for a few years nowadays uh it's still this busy is the truth of it I've since passed it on to these people these people stepped up to be a part of Homebrew and eventually took over from me when I eventually burned out because every so often I would have to get another job and earn some money so that I could then go back to working on open source after saving up a bit of money this cycle has been most of my career and I burned out on it and something's not right with that the truth is over the last 15 20 years or so open source went from being something that was widely derided big companies like Microsoft used to claim that it was dangerous bit unbelievable nowadays things they're very fond of Open Source but 20 years ago that was not the case nowadays it is the base of an awful lot of software an awful awful lot of software in fact we estimate that 97% of Commercial Code has a massive amount of Open Source underpinning it the web 2 industry was bootstrapped by open source built like people like myself they've made fortunes off the top of the work of a few now you know the truth is I never expected anything when I made Homebrew I wasn't doing it because I wanted money I was doing it because I loved what I was doing but there's a disconnect there a disconnect but there's a disconnect between the people like myself who are working on this stuff in evenings and weekends not making anything from it and the companies that have made billions this has led to a fragile internet this is a famous comic by XKCD that my designer has made a bit more sexy uh you might have seen it before it's called dependency it implies that all modern digital infrastructure is a series of bricks that are stacked on top of each other this is how open sources always worked people solve pressing problems for the time and then these pieces get stacked into the tower and then everyone Builds on top of that once they've decided it is the correct solution we're all building on the top of the shoulders of giants however because it isn't exactly funded there's always these flaky pieces and in the comic it points to this pillar down near at the bottom where it implies there's a project that's been thanklessly maintained by some person from Nebraska since 2003 and this is real and not only is it real for web 2 it's possibly even more real for web3 if you think about it you could look at this comic differently where this little yellow pillar down the bottom there is all of web 2 open source software and web 3 is built on top of that this isn't a unique problem to myself I love this quote from the core.js uh maintainer core.js is used in 80% of the top 100 websites in the world in fact it's really quite difficult to make a node.js application without using core.js it's downloaded almost 6 billion times a year the quote is I'm effing tired free open source software is fundamentally broken companies that save and earn many millions of dollars on CJs usage just ignore funding requests I have a lot of good job offers but if I accept one core.
js will become just useless and die and what happens to the internet when these pieces disappear well this happened two years ago a very popular piece of Open Source that nobody had ever heard of because it was so deep in the stack a true Nebraska style project called log 4J suddenly a zero day exploit was found that made it possible to root uh hundreds and thousands of Enterprise uh applications on the net it was possible to uh root a Minecraft server by typing something in the chat box so the internet panicked and uh all these Enterprise vendors who don't really understand how open- Source Works were emailing the the maintainers of this project demanding that it get fixed because they assumed they were paying for it right and the maintainers went on Twitter and they were like hey um we'll fix the bug we care about the software but we're unpaid volunteers who make this software so maybe after we fixed it we could get some funding from you so they fixed it and they're still unfunded and then we have massive projects like ffmpeg who periodically tweet this stating the fact that all video infrastructure on the internet uses their software including YouTube including Netflix all of them these are incredibly profitable platforms and yet they don't really have any funding so a couple of years ago I was once again in between jobs wanting to work on open source full-time and I explored what was out there and I didn't find anything that I really felt was going to work still uh six or seven years ago I tried the patreon route that does work for some open source maintainers so I spent 4 months marketing myself like I've never done it before and uh after that time I I figured I'd probably spend 30 to 40% of my time marketing myself where I wanted to spend all that time working on the open source software and yet still I wasn't a earning enough on my patreon to pay my rent so I I looked deeper uh I decided that this was a personal mission that maybe it was up to me to solve and I discovered crypto unlike most of you here I'm sure I'm relatively new to crypto I had ignored it and uh I I decided I needed to explore new technologies so I went down the rabbit hole I looked into what crypto and smart contracts could do I discovered the new branding of web 3 which I thought was pretty genius honestly because it's a whole another web right there's got to be some really great stuff in there and while exploring that I realized that open source slots into the web 3 Model perfectly open source is already decentralized open source is all about community community community is one of the most important parts of how open source functions and web 3 is all about these pieces too and I realized that tokenization can Empower developers to contribute to open source while reaping overdue rewards I had a vision in my head where the package managers that I contributed to put that data on chain and we used the dependency graph to somehow funnel token through so we founded T T's mission is to sustain open source as it sustains us there's 2.2 million web 2 open source devs out there compare that with probably 30,000 web 3 devs these people need to be sustained and yet they have like I was been missing out on the incentivization and the way that crypto can fix situations like this we want to bring all 2.2 million of those developers onto web 3 so how does it work well at the core of what we're doing is our proof of contribution algorithm we've indexed all the package managers and then we find that dependency graph between open source projects just like the tower I was talking about earlier These Bricks build on top of each other and when you make an open source project that dependency choice that you're making is really a reputational stake your reputation is dependent on the reputation of your dependencies so we use that to rank all open source projects the more important open source projects are more depended upon they have higher impact they keep the internet running more than the rest and then every day we throw token at these open source projects based on their ranking the T token rewards we're also introducing onchain governance to 10 .5 million open- Source projects these are projects that haven't really understood how smart contracts and Dows can improve the government systems that they already have in place for their projects and finally this isn't just for open source devs it's not just for non-open Source devs this is for everybody who believes in the value of Open Source and wants to participate in that value ecosystem let's face it open source underpins everything nowadays it went to Mars it's at the bottom of the ocean it's in everybody's computers and phones it's everywhere so the value of Open Source is commensurate to some value of the software industry as a whole last Wednesday we launched our test net it's been a long two years and we've designed what we think to be a really amazing protocol and tokenomics model testnet went live last Wednesday here we are today we have over 2 50,000 users active on our app and protocol and we have over 700 open source projects signed up I spent the last two to three months phoning open source maintainers key and core open- source maintainers asking them what they needed what they wanted and all of them have a dream like I did to work on open source full-time and almost all of them are have having extreme trouble with existing methods of making that a reality so they've all onboarded and uh you know the test Nets until June so we're going to continue onboarding projects if you have one please onboard it we also have a $250,000 grant program as an incentive to onboard during the test net so you an openal source project contact us it's on the website and you may be eligible for a grant of $5,000 to $10,000 although you don't need that the T token will be that future we understood when we embarked on this project that we were dealing with a lot of people who are unfamiliar with web3 Technologies these are web 2 open source developers or web 2 developers they don't understand wallets they don't understand metam mask and they don't really want to they're familiar with web 2 platforms so from the start we were determined to design something that felt like a web 2 platform and I got to say we really succeeded it's four or five clicks to onboard your own open source project is one or two clicks to participate in our app we use account abstraction pay masters and other modern Technologies we really are a poster child for what can be done in the web 3 space nowadays so that's T we're trying to fix the Nebraska problem but we are trying to do it without changing the nature of Open Source software open source is beautiful it really is it's an astonishing thing I often find it remarkable how it went from being that thing that Microsoft described as dangerous to backing up every piece of software in the modern world but it's because it proved itself so it's great we don't want to change how it works we we do want to change that one problem the sustainability of the ecosystem we don't want any of it to collapse we want the people who make open source to be able to work on it full-time cuz they made an amazing impact by being able to do it just on evenings and weekends just imagine what's possible if all these people can do it full-time so thank you very much for listening to me on this presentation uh you can sign this uh take a picture of this QR code to uh sign up and on board to our test net or check out more documentation about us we have a booth here number 410 so if you have any questions about our tokenomics model or how T Works or how to on board please come by we' be Delight to meet you and uh chat about our project thanks very [Applause] much apparently I have a few minutes for questions so if anyone wants to ask question there's a microphone here at the front and uh I'll stand here until it gets awkward microphone's not working I'm afraid uh something we saw from the the recent Stark net airdrop and that we're seeing with scroll right now is a lot of people trying to kind of Farm open source contributions without actually contributing anything to the sustainability or the longterm of these projects I'm curious how the T algorithm determines what is a useful or a good open source contribution from people that are just you know like I trying to farm or just trying to get involved without contributing anything useful to exploit the distribution mechanism of te yes yes well oops sorry yes indeed um it's very important to us that uh open source maintainers are rewarded without it becoming some kind of Burden for them in another way so our algorithm measures the impact based on your position in the graph the dependency graph of Open Source it's very very difficult to game like we considered other options like installs or GitHub stars for example like those aren't things that are Universal to all open source projects for a start also it's very easy to gain so the dependency graph is other open source P um projects that we already trust declaring their trust we basically modeled this on Google's page rank algorithm and we can all see how successful that was until uh I know two or 3 years ago but you know it will work for open source it's a much simpler and more refined system so it's completely something we don't want for any participants to be gaining from open source projects in uh in any way whatsoever and uh you know we had a a small set of problems last week where some people were trying to Farm open source projects and we very quickly built a uh a barrier to stop that from happening so it's almost completely stopped at this point I wanted to expand on the topic raised by the previous uh um person who asked the question so what about open source projects themselves that are kind of like spammy St for example there's the infamous npm spanner uh John schlinker you know with those is's even repositories that you know uh basically a lot of people install those dependencies because you know they're not that important but as a result their dependency graphs looks kind kind of neat you know they look like a very important or source project even though the content of those repositories is you know not not significant it's not like those uh projects that you talked about how do you prevent like those projects occupying a disproportional share of the revenue yeah great question right from the beginning we knew that we needed to make it so that real open source was rewarded and not fake open source and you know some people consider smaller packages like left pad which is very fake famous package for reasons that you know we we would like to one day solve but aside from the point the left pad's like one line of code right it shouldn't receive significant rewards for that now on one hand you could argue that it is significant because it has uh 100,000 dependents so there must be some people that consider it useful so it needs some rewards but we designed the algorithm that so I'm glad to say that left pad has a relatively Low T rank so it does get some rewards but I'm not sure that that's wrong but you know we're going to figure this out as we go we're a project where we want open source maintainers to have heavy influence on how it's designed going forwards we've done the initial designs and now we're handing it over to you the governance of the project will be run by opsource people and votes on chain will be done by open- source maintainers so let's fix the problems as we find them together like a true open source project well I think that's all the questions thank you very much thank you very much Max super interesting thank you
Automatic transcript — names and jargon may be misspelled.