Aug 30, 2019

Popular JavaScript library Standard starts showing ads in the terminal to fund open source projects

Standard, a popular npm package, is a style guide, linter, and automatic code fixer that helps developers format code and ensure consistent style across their codebase. With nearly 200k weekly downloads and used by roughly 80k GitHub repositories, Standard is a well-known and much-used library in the development community.

Despite its popularity, Standard has now been awarded the not-so-glamorous title as the first JavaScript library to show third-party advertisements in the terminal. After developers install the package via npm, they are greeted with banner advertisements for LogRocket and Linode. The ads are powered by Funding, a new JavaScript project that helps companies buy ad space in developers’ terminals and shares some of the profit with open source projects that have signed up to show ads. The project was created by one of the developers working on the Standard library and is intended to help open source maintainers secure a more reliable source of funding.

The developer community had a largely unfavorable reaction to the decision to allow ads in the terminal. Many developers complained that the ads would complicate debugging by muddying logs. Other developers noted that packages often use multiple dependencies, leading to a bizarre situation where terminals could potentially be bombarded by multiple nested ads. After the backlash, Linode pulled its support from the project and removed its ads from the platform. A few creative developers even built a first-of-its-kind ad blocker for the command line should the sponsors return.

Many agree that open source software has a serious funding problem. Other developer-led initiatives have sprung up over the past few years to fix the lack of funding in the open source ecosystem. One such tool, OpenCollective, helped projects show donation requests in a post-installation terminal message. The project gained traction and is now (sometimes begrudgingly) accepted by many developers.

The lack of easy funding raises an important question: should open source projects penalize individual developers or should they demand more from big technology companies that often benefit greatly from open source projects? Tapping into an entire development community for funding is lucrative and far easier to implement for open source projects of any size, but the strategy risks alienating the very users that help promote project virality. Conversely, partnering with big tech companies can comfortably sustain many open source tools, but can potentially subject projects to outside interests and make them more vulnerable to significant dips in funding should any sponsors drop their support. No solution is without its faults.

Standard deserves acknowledgement for seeking out creative alternatives to secure funding for the open source world, but will need to be wary of disrupting developer workflows.

Want to get more of these in your inbox?

Subscribe for weekly updates from the Software team.