How JavaScript and Jamstack Frameworks Flipped From Personal To Professional Projects

November 25, 2021

JavaScript frameworks from 2012 to 2016. Jamstack frameworks from 2017 to 2020.

At the start, tools in these areas were mostly created and maintained by solo contributors as a personal or passion project. At the end, they were created and maintained with developers who draw a salary for their work. (Sometimes these are the same people!)

More details (dates represent when a tool starts getting traction):

  • JavaScript frameworks: Backbone (2011), Knockout (2012), Ember (2013) were all personal side projects. Angular/AngularJS (2014) and React (2015) have teams of 10-20 sponsored by Google and Facebook respectively. Vue (2016) is somewhere in the middle with OpenCollective and Patreon sponsorships supporting 2-3 developers.
  • Jamstack frameworks: Jekyll (2010), Hugo (2015), Gatsby (2016), and Nuxt (2017) all started as side projects. As Gatsby and Nuxt gained traction, the project creators (my co-founder Kyle Mathews; the Chopin brothers) were able to transition to a mix of project consulting and open-source work. In 2018, we raised venture funding and brought core contributors on board as team members; Nuxt did the same in 2020. During the same timeframe Next grew from a side project of Zeit/Vercel to being core to the company.

So how did this play out?

There seem to be three stages.

First, tools maintained by professional teams launch and start to gain traction.

Second, interest in the space grows as tool quality improves. New tools can do things old tools couldn’t. The new tools get pulled into new use-cases and become more popular in the broader development community than the old ones ever were (chart below illustrates this).

Third, existing open source maintainers pass on the banner or professionalize. The former can happen via explicit deprecation (react-static) or decreased project investment (Phenomic); the latter can happen via finding a corporate sponsor (SvelteKit), or raising venture funding (Nuxt, Remix).

Does this happen in other open-source spaces, too?

Yes. JavaScript ORMs sucked and weren’t widely used until Prisma came around. Task runners (eg Celery in python) are…fine, but Temporal feels like a big step forward. I’m sure there are others.

Conclusion

This trend isn’t inevitable… High-quality projects will endure, no matter their contribution and funding model. Rome raised funding, but esbuild & swc have captured enough traction as the successor to webpack / Babel that they’ll likely win. Developers primarily care about tool quality, not maintainers’ employment status.

…but it is a good thing. Developer tooling is a public good that greatly improves productivity. Pretty much however we can help improve its quality is a good thing.


Profile picture

Written by Sam Bhagwat, cofounder & chief strategy officer at Gatsby; programmer, analyst, writer; follow me on Twitter!