The Sidebar reminds the world that modern web is built on a foundation of dependencies: Small open source software packages we pull into our projects and literally depend on for functionality. This ensures we can include advanced functionality in our applications without building that functionality from scratch.
These dependencies usually depend on other dependencies forming a dependency tree which can include hundreds or thousands or tens of thousands of dependencies. To give you an idea of how giant these dependency trees can get, check out this visualization of the dependency tree for GatsbyJS (above).
The comic xkcd demonstrates it well:
The huge issue is who is paying for critical parts of the software we use to be maintained? When you install npm dependencies for your project, you’ll likely get a prompt like this one in your terminal:
The critical infrastructure of the web and the internet is built on the backs on the mostly unpaid (and even when paid mostly underpaid) open source contributors.
We, as users of open source software, owe it to ourselves and our peers to do what is within our means to help this situation and build sustainable funding into open source. Here are a few suggestions:
Sponsor open source contributors directly through GitHub or Patreon.
Lobby the companies we work for to sponsor the projects they rely on.
Make funding of key open source projects part of your client contracts.
Educate the world about this issue and help build equitable solutions to keep the open source lights on.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.