Open Source
This article is a definition of terms on the topic of Open Source – including typical exam questions, key points and tags for quick review.
What does Open Source mean?
Open Source refers to software whose source code is publicly visible and – depending on the license – may be used, modified and distributed.
Important: Open Source is not automatically free. What matters are the license terms.
Typical Open Source Licenses (Brief Overview)
- MIT (permissive) Very freely usable, including commercially, with few obligations (mainly including license notice).
- Apache-2.0 (permissive + patent rights) Also usable commercially, additionally regulates patent rights.
- GPL (Copyleft) Can trigger obligation to disclose derived works if software is distributed.
Advantages and Disadvantages
Advantages
- Transparency (code can be reviewed)
- Large community, rapid further development
- Often lower license costs
- Less vendor lock-in
Disadvantages
- License compliance can become complex
- Support is not always guaranteed
- Security risk with unmaintained projects (supply chain)
Practical Example: SPDX-License-Identifier
When you publish code, a machine-readable license statement can look like this:
// SPDX-License-Identifier: MIT
Typical Exam Questions (with Brief Answer)
- What does Open Source mean at its core? Source code is visible and may be used, modified and distributed under license terms.
- Copyleft vs. permissive – what’s the difference? Copyleft (e.g. GPL) can trigger disclosure obligations; permissive (e.g. MIT) also allows proprietary use.
- Why is Open Source compliance important? To avoid license violations and legal risks.
- How can you support compliance in CI/CD? With license scanners, SBOM generation and automated checks.
Exam-Relevant Key Points
- Open-source software with defined usage rights
- License types: Copyleft vs. permissive
- Community-driven development (forks, pull requests, maintainers)
- Documentation obligation in the project (components used + licenses)
- Security aspect: audits possible, but supply-chain risk with unmaintained projects
- Economics: saves license costs, but factor in support/compliance effort
Core Components
- Source code disclosure
- Open Source license model
- Community and contributor structure
- Version control (e.g. Git)
- Forks and pull requests
- Open Source governance (roles, maintainers, policies)
- Security aspect: CVEs, patch management
- Compliance: license review, notices, dependency lists
- Machine-readable licenses (e.g. SPDX)
- SBOM/inventory of components
Free Answer
Open Source is not just a license question, but also a development model. Many frameworks, programming languages and tools (e.g. Linux, Python, Git, Kubernetes) are Open Source and form the basis of modern software development. At the same time, professional use requires clear rules: which libraries are used, under which licenses, and how are security updates and notices handled? In exams, it often counts to demonstrate that you consciously select Open Source components, document them cleanly and can classify risks (license, security).
Learning Strategy for This Topic
- Understanding Entry Point: Look at a well-known OSS project, identify license, maintainers and release cycles.
- Deepening Method:
Create your own mini-repo and add license file +
SPDX-License-Identifierto files. - Exam Focus Training: Practice justifying the use of OSS in your project (costs, standardization, maintainability).
- Error Prevention: Don’t use dependencies without clear license information and document every external component.
Topic Analysis
- Technical Core: license models, source code disclosure, community development
- Implementation Challenges: license management, governance, regular updates
- Security Implications: transparency helps, but unmaintained projects increase risk
- Documentation Requirements: complete license and dependency list (ideally SPDX/SBOM)
- Economic Evaluation: lower license costs, but effort for compliance and support
Further Information
Conclusion
Open Source is a central foundation of modern software development – but you need to keep licenses, documentation and security aspects clearly in view.