Open Source
This article explains Open Source – covering typical exam questions, key takeaways, and quick-reference tags.
What is Open Source?
Open Source means software whose source code is publicly available and – depending on the license – may be used, modified, and distributed.
Important: Open Source is not automatically free. What matters are the license terms.
Common Open Source Licenses (Quick Overview)
- MIT (permissive) Very freely usable, including commercially, with minimal obligations (mainly including the license notice).
- Apache-2.0 (permissive + patent rights) Also commercially usable, additionally governing patent rights.
- GPL (Copyleft) Can impose obligations to disclose derived works if software is distributed.
Advantages and Disadvantages
Advantages
- Transparency (code can be audited)
- Large community, rapid development
- Often lower licensing costs
- Reduced 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 publishing code, a machine-readable license statement looks like this:
// SPDX-License-Identifier: MIT
Practical Example: Building a Tool with PySide on Your Own Time, Using It at Work
Suppose you build a small tool privately using PySide, the official Python bindings for Qt. PySide is licensed under LGPLv3. Later, you want to use the tool at your company.
Is that okay?
Yes, it’s generally fine. The LGPL permits commercial use. You can use the software at your company without disclosing your own source code, as long as you link the Qt libraries as dynamic dependencies and comply with Qt’s license terms.
What do you need to keep in mind?
- You must provide the LGPL license and the source code of the Qt version you used upon request, but not your own application code.
- If you statically link Qt into your application, stricter disclosure obligations may apply.
- You must inform users about the LGPL software used, typically through a license or about dialog.
- For a safer approach in your company, you can purchase a commercial Qt license, which eliminates the copyleft issue.
Bottom line: Using PySide at your company is permitted, but you must respect LGPL conditions and document which open source components are included.
Typical Exam Questions (With Short Answers)
- What does Open Source fundamentally mean? Source code is publicly available and may be used, modified, and distributed under license terms.
- Copyleft vs. permissive – what’s the difference? Copyleft (e.g., GPL) can impose disclosure obligations; permissive (e.g., MIT) allows proprietary use as well.
- Why is Open Source compliance important? To avoid license violations and legal risk.
- How can compliance be integrated into CI/CD? Using license scanners, SBOM generation, and automated checks.
Key Points for Exam Preparation
- Source code available under 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 account for support and 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/component inventory
Open-Ended Answer
Open Source is more than just a licensing question – it’s a development model. Many frameworks, programming languages, and tools (like Linux, Python, Git, Kubernetes) are open source and form the foundation of modern software development. In professional settings, however, clear rules are essential: which libraries are used, under what licenses, and how are security updates and notices handled? Exam questions often test whether you consciously select open source components, document them properly, and can assess risks (licensing, security).
Study Strategy for This Topic
- Building understanding: Look at a well-known OSS project and identify its license, maintainers, and release cycles.
- Deepening knowledge:
Create your own mini repository and add a license file plus
SPDX-License-Identifiercomments. - Exam-focused practice: Practice justifying OSS choices in your project (cost, standardization, maintainability).
- Avoiding mistakes: 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 assessment: lower license costs, but effort for compliance and support
Further Reading
FAQ: Open Source, Licenses, and Compliance
1. What does Open Source mean?
2. Is Open Source always free?
3. What is an Open Source license?
4. What is the difference between copyleft and permissive licenses?
5. What is the MIT License?
6. What is the GPL?
7. What is the LGPL?
8. What is the Apache-2.0 License?
9. What is a proprietary license?
10. What is compliance in the open source context?
11. What is an SBOM?
12. What is SPDX?
13. What is a fork?
14. What is a pull request?
15. What does vendor lock-in mean?
16. What are CVEs?
17. What is a maintainer?
18. Can Open Source be used commercially?
19. Do I have to disclose my source code when using Open Source?
20. What is supply-chain risk in Open Source?
21. What is a license scanner?
22. What is a contributor?
23. What is GitHub?
24. What is a CLA?
25. Can I write PySide code privately and use it at my company?
Conclusion
Open Source forms the foundation of modern software development, but you need to keep licensing, documentation, and security considerations firmly in focus.



