Skip to content
IRC-CodingIRC-Coding
Open SourceOSSGPLMITApache-2.0Compliance

Open Source Explained: Licenses, Benefits & Exam Questions

Learn open source essentials: definitions, licenses (GPL, MIT, Apache), advantages, compliance, and exam prep questions.

S

schutzgeist

7 min read
Open Source Explained: Licenses, Benefits & Exam Questions

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)

  1. What does Open Source fundamentally mean? Source code is publicly available and may be used, modified, and distributed under license terms.
  2. Copyleft vs. permissive – what’s the difference? Copyleft (e.g., GPL) can impose disclosure obligations; permissive (e.g., MIT) allows proprietary use as well.
  3. Why is Open Source compliance important? To avoid license violations and legal risk.
  4. 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

  1. Source code disclosure
  2. Open source license model
  3. Community and contributor structure
  4. Version control (e.g., Git)
  5. Forks and pull requests
  6. Open source governance (roles, maintainers, policies)
  7. Security aspect: CVEs, patch management
  8. Compliance: license review, notices, dependency lists
  9. Machine-readable licenses (e.g., SPDX)
  10. 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

  1. Building understanding: Look at a well-known OSS project and identify its license, maintainers, and release cycles.
  2. Deepening knowledge: Create your own mini repository and add a license file plus SPDX-License-Identifier comments.
  3. Exam-focused practice: Practice justifying OSS choices in your project (cost, standardization, maintainability).
  4. 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

  1. https://opensource.org/
  2. https://spdx.org/licenses/
  3. https://www.gnu.org/licenses/licenses.html

FAQ: Open Source, Licenses, and Compliance

1. What does Open Source mean?

Open Source means the source code of software is publicly available and may be used, modified, and distributed under certain license terms.

2. Is Open Source always free?

No, Open Source refers to code availability, not price. Open source software can be offered free or for a fee, for example with support contracts.

3. What is an Open Source license?

An open source license governs what users may do with the source code. It sets conditions for use, modification, distribution, and documentation.

4. What is the difference between copyleft and permissive licenses?

Permissive licenses like MIT allow fairly free use even in proprietary software. Copyleft licenses like the GPL require derived works to be published under the same license.

5. What is the MIT License?

The MIT License is a very permissive open source license. It allows commercial use, modification, and distribution, but requires the original license notice to be retained.

6. What is the GPL?

The GNU General Public License is a copyleft license. It allows free use but requires derived works to be published under the GPL if the software is distributed.

7. What is the LGPL?

The Lesser General Public License is a weaker form of copyleft. It allows linking with proprietary software if certain conditions, such as dynamic linking, are met.

8. What is the Apache-2.0 License?

The Apache-2.0 License is a permissive license that allows commercial use and additionally includes regulations on patent rights. It requires a license notice and documentation of changes.

9. What is a proprietary license?

A proprietary license is a commercial license where the source code is not publicly accessible. Use and distribution are strictly controlled by the vendor.

10. What is compliance in the open source context?

Compliance means adhering to the terms of all open source licenses used. This includes license notices, source code disclosure for copyleft licenses, and documenting dependencies.

11. What is an SBOM?

A Software Bill of Materials is a list of all software components used and their licenses. It helps with compliance, security, and tracking dependencies.

12. What is SPDX?

SPDX stands for Software Package Data Exchange. It is a standard for machine-readable license information that simplifies documentation and sharing of license data.

13. What is a fork?

A fork is an independent copy of an open source project. You can develop it separately, provided you respect the original project’s license.

14. What is a pull request?

A pull request is a proposal to merge your changes into an open source project. Maintainers review the code and decide whether to include it.

15. What does vendor lock-in mean?

Vendor lock-in means an organization is heavily dependent on a single vendor. Open source can reduce this risk because the code is open and interchangeable.

16. What are CVEs?

CVEs are Common Vulnerabilities and Exposures. These are publicly known security flaws in software components documented transparently in open source projects.

17. What is a maintainer?

A maintainer is a person or team responsible for managing an open source project. Maintainers review contributions, manage releases, and coordinate the community.

18. Can Open Source be used commercially?

Yes, many open source licenses permit commercial use. With copyleft licenses, however, you must be aware of the conditions under which derived works must be published.

19. Do I have to disclose my source code when using Open Source?

Not always. With permissive licenses like MIT or Apache-2.0, you do not. With strict copyleft licenses like the GPL, a disclosure obligation can arise if you distribute derived software.

20. What is supply-chain risk in Open Source?

Supply-chain risk arises from dependencies on external open source components. Unmaintained or compromised libraries can introduce security vulnerabilities into your software.

21. What is a license scanner?

A license scanner is a tool that automatically analyzes the licenses of dependencies in a project. It helps detect license violations and incompatibilities early.

22. What is a contributor?

A contributor is a person who provides contributions to an open source project. This can include code changes, documentation, tests, or bug reports.

23. What is GitHub?

GitHub is a platform for version control and collaboration on software projects. Many open source projects are hosted, documented, and developed further by the community there.

24. What is a CLA?

A Contributor License Agreement is an agreement that governs how contributions to an open source project are licensed. It can transfer rights in contributions to the project.

25. Can I write PySide code privately and use it at my company?

Yes, generally that’s allowed. PySide is licensed under LGPL and permits commercial use. You must respect LGPL conditions, particularly around dynamic linking, and document the open source software used.

Conclusion

Open Source forms the foundation of modern software development, but you need to keep licensing, documentation, and security considerations firmly in focus.

Back to Blog
Share:

Nächster Artikel in Software Development

Weiterlesen
Open Source vs Proprietary Licenses Explained

Related Posts