Open source software

What Is Open Source Software?

Open source software is software distributed under licenses that grant users the rights to use, study, modify, and redistribute the source code, including derivative works based on that code. The central requirement is access to source code in its preferred form for modification, as opposed to compiled binaries distributed without the corresponding readable source. The term was formalized in 1998 by the founders of the Open Source Initiative (OSI), distinguishing their engineering and methodological framing from the earlier "free software" movement led by the Free Software Foundation since 1985, even though the two traditions largely cover the same software corpus under overlapping licenses.

Open source software is produced through a range of organizational models, from loosely coordinated volunteer communities to projects sponsored and staffed by corporations, government agencies, and academic institutions. The Linux kernel, the Apache HTTP Server, the Python programming language, and the LLVM compiler infrastructure are among the most widely deployed examples, each with governance structures that have evolved over decades.

The Open Source Definition

The authoritative criteria for what qualifies as open source are stated in the Open Source Definition maintained by the OSI. The definition lists ten criteria that a software license must satisfy: it must permit free redistribution, require source code availability, allow derived works, preserve the integrity of the original code by permitting patch-file distributions, prohibit discrimination against persons or fields of endeavor, ensure that license rights travel with the software automatically, and remain technology-neutral. Licenses that satisfy these criteria, such as the MIT License, the Apache License 2.0, and the GNU General Public License, are approved by the OSI. The GPL introduces a distinctive condition: derivative works distributed in binary form must also be distributed under the GPL, a property called copyleft. The MIT and Apache licenses impose no such condition, making them permissive licenses that allow proprietary derivatives.

Public Domain Software

Public domain software, noted in the related literature as a close but distinct category, refers to works from which copyright has expired, been forfeited, or never applied. Unlike open source software, public domain status does not depend on a license grant; there is no license at all, and no conditions attach to use or redistribution. Open source software, even under a permissive license, retains copyright and requires attribution or other minimal conditions. In practice, the two categories intersect when developers explicitly dedicate works to the public domain using instruments such as the CC0 waiver, which is recognized by the OSI as legally equivalent to an open source license for most purposes.

Development Practices and Ecosystem

Open source development relies on version control systems, issue trackers, code review workflows, and continuous integration pipelines. Platforms such as GitHub and GitLab host tens of millions of open source repositories. Package managers, registries, and software supply-chain tooling have grown to manage the dependency graphs that arise when a single application draws on dozens or hundreds of open source libraries. Research from the IEEE on open source software addresses security, maintenance, licensing compliance, and the economics of contributor communities, reflecting the breadth of engineering concerns the ecosystem raises.

Security has become a particularly prominent concern as open source components underpin critical infrastructure. Initiatives including the OpenSSF (Open Source Security Foundation) and the NIST Secure Software Development Framework address vulnerability management in open source supply chains.

Applications

Open source software has applications in a range of fields, including:

  • Operating systems and server infrastructure
  • Scientific computing, data analysis, and machine learning frameworks
  • Web development tooling and content management
  • Embedded systems and firmware for IoT devices
  • Telecommunications and network function virtualization

Related Topics

Loading…