* [Home](/?hsLang=en)
* [Blog](https://www.linuxfoundation.org/blog)
* A Summary of Census II: Open Source Software Application Libraries
  the World Depends On

9 MIN READ

# A Summary of Census II: Open Source Software Application Libraries the World Depends On

###### Jason Perlow | 07 March 2022

## Introduction

It has been estimated that Free and Open Source Software (FOSS)
constitutes 70-90% of any given piece of modern software
solutions. FOSS is an increasingly vital resource in nearly all
industries, public and private sectors, among tech and non-tech
companies alike. Therefore, ensuring the health and security of
FOSS is critical to the future of nearly all industries in the
modern economy.

In March of 2022, The Linux Foundation, in partnership with the
Laboratory for Innovation Science at Harvard (LISH), released the
final results of an ongoing study, “[Census II of Free and Open Source Software – Application
Libraries.](https://www.linuxfoundation.org/tools/census-ii-of-free-and-open-source-software--application-libraries?hsLang=en)” This follows the preliminary release, “[Vulnerabilities in the Core,’ a Preliminary Report and Census
II of Open Source Software](https://www.coreinfrastructure.org/programs/census-program-ii/)” in February 2020 and now identifies more than one thousand of
the most widely deployed open source application libraries found
from scans of commercial and enterprise applications. This study
informs what open source projects are commonly used in
applications warrant proactive analysis of operations and security
support.

[Download Report](https://linuxfoundation.org/tools/census-ii-of-free-and-open-source-software-application-libraries/)

The completed report from the Census II study identifies the most
commonly used free and open source software (FOSS) components in
production applications. It begins to examine the components’ open
source communities, which can inform actions to sustain FOSS’s
long-term security and health. The stated objectives were:

* Identify the most commonly used free and open source software
  components in production applications.

* Examine for potential vulnerabilities in these projects due to:

* Widespread use of outdated versions;
* Understaffed projects

* Use this information to prioritize investments and other
  resources needed to support the security and health of FOSS

## What did the Linux Foundation and Harvard learn from the Census II study?

The study was the first to analyze the security risks of open
source software used in production applications. It is in contrast
to the earlier
[Census I study](https://www.coreinfrastructure.org/programs/census-program-i/)
that primarily relied on Debian’s public repository package data
and factors that would identify the profile of each package as a
potential security risk.

To better understand the commonality, distribution, and usage of
open source software within organizations, the study used software
composition analysis (SCA) data supplied by
[Snyk](https://snyk.io/), 
[Synopsys](https://www.synopsys.com/software-integrity/security-testing/software-composition-analysis.html), and [FOSSA](https://fossa.com/). SCA is the process
of automating visibility into any software, and these tools are
often used for risk management, security, and license compliance.
SCA solution providers routinely scan codebases used by private
and public sector organizations. The scans and audits provide a
deep insight into what open source is being used in production
applications.

With this data, the study created a baseline and unique
identifiers for common packages and software components used by
large organizations, which were then tied to a specific project.
This baselining effort allowed the study to identify which
packages and components were the most widely deployed.

Census II includes eight rankings of the 500 most used FOSS
packages among those reported in the private usage data
contributed by SCA partners. The analysis performed is based on
500,000 observations of FOSS usage in 2020.

These include different slices of the data based on versions,
structure, and packaging system.  For example, this research
enables identification of the top 10 version-agnostic packages
available on the npm package manager that were called directly in
applications:

* [lodash](https://www.npmjs.com/package/lodash)
* [reach](https://www.npmjs.com/package/react)
* [axios](https://www.npmjs.com/package/axios)
* [debug](https://www.npmjs.com/package/debug)
* [@babel/core](https://www.npmjs.com/package/@babel/core)
* [express](https://www.npmjs.com/package/express)
* [semver](https://www.npmjs.com/package/semver)
* [uuid](https://www.npmjs.com/package/uuid)
* [react-dom](https://www.npmjs.com/package/react-dom)
* [jquery](https://www.npmjs.com/package/jquery)

Other slices of the data examined in the study include versioned
versus version agnostic, npm versus non-npm, direct versus
indirect (and direct) packages. All eight top 500 lists are
included in an open data repository on
[Data.World.](https://data.world/thelinuxfoundation/census-ii-of-free-and-open-source-software)

Observations and analysis of these specific metrics led the study
to come to certain conclusions. These were:

* **Software components need to be named in a standardized schema
  for security strategies to be effective.**
  The study determined that a lack of naming conventions used by
  packages and components across repositories was highly
  inconsistent. Thus, any ongoing effort to create software
  security and transparency strategies without industry
  participation would have limited effect and slow such
  efforts.
* **The complexities associated with package versioning.**
  In addition to the need for standardized naming schema mentioned
  above, Software Bill of Materials (SBOM) guidance will need to
  reflect versioning information consistent with the public “main”
  repository for that package, rather than private repositories.
  Many of the versions that our data partners reported did not
  exist in the public repositories for those packages because
  developers maintained internal forks of the code.
* **Developer accounts must be secured.** The
  analysis of the software packages with the highest levels of
  usage found that many were hosted on individual (personal)
  developer accounts. Lax developer security practices have
  considerable implications for large organizations that use these
  software packages because they have fewer protections and less
  granularity of associated permissions. The OpenSSF encourages
  MFA tokens or organizational accounts to achieve greater account
  security.
* **Legacy open source is pervasive in commercial
  solutions.**
  Many production applications are being deployed that incorporate
  legacy open source packages. This prevalence of legacy packages
  is an issue as they are often no longer supported or maintained
  by the developers or have known security vulnerabilities. They
  often lack updates for known security issues both in their
  codebase or in the codebase of dependencies they require to
  operate.
* [Apache log4j](https://logging.apache.org/log4j/),
  version 1.x, for example, was ten times more prevalent than
  log4j 2.x (the version requiring recent remediation), and 1.x
  still has known unpatched disclosed vulnerabilities because the
  software was declared end-of-life (EOL) in 2015.
* Legacy packages present a vulnerability to the companies
  deploying them in their environments — it means they will need
  to know what open source packages they have deployed and where
  to maintain and update these codebases over time.
* **The prevalence of “supercoders” in the FOSS community.** Much of the most widely used FOSS is developed by only a
  handful of contributors – results in one dataset show that 136
  developers were responsible for more than 80% of the lines of
  code added to the top 50 packages. Additionally, as stated in
  the Census II preliminary results in 2020, project atrophy and
  contributor abandonment is a known issue with legacy open source
  software. The number of developer contributors who work on
  projects to ensure updates for feature improvements, security,
  and stability decreases over time as they prioritize other
  software development work in their professional lives or decide
  to leave the project for any number of reasons. Therefore, it is
  much more likely that these communities may face challenges
  without sufficient developers to act as maintainers as time goes
  by.

## What resources exist to better understand and mitigate potential problem areas in Open Source Software development?

The Linux Foundation’s community and other open source projects
initiatives offer important standards, tooling, and guidance that
will help organizations and the overall open source community gain
better insight into and directly address potential issues in their
software supply chain.

### Software Bill of Materials: Adopt the ISO/IEC 5962:2021 SPDX SBOM Standard

An actionable recommendation from Census II is to adopt Software
Bill of Materials (SBOM) within your organization. SBOMs serve as
a record that delineates the composition of software systems.
[Software Package Data Exchange](https://spdx.org/tools)
(SPDX) is an open
[international standard](https://www.iso.org/standard/81870.html)
for communicating SBOM information that supports accurate
identification of software components, explicit mapping of
relationships between components, and the association of security
and licensing information with each component.

Many enterprises concerned about software security are making
SBOMs a cornerstone of their cybersecurity strategy. The Linux
Foundation recently published a separate study on SBOM readiness
within organizations,
[The State of Software Bill of Materials (SBOM) and
Cybersecurity Readiness](https://www.linuxfoundation.org/tools/the-state-of-software-bill-of-materials-sbom-and-cybersecurity-readiness/?hsLang=en). The report offers fresh insight into the state of SBOM
readiness by enterprises across the globe, identifying patterns
from innovators, early adopters, and procrastinators.

Differentiated by region and revenue, these organizations
identified current SBOM production and consumption levels and the
motivations and challenges regarding their present and future
adoption. This report is for organizations looking to better
understand SBOMs as an important tool in securing software supply
chains and why it is now time to adopt them.

### Take the free training on secure software development

The Open Source Security Foundation (OpenSSF) has developed a trio
of free courses on how to develop secure software. These courses
are part of the
[Secure Software Development Fundamentals Professional
Certificate](http://edx.org/professional-certificate/linuxfoundationx-secure-software-development-fundamentals?utm_medium=partner-marketing&utm_source=affiliate&utm_campaign=openssf&utm_content=openssforg-securedevelopmentpc)
program.  There’s a fee if you want to try to earn a
certificate (to prove that you learned the material). However, if
you just want to learn the material without earning a certificate,
that’s free; simply audit the course. All three courses are
available on the edX platform.

The courses included in the program are:

* [Secure Software Development: Requirements, Design, and Reuse
  (LFD104x)](https://www.edx.org/course/secure-software-development-requirements-design-and-reuse?utm_medium=partner-marketing&utm_source=affiliate&utm_campaign=openssf&utm_content=openssforg-lfd104)
* [Secure Software Development: Implementation (LFD105x)](https://www.edx.org/course/secure-software-development-implementation?utm_medium=partner-marketing&utm_source=affiliate&utm_campaign=openssf&utm_content=openssforg-lfd105)
* [Secure Software Development: Verification and More
  Specialized Topics (LFD106x)](https://www.edx.org/course/secure-software-development-verification-and-more-specialized-topics?utm_medium=partner-marketing&utm_source=affiliate&utm_campaign=openssf&utm_content=openssforg-lfd106)

### Focus on building security best practices into your open source projects

The OpenSSF develops and hosts its
[Best Practices](https://bestpractices.coreinfrastructure.org/en)
badging program for open source software developers. This
initiative was one of the first outputs produced as a result of
the
[Census I](https://www.coreinfrastructure.org/programs/census-program-i/), completed in 2015. Since then, over
[4,000 open source software projects](https://bestpractices.coreinfrastructure.org/en/projects)
have engaged, started, or completed obtaining a  Best
Practices Badge.

Projects that conform to OpenSSF best practices can display a
badge on their GitHub page or their own web pages and other
material. In contrast, consumers of the badge can quickly assess
which FLOSS projects are following best practices and, as a
result, are more likely to produce higher-quality and secure
software. Additionally, a
[Badge API](https://github.com/coreinfrastructure/best-practices-badge/blob/master/doc/api.md)
exists that allows developers and organizations to query the
practice score of a specific project, such as Silver, Gold, and
Passing. This means any organization can do an API check within
their workflow to check against the open source packages they’re
using and see if that project’s community has obtained a badge.

More information on the OpenSSF Best Practices Badging program,
including background and
[criteria](https://github.com/coreinfrastructure/best-practices-badge/blob/master/doc/criteria.md), is
[available on GitHub](https://github.com/coreinfrastructure/best-practices-badge). The
[projects page](https://bestpractices.coreinfrastructure.org/en/projects)
shows participating projects and supports queries (such as a list
of
[projects that have a passing badge](https://bestpractices.coreinfrastructure.org/en/projects?gteq=100)). Project statistics and criteria statistics are
available.

### Understand the vulnerability vectors of your software supply chain

In addition to reviewing the Census II findings, we encourage you
to read the Linux Foundation’s
[Open Source Supply Chain Security Whitepaper](https://www.linuxfoundation.org/publications/2020/02/open-source-software-supply-chain-security/?hsLang=en). This publication explores vulnerabilities in the open source
software ecosystem through historical examples of weaknesses in
known infrastructure components (such as lax developer security
practices and end-user behavior, poorly secured dependency package
repositories, package managers, and incomplete vulnerability
databases). It provides a set of recommendations for organizations
to navigate potential problem areas.

## Conclusion

The Census II study shows that even the most widely deployed open
source software packages can have issues with security practices,
developer engagement, contributor exodus, and code abandonment.
Therefore, open source projects require supporting toolsets,
infrastructure, staffing, and proper governance to act as a stable
and healthy upstream project for your organization.

[Subscribe to LF Research](https://share.hsforms.com/1s6VHan-AREeFvvOyhigX_Q4tvhy)

#### Share this article

###### Similar Articles

[On DEI Research: Why the Linux Foundation? Why now?](https://www.linuxfoundation.org/blog/blog/on-dei-research-why-the-linux-foundation-why-now?hsLang=en)

[Brian Behlendorf Testifies on Open Source Software Security to
the US House Committee on Science and Technology](https://www.linuxfoundation.org/blog/blog/lf/brian-behlendorf-testifies-open-source-software-security?hsLang=en)

[Take Our Cloud Providers Survey and Enter to Win a Raspberry
Pi](https://www.linuxfoundation.org/blog/blog/take-our-cloud-providers-survey-and-enter-to-win-a-raspberry-pi?hsLang=en)

###### Browse Categories

[LF Research](https://www.linuxfoundation.org/blog/tag/lf-research)
[Open Source](https://www.linuxfoundation.org/blog/tag/open-source)
[Projects](https://www.linuxfoundation.org/blog/tag/projects)
[Cloud Computing](https://www.linuxfoundation.org/blog/tag/cloud-computing-ja)
[Compliance and Security](https://www.linuxfoundation.org/blog/tag/compliance-and-security)
[Blog](https://www.linuxfoundation.org/blog/tag/blog)
[Newsletter](https://www.linuxfoundation.org/blog/tag/newsletter)
[linux blog](https://www.linuxfoundation.org/blog/tag/linux-blog)
[2024](https://www.linuxfoundation.org/blog/tag/2024)
[Linux](https://www.linuxfoundation.org/blog/tag/linux)
[Open Source Ecosystem and Governance](https://www.linuxfoundation.org/blog/tag/open-source-ecosystem-and-governance)
[Linux How-To](https://www.linuxfoundation.org/blog/tag/linux-how-to)
[Research](https://www.linuxfoundation.org/blog/tag/research)
[lf events](https://www.linuxfoundation.org/blog/tag/lf-events)
[Diversity & Inclusion](https://www.linuxfoundation.org/blog/tag/diversity-inclusion)
[education](https://www.linuxfoundation.org/blog/tag/education)
[tech talent](https://www.linuxfoundation.org/blog/tag/tech-talent)
[2025](https://www.linuxfoundation.org/blog/tag/2025)
[Data, AI, and Analytics](https://www.linuxfoundation.org/blog/tag/data-ai-and-analytics)
[LF Europe](https://www.linuxfoundation.org/blog/tag/lf-europe)
[careers](https://www.linuxfoundation.org/blog/tag/careers)
[project news](https://www.linuxfoundation.org/blog/tag/project-news)
[AI/ML](https://www.linuxfoundation.org/blog/tag/ai-ml)
[Training and Certification](https://www.linuxfoundation.org/blog/tag/training-certification)