Yesterday, I mentioned that I'm working on a Web Component UI library for people who love HTML. One thing I've been mindful of as I work through this project is how very broken and exploitative the open source ecosystem is, both as a maintainer of and consumer of open source projects. I want to explore this a bit more, and offer some thoughts. Let's dig in! I owe my career to open source!It is not an exaggeration to say that without open source, I would not be a web developer. I learned to code because I had a WordPress blog, and wanted to have more control over how it looked and worked. I learned how to write better CSS by hacking my way through Bootstrap and a really cool responsive grid that Dave Rupert had built. I learned JavaScript from jQuery, and then later vanilla JS through some open source projects from Todd Motto. I later published open source projects of my own. A few of them got kind of big. I still maintain some of them. I love open source, and owe my entire livelihood to it. Open source is kind of brokenWhile I've had mostly positive experience with open source, as projects grow, the people who use them demand more and more of the creator and maintainer. More features, more bug fixes… more. Some of the biggest projects are maintained by corporate overlords. React has Facebook, for example. That's a problem in-and-of-itself. But a lot of big, important open source projects are maintained by just one person. A lot of them become critical infrastructure for companies. And a lot of those companies contribute absolutely nothing to the project, but demand a lot in return. Sometimes, those projects get abandoned. Other times, they get passed on to someone new to maintain. And sometimes, that someone new turns the project into spyware or spamware (as happened to Polyfill.io). I don't blame the maintainers. They literally don't owe anyone a damn thing. But the ecosystem around is broken, with big companies profiting off of free labor and contributing nothing back in return. How can we fix this?I started exploring what open source funding models. There are a few things that I feel strongly about when looking at options…
I found four options that I think are interesting and worth talking more about, and one very common one that I think very much does not work… 1. SponsorshipsThe most common model I see to open source funding is sponsorships. Sometimes corporate. Sometimes individuals. Usually a mix of the two. Often powered by GitHub Sponsors or Open Collective. Aside from the biggest, most well-known projects, this is usually small and insufficient. Despite the popularity of 11ty, creator Zach Leatherman's incredible contributions to the community and reputation as an amazing human being, and a big push to grow sponsorships, it still didn't get enough mass to cover even one full-time engineer. I have an email list of about 10k daily readers, a 3k+ subscriber YouTube channel, a weekly podcast, and decades of open source projects. My Go Make Things memberships bring in about $2,700 month. That's by no means nothing. I'm grateful for it! But I do feel its quite low relative to the value I provide. Imagine how much worse it is for smaller creators! In my opinion, Sponsorship is the worst open source funding option. It just doesn't work for most folks. 2. Dual LicenseWith this approach, you can use GPL at no cost. But GPL is sticky, so if you release the project you built using it, you need to license your entire project under the same license. A lot of companies don't like this, making it a non-starter. For a fee, you can get a commercial license instead. This is what Dave DeSandro does. Here's an example of the options for his Isotype library. 3. Pro TierA lot of big projects are released for free under the MIT license, and then later add a paid "Pro Version" with more features and support. Usually it's a flat fee for lifetime access to the features and N years of support. Then, for a smaller annual fee, you'll get access to any new features that come out and ongoing support. This is how tools like Tailwind and Font Awesome work. This approach really relies on reaching a critical mass of free users. The free product needs to be really good, and because it's usually MIT licensed, someone else can build the same type of product as your Pro tier for a lower price and undercut you. It's definitely a viable model, but the free open source work is almost marketing for the paid thing. I don't love it. 4. Free for Personal Use OnlyOne model I see less often but quite like is Free for Personal Use and Paid Commercial License. With this model, anyone can download, read, and modify the full source code… but only for personal, non-commercial use, redistributed with the same license. If you want to use it commercially (anything that makes money), you need a different paid license. There's usually a few tiers: one for freelancers and small teams, and another for bigger organizations. Purists don't consider this open source, because it restricts commercial use. But I think that's a very narrow view. The code is open and modifiable. It just requires folks who use it for profit to compensate the work fairly But of all the ones I've seen, I like this funding model the best. 5. SponsorwareThis one is new-to-me, and is basically an "ongoing Kickstarter" model. With this approach, you rely on public sponsors, but only release new features to sponsors. Once your sponsors hit a certain level of income, you release the new features free for everyone, and set a new target for the next round of features. This is what the guy who built Alpine.js does. This option is really interesting, but likely only works for folks with a sizeable audience already, and in particular a sizeable audience of corporate folks. What do you think?Personal, I'm partial to "free for personal use only." I suspect the Pro Tier option drives more adoption, because the MIT license gets you an easier foothold into companies that may pay for Pro features eventually (most won't). I don't think that "just sponsors" works at all, though sponsorware is kind of interesting. Nor do I think the GPL + Commercial License option is a compelling enough lever for a lot of folks. Like this? A Go Make Things membership is the best way to support my work and help me create more free content. Cheers, Want to share this with others or read it later? View it in a browser. |
0 Komentar untuk "[Go Make Things] Open source is kind of broken"