{"id":205,"date":"2023-10-03T23:23:30","date_gmt":"2023-10-03T23:23:30","guid":{"rendered":"https:\/\/redmonk.com\/kholterhoff\/?p=205"},"modified":"2023-10-04T13:52:34","modified_gmt":"2023-10-04T13:52:34","slug":"indie-oss-jsframeworks","status":"publish","type":"post","link":"https:\/\/redmonk.com\/kholterhoff\/2023\/10\/03\/indie-oss-jsframeworks\/","title":{"rendered":"The Indie, Open Source JavaScript Frameworks Developers Love, and the Risks of Commercial Relationships"},"content":{"rendered":"<p><img decoding=\"async\" src=\"http:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Hand_Clap_Games.gif\" alt=\"\" width=\"100%\" height=\"240\" class=\"alignnone size-full wp-image-213\" \/><\/p>\n<p>The frontend community is abuzz about the recently announced <a href=\"https:\/\/astro.build\/blog\/vercel-official-hosting-partner\/\">partnership between Vercel and Astro<\/a>. This is not the first highly publicized relationship between an infrastructure platform targeted to frontend developers, and an indie, open source (OSS) Javascript (JS) framework. In addition to Vercel and Astro, Shopify <a href=\"https:\/\/remix.run\/blog\/remixing-shopify\">announced<\/a> its partnership with Remix in 2022, and this framework now forms the basis for <a href=\"https:\/\/hydrogen.shopify.dev\/\">Shopify Hydrogen<\/a>: a \u201cReact-based headless toolkit.\u201d But Netlify probably looms largest in this area. At one time Netlify was the leader in supporting OSS JS frameworks, with <a href=\"https:\/\/thenewstack.io\/netlify-acquires-gatsby-its-struggling-jamstack-competitor\/\">GatsbyJS<\/a>, <a href=\"https:\/\/dev.to\/ryansolid\/when-netlify-asks-you-to-full-time-oss-you-say-yes-5ccf\">SolidJS<\/a>, and <a href=\"https:\/\/www.11ty.dev\/blog\/eleventy-oss\/\">Eleventy<\/a> (11ty) under its wing. This generated loads of goodwill in the frontend community. It also advanced these frameworks&#8217; maintainers materially. However, during the recent economic downturn, Netlify began dropping or modifying these relationships\u2014a decision which has resulted in confusion and disappointment. It is this history which is making those of us who follow the JS ecosystem wary. Excellent as the Astro-Vercel partnership is for those involved, developers are rightly anxious about the challenges in the OSS space it brings to light.<\/p>\n<p><a href=\"https:\/\/fediverse.zachleat.com\/@zachleat\/110967904763572645\"><img decoding=\"async\" class=\"alignnone size-full wp-image-206\" src=\"http:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-5.50.06-PM.png\" alt=\"\" width=\"100%\" height=\"626\" srcset=\"https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-5.50.06-PM.png 1154w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-5.50.06-PM-300x163.png 300w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-5.50.06-PM-1024x555.png 1024w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-5.50.06-PM-768x417.png 768w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-5.50.06-PM-480x260.png 480w\" sizes=\"(max-width: 1154px) 100vw, 1154px\" \/><\/a><\/p>\n<p>All OSS projects exist in precarity. This is neither news, nor is it surprising considering the tremendous amount of labor and effort involved in maintaining these projects without clear financial incentive. My colleague Stephen O\u2019Grady has written at length on the subject. His recent <a href=\"https:\/\/redmonk.com\/sogrady\/2023\/08\/03\/why-opensource-matters\/\">Why Open Source Matters<\/a> is a response to the spate of license changes by commercial entities that previously supported OSS including Elastic, Redis, and MongoDB, with <a href=\"https:\/\/www.hashicorp.com\/blog\/hashicorp-adopts-business-source-license\">HashiCorp\u2019s decision<\/a> to relicense Terraform, among its other products, from the permissive Mozilla Public License v2.0 (MPL 2.0) to BSL, looming most heavily.<\/p>\n<p>In the frontend space we haven\u2019t seen commercial entities change licenses, but they have been disruptive in other ways\u2014and, to be fair, not always at the expense of the OSS community. The fact is that external funding and OSS make uncomfortable, but sometimes necessary, bedfellows. In fact, Astro does not fall under the remit of the \u201cindie\u201d label, as they are recipients of <a href=\"https:\/\/www.crunchbase.com\/organization\/astro-0f1c\/company_financials\">VC seed funding<\/a>. Purity is not conducive to the success of software products, and, frankly, trying to stay too nicely within these definitional bounds is unhelpful. For all of these reasons, it is the evolving convention of the platform that decides to partner with an OSS JS framework that interests me. These relationships illuminate the risks commercial entities pose to the developer communities that blithely form around these frameworks.<\/p>\n<p><a href=\"https:\/\/dev.to\/ryansolid\/when-netlify-asks-you-to-full-time-oss-you-say-yes-5ccf\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-207\" src=\"http:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM.png\" alt=\"\" width=\"1764\" height=\"1288\" srcset=\"https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM.png 1764w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM-300x219.png 300w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM-1024x748.png 1024w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM-768x561.png 768w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM-1536x1122.png 1536w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM-480x350.png 480w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.11.33-AM-859x627.png 859w\" sizes=\"auto, (max-width: 1764px) 100vw, 1764px\" \/><\/a><\/p>\n<p>It\u2019s worthwhile to pause and flesh out what these partnerships look like. Unsurprisingly, it depends. Netlify <a href=\"https:\/\/techcrunch.com\/2023\/02\/01\/netlify-acquires-frontend-platform-gatsby\/?guccounter=1\">acquired<\/a> the web development platform Gatsby outright, and thereby undertook the maintenance of its native framework called, a bit confusingly, <a href=\"https:\/\/www.gatsbyjs.com\/docs\/\">GatsbyJS<\/a>. Vercel <a href=\"https:\/\/astro.build\/blog\/vercel-official-hosting-partner\/\">has committed<\/a> to \u201csponsoring $5,000 each month towards the ongoing open source maintenance and development of Astro.\u201d In the case of 11ty, its creator <a href=\"https:\/\/www.linkedin.com\/in\/zachleat\/\">Zach Leatherman<\/a> was able to work on his framework as a Staff Engineer at Netlify. Although he created 11ty before joining Netlify, in 2022 Netlify made the decision to sponsor the framework by having Leatherman work on it full time. This was a boon to not only this project\u2019s development, but also its popularity. Indeed, last year on an episode of the Changelog podcast Leatherman credited some of 11ty\u2019s success to \u201c<a href=\"https:\/\/changelog.com\/jsparty\/217\">hitching our wagon to Netlify<\/a>\u201d:<\/p>\n<blockquote><p>I would say a lot of Eleventy\u2019s success in the last two years is partially &#8211; I mean, at least partially &#8211; tied to Netlify. It\u2019s just a lot of legitimacy we get from having our logo on Netlify\u2019s homepage etc.<\/p><\/blockquote>\n<p>This sponsorship was not long lived. In June of this year, Leatherman <a href=\"https:\/\/www.zachleat.com\/web\/eleventy-side-project\/\">announced<\/a> on his personal blog that Netlify was no longer sponsoring 11ty. Although he thanks Netlify graciously for the months of support, this post makes clear that: \u201cRealistically it must be acknowledged that this news is a bit of a setback for Eleventy.\u201d It is also worth noting that Leatherman left Netlify to join CloudCannon soon after.<\/p>\n<p>Although large commercial entities are responsible for some of the most popular frameworks, with Facebook\u2019s React being the most enduring, but which also includes Google\u2019s Angular, there is less concern about how funding issues might affect these projects. As platforms and OSS framework maintainers, Google and Facebook are not subject to the same economic forces as Vercel, Netlify, and, until recently, Gatsby. They have also expressed less interest in partnering with indie frameworks as a co-marketing strategy, and, in fact, many indie frameworks are metaframeworks built on top of React such as GatsbyJS, Remix, and Vercel&#8217;s homegrown NextJS.<\/p>\n<p>Netlify seems to have been much more interested in acquiring Gatsby\u2019s platform than undertaking the maintenance and goodwill of the community of developers which have rallied around and invested in GatsbyJS. According to Matt Biilmann, co-founder and CEO of Netlify, what made this acquisition desirable was Gatsby\u2019s Valhalla Content Hub, which <a href=\"https:\/\/thenewstack.io\/netlify-acquires-gatsby-its-struggling-jamstack-competitor\/\">he explains was<\/a>:<\/p>\n<blockquote><p>built in order to help customers get data out of their headless CMS\u2019s, their headless content sources, their legacy systems\u2026and make [the data] query-able in the frontend, through a GraphQL API [which] is an area of composable architectures that we\u2019ve had an eye on for a while.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.reddit.com\/r\/gatsbyjs\/comments\/151ie4e\/gatsby_starters_no_longer_maintained\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-208\" src=\"http:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.24.02-AM.png\" alt=\"\" width=\"1852\" height=\"1512\" srcset=\"https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.24.02-AM.png 1852w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.24.02-AM-300x245.png 300w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.24.02-AM-1024x836.png 1024w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.24.02-AM-768x627.png 768w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.24.02-AM-1536x1254.png 1536w, https:\/\/redmonk.com\/kholterhoff\/files\/2023\/10\/Screenshot-2023-10-03-at-10.24.02-AM-480x392.png 480w\" sizes=\"auto, (max-width: 1852px) 100vw, 1852px\" \/><\/a><\/p>\n<p>Although GatsbyJS continues under the MIT license, Netlify is actively damaging this OSS community by seeming to shirk this framework\u2019s maintenance. A July 2023 thread in the <a href=\"https:\/\/www.reddit.com\/r\/gatsbyjs\/\">r\/gatsbyjs<\/a> subreddit expresses concern that Gatsby starters are no longer being maintained. User <a href=\"https:\/\/www.reddit.com\/user\/the-music-monkey\/\">the-music-monkey<\/a> sums up the GatsbyJS&#8217;s community&#8217;s gloomy outlook in their <a href=\"https:\/\/www.reddit.com\/r\/gatsbyjs\/comments\/151ie4e\/gatsby_starters_no_longer_maintained\/js8spsn\">reply<\/a>:<\/p>\n<blockquote><p>Netlify have just laid off loads of ex Gatsby people. <a href=\"https:\/\/www.linkedin.com\/in\/sambhagwat\/\">Sam [Bhagwat]<\/a> and <a href=\"https:\/\/www.gatsbyjs.com\/contributors\/kyle-mathews\">Kyle [Matthews]<\/a> are also leaving.<\/p>\n<p>Likely outcomes are&#8230; Gatsby will move back entirely to open source Or Gatsby is dead.<\/p>\n<p>Would be great for Netlify to shine some light on the matter.<\/p><\/blockquote>\n<p>Pre-acquisition Gatsby was well respected by developers not only for the quality of the product, but also for the vibrancy of their workplace culture. Among other laudatory benefits, Gatsby paid developers to interview\u2014an admirable move even in the notoriously cushy tech industry. But things have changed. Now, developers appear hesitant to use a framework at the crossroads of, to paraphrase the-music-monkey, open source and death.<\/p>\n<p>&nbsp;<\/p>\n<h2>Will the Open Source Rug Pull Come for Frontend Developers?<\/h2>\n<p>So, where does the JS framework community go from here? How can we keep the sort of rug pull from happening in the future?<\/p>\n<p>I recently spoke with <a href=\"https:\/\/www.linkedin.com\/in\/matteocollina\/\">Matteo Collina<\/a>, member of the Node.js Technical Steering Committee and the Board of Director of the OpenJS Foundation, about the state of OSS in the JS ecosystem. Collina has seen a lot in <a href=\"https:\/\/openjsf.org\/about\/governance\/\">his work<\/a> on the <a href=\"https:\/\/openjsf.org\/\">OpenJS Foundation<\/a>, a Linux Foundation project committed to supporting JS and other web technologies by \u201cproviding a neutral organization to host and sustain projects, as well as collaboratively fund activities that benefit the ecosystem as a whole.\u201d In our conversation, Collina noted parallels connecting OSS JS frameworks with the recent influx of commercially backed runtimes like Bun, Cloudflare Workers, and Deno, which purport to offer an improvement on the OSS Node runtime. However, without a community voice in the governance of these projects, there is a danger that the will of the users will be overcome by the financial demands of the sponsoring company, and the VCs funding them. I won\u2019t belabor this point here, as he has expounded on <a href=\"https:\/\/twitter.com\/matteocollina\/status\/1700489064867123674\">these<\/a> <a href=\"https:\/\/adventures.nodeland.dev\/archive\/my-thoughts-on-bun\/\">ideas<\/a> <a href=\"https:\/\/changelog.com\/jsparty\/294\">elsewhere<\/a>. Instead, I want to draw out an aphorism Collina shared that connects in tangible ways to the future of OSS JS frameworks:<\/p>\n<blockquote><p>It\u2019s better for the commons to be in a foundation, and not to be part of a commercial entity<\/p><\/blockquote>\n<p>Collina succinctly expresses my own beliefs. In fact, this is something backend developers and IT practitioners have been, and still are, coming to terms with as well. The Linux Foundation backed OSS Terraform alternative <a href=\"https:\/\/opentofu.org\/\">OpenTofu<\/a> is a significant case in point. Hashicorp\u2019s licensing rug pull caused many previously complacent developers to sit up and take notice. Without distributed and democratic governance models, commercial interests will take an upper hand to bend a project in ways counter to the community that uses it.<\/p>\n<p>We are in a transitional moment in the frontend space. The market is adding heavily at the same time there is an explosion of new developers\u2014many self taught or trained at bootcamps. Platforms that lower the barrier to entry like Vercel and Netlify, not to mention Firebase, AWS Amplify, and Render, are fulfilling a significant market need. However, the amount of VC money being funneled into these web development platforms has a tendency to undermine the values of OSS, meaning that developers should be vigilant to combat rug pull opportunities, and I suggest looking to foundations as the best means for countering them.<\/p>\n<p><strong>Disclaimer:<\/strong> AWS, Google, Render, Redis, CloudFlare, Hashicorp, Vercel, Elastic, and MongoDB are all RedMonk clients.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The frontend community is abuzz about the recently announced partnership between Vercel and Astro. This is not the first highly publicized relationship between an infrastructure platform targeted to frontend developers, and an indie, open source (OSS) Javascript (JS) framework. In addition to Vercel and Astro, Shopify announced its partnership with Remix in 2022, and this<\/p>\n","protected":false},"author":50,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[8,33,4,7,17],"tags":[],"class_list":["post-205","post","type-post","status-publish","format-standard","hentry","category-frontend","category-graphql","category-javascript","category-js-frameworks","category-open-source"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/posts\/205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/users\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/comments?post=205"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/posts\/205\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/media?parent=205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/categories?post=205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/kholterhoff\/wp-json\/wp\/v2\/tags?post=205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}