A legal counsel explains licence compatibility to engineers: "You need to understand the difference between permissive and copyleft licences before you add any open-source dependency. A permissive licence lets you use, modify, and redistribute the code with very few conditions — the main one being attribution. A copyleft licence is different: if you distribute a derivative work, you must release it under the same licence. Strong copyleft takes it further — even linking to the library can trigger the obligation." Which statement best describes a permissive licence?
Permissive licence: a licence that places minimal restrictions on how software can be used, modified, or redistributed. The core obligation is usually attribution — keeping the original copyright notice and licence text. Common permissive licences: MIT — the most widely used open-source licence; very short, requires attribution; no patent grant. Apache 2.0 — adds an explicit patent grant (contributors licence their patents to users) and a NOTICE file requirement; preferred by enterprises. BSD 2-Clause / 3-Clause — similar to MIT; 3-Clause adds a non-endorsement clause. Contrast with copyleft licences, which require derivative works to be released under the same licence. Derivative work: a work based on a copyrighted original (e.g., a modified version of a library). In conversation: "We prefer Apache 2.0 dependencies because the explicit patent grant protects us from patent claims by contributors — something MIT doesn't provide."
2 / 30
An open-source maintainer asks a new contributor to sign a document before their pull request is merged: "Before we can accept your contribution, you'll need to sign our CLA. A CLA — Contributor Licence Agreement — is a legal document where you confirm that you own the code you're contributing and that you grant us the rights to use it. Some projects use a DCO instead, which is lighter-weight: you just add a Signed-off-by line to each commit to certify you have the right to submit the code." What is the key practical difference between a CLA and a DCO?
CLA (Contributor Licence Agreement): a legal contract between a contributor and a project owner. The contributor grants the project the right to use, relicence, or sublicence their contribution. CLAs are common in corporate-backed open-source projects (Google, Apache, HashiCorp). May be individual (ICLA) or corporate (CCLA). DCO (Developer Certificate of Origin): a lighter-weight alternative, introduced by the Linux kernel project. Each commit includes a Signed-off-by: Name <email> git trailer, certifying the contributor has the right to submit the code under the project's open-source licence. No separate legal document is required. Inbound licence: the licence under which a contributor submits code. Outbound licence: the licence under which the project distributes code. CLAs allow the inbound and outbound licences to differ (e.g., the project can change its outbound licence later). In conversation: "We switched from a CLA to a DCO — it reduced friction for new contributors because they don't need to wait for a countersigned PDF before their PR can be merged."
3 / 30
Fill in the blank with the correct term: "The engineering team ran a licence scan on their new product and found a dependency released under the GPL v3. Their lawyer explained that GPL is a ______ licence — sometimes called a 'viral' licence — because if you distribute a product that includes GPL-licensed code, your entire combined work must also be released under the GPL." Which term correctly fills the blank?
Strong copyleft: a licence condition that requires any distributed software incorporating the copyleft-licensed code to be released under the same licence. The GPL family are the canonical strong copyleft licences. GPL (GNU General Public Licence): the original strong copyleft licence; triggers on distribution of binaries linked against it. GPL v2 ("or later") vs GPL v3 (adds patent retaliation, anti-tivoisation clauses). AGPL (Affero GPL): extends the copyleft trigger to network use — if you run AGPL software as a service (SaaS), you must release the source. Used by MongoDB, Grafana. Weak copyleft: licences like LGPL (Lesser GPL) and MPL (Mozilla Public Licence). Copyleft applies only to the licensed file/component itself — you can link against it from proprietary code without triggering the full copyleft. Licence compliance strategy: replace strong copyleft dependencies with permissive equivalents when building proprietary products. In conversation: "We identified a GPL v3 dependency in our pipeline — we need to either replace it with an MIT-licensed alternative or open-source that module separately."
4 / 30
A compliance engineer is reviewing a software bill of materials for an enterprise client: "Every component in this SBOM needs a valid SPDX identifier in the licence field — not just free text like 'Apache licence' or 'version 2 of the GPL'. SPDX identifiers are standardised short strings: Apache-2.0, GPL-3.0-only, MIT. They're machine-readable, so tooling can automatically flag incompatible licences and generate the correct attribution notices." What is an SPDX identifier?
SPDX (Software Package Data Exchange): an open standard by the Linux Foundation for communicating software bill of materials (SBOM) information, including components, licences, copyrights, and security references. SPDX identifier: a standardised string from the SPDX Licence List (spdx.org/licenses) that unambiguously names a licence. Examples: MIT, Apache-2.0, GPL-3.0-only, GPL-3.0-or-later, LicenseRef-custom-commercial. Licence expression: an SPDX formula combining identifiers with AND/OR/WITH operators. E.g., MIT OR Apache-2.0 (you may choose either); GPL-2.0-only WITH Classpath-exception-2.0 (common in Java/OpenJDK). SBOM (Software Bill of Materials): a machine-readable inventory of all components in a software product; formats include SPDX and CycloneDX. Attribution notice: the copyright and licence text you must include when distributing software under permissive licences. Automation: tools like FOSSA, Scancode, and Syft generate SBOMs with SPDX identifiers, enabling automated policy enforcement. In conversation: "Our CI pipeline runs a licence scan and fails the build if any dependency has an SPDX identifier that matches our blocklist of strong copyleft licences."
5 / 30
Match the definition to the correct term: "A company releases its database product under two different licences simultaneously. Community users can use it free of charge under an open-source licence. Enterprise customers pay for a commercial licence that includes additional features, SLA guarantees, and no copyleft obligations. This approach lets the company monetise the software while still building an open-source community." Which licensing model is described?
Dual licensing (also: multi-licensing): releasing the same software under two or more licences simultaneously, allowing users to choose which applies to them. Typically: open-source licence (e.g., GPL or AGPL) for community users + commercial licence for enterprises that want to avoid copyleft obligations. Examples: MySQL (GPL + commercial via Oracle), Qt (GPL + commercial via Qt Group). Related commercial licence models: Open core: the core product is open source (e.g., MIT/Apache); advanced/enterprise features are closed-source proprietary add-ons. Used by GitLab, Elasticsearch. BUSL (Business Source Licence): source-available but not open-source. Restricts production/commercial use for a defined period (typically 4 years), after which the code converts to an open-source licence. Used by HashiCorp (Terraform → BSL), MariaDB. Per-seat licence: a commercial model where the cost is based on the number of individual users (seats). Common for desktop and enterprise software. EULA (End-User Licence Agreement): a legal contract between a software vendor and the end user specifying terms of use for proprietary software. Governs what the user may and may not do with the software. In conversation: "We chose dual licensing — AGPL for community, commercial for enterprises — so SaaS companies can't run our platform without paying, but individual developers can still use it freely."
6 / 30
Code Review Comment: "I noticed this library uses `libjpeg-turbo`. The license is GPLv3. We need to ensure our usage aligns with the terms – specifically, that any derivative works we create also remain open source. Do you have any questions about the implications of this license?"
This question tests understanding of copyleft licenses like GPL. The core principle is that if you modify or distribute code licensed under GPLv3, your changes *must* also be released under the same license. Options A and D are incorrect as they misunderstand the nature of copyleft; option C misrepresents the differences between licenses and option B accurately reflects this.
7 / 30
Slack Message from Alex (Senior Developer): "Hey team, just a quick reminder to double-check the license compatibility of any third-party libraries we're considering. We want to avoid potential issues with patents or redistribution restrictions down the line. Let's prioritize licenses like MIT or Apache 2.0 where possible."
This scenario tests understanding of license compatibility. Alex's message highlights the importance of choosing licenses that allow for broader use and distribution without restrictions. Options A and C are incorrect because they misrepresent the purpose; option D is an oversimplification.
8 / 30
PR Description: "This PR integrates the 'AwesomeUI' component. The license for AwesomeUI is MIT. We've included a copy of the LICENSE file in the root directory. Please ensure you understand the terms of this license before merging."
This tests understanding of how to document licensing information within a PR. The description clearly states the license type (MIT) and emphasizes the need for users to review its terms. Options A and C are irrelevant; option D incorrectly assumes that merely stating the license is enough.
9 / 30
Standup Update from Ben (Junior Dev): "I've been working on integrating the 'DataStream' library into our backend. It's under a commercial license – we need to ensure we adhere to all terms of service regarding usage and distribution."
This question assesses the ability to recognize the different implications of commercial licenses versus open-source licenses. Commercial licenses often come with restrictions on usage, distribution, and potentially even modification rights. Option A is incorrect as it ignores the specific requirements; option C is a simplification; and option D misrepresents Ben's role.
10 / 30
API Response (from an SBOM tool): "{ "component": "Libpng", "license": "License: PNG reference software – Public Domain", "spdx_id": null }. The team needs to verify that this 'Public Domain' license is suitable for their product's distribution."
This scenario tests understanding of license interpretation and the importance of verifying license claims. The 'Public Domain' designation doesn't guarantee freedom from legal constraints; it simply means no copyright holder has asserted any rights. The team needs to investigate further.
11 / 30
Code Review Comment: "I noticed this library uses `libjpeg-turbo`. The license is GPLv3. We need to ensure our usage aligns with the terms – specifically, that any derivative works we create also remain open source. Do you have any questions about the implications of this license?"
This question tests understanding of copyleft licenses like GPL. The core principle is that if you modify or distribute code licensed under GPLv3, your changes *must* also be released under the same license. Options A and D are incorrect as they misunderstand the nature of copyleft; option C misrepresents the differences between licenses and option B accurately reflects this.
12 / 30
Slack Message from Alex (Senior Developer): "Hey team, just a quick reminder to double-check the license compatibility of any third-party libraries we're considering. We want to avoid potential issues with patents or redistribution restrictions down the line. Let's prioritize licenses like MIT or Apache 2.0 where possible."
This scenario tests understanding of license compatibility. Alex's message highlights the importance of choosing licenses that allow for broader use and distribution without restrictions. Options A and C are incorrect because they misrepresent the purpose; option D is an oversimplification.
13 / 30
PR Description: "This PR integrates the 'AwesomeUI' component. The license for AwesomeUI is MIT. We've included a copy of the LICENSE file in the root directory. Please ensure you understand the terms of this license before merging."
This tests understanding of how to document licensing information within a PR. The description clearly states the license type (MIT) and emphasizes the need for users to review its terms. Options A and C are irrelevant; option D incorrectly assumes that merely stating the license is enough.
14 / 30
Standup Update from Ben (Junior Dev): "I've been working on integrating the 'DataStream' library into our backend. It's under a commercial license – we need to ensure we adhere to all terms of service regarding usage and distribution."
This question assesses the ability to recognize the different implications of commercial licenses versus open-source licenses. Commercial licenses often come with restrictions on usage, distribution, and potentially even modification rights. Option A is incorrect as it ignores the specific requirements; option C is a simplification; and option D misrepresents Ben's role.
15 / 30
API Response (from an SBOM tool): "{ "component": "Libpng", "license": "License: PNG reference software – Public Domain", "spdx_id": null }. The team needs to verify that this 'Public Domain' license is suitable for their product's distribution."
This scenario tests understanding of license interpretation and the importance of verifying license claims. The 'Public Domain' designation doesn't guarantee freedom from legal constraints; it simply means no copyright holder has asserted any rights. The team needs to investigate further.
16 / 30
Code Review Comment: "I noticed this library uses `libjpeg-turbo`. The license is GPLv3. We need to ensure our usage aligns with the terms – specifically, that any derivative works we create also remain open source. Do you have any questions about the implications of this license?"
This question tests understanding of copyleft licenses like GPL. The core principle is that if you modify or distribute code licensed under GPLv3, your changes *must* also be released under the same license. Options A and D are incorrect as they misunderstand the nature of copyleft; option C misrepresents the differences between licenses and option B accurately reflects this.
17 / 30
Slack Message from Alex (Senior Developer): "Hey team, just a quick reminder to double-check the license compatibility of any third-party libraries we're considering. We want to avoid potential issues with patents or redistribution restrictions down the line. Let's prioritize licenses like MIT or Apache 2.0 where possible."
This scenario tests understanding of license compatibility. Alex's message highlights the importance of choosing licenses that allow for broader use and distribution without restrictions. Options A and C are incorrect because they misrepresent the purpose; option D is an oversimplification.
18 / 30
PR Description: "This PR integrates the 'AwesomeUI' component. The license for AwesomeUI is MIT. We've included a copy of the LICENSE file in the root directory. Please ensure you understand the terms of this license before merging."
This tests understanding of how to document licensing information within a PR. The description clearly states the license type (MIT) and emphasizes the need for users to review its terms. Options A and C are irrelevant; option D incorrectly assumes that merely stating the license is enough.
19 / 30
Standup Update from Ben (Junior Dev): "I've been working on integrating the 'DataStream' library into our backend. It's under a commercial license – we need to ensure we adhere to all terms of service regarding usage and distribution."
This question assesses the ability to recognize the different implications of commercial licenses versus open-source licenses. Commercial licenses often come with restrictions on usage, distribution, and potentially even modification rights. Option A is incorrect as it ignores the specific requirements; option C is a simplification; and option D misrepresents Ben's role.
20 / 30
API Response (from an SBOM tool): "{ "component": "Libpng", "license": "License: PNG reference software – Public Domain", "spdx_id": null }. The team needs to verify that this 'Public Domain' license is suitable for their product's distribution."
This scenario tests understanding of license interpretation and the importance of verifying license claims. The 'Public Domain' designation doesn't guarantee freedom from legal constraints; it simply means no copyright holder has asserted any rights. The team needs to investigate further.
21 / 30
Code Review Comment: "I noticed this library uses `libjpeg-turbo`. The license is GPLv3. We need to ensure our usage aligns with the terms – specifically, that any derivative works we create also remain open source. Do you have any questions about the implications of this license?"
This question tests understanding of copyleft licenses like GPL. The core principle is that if you modify or distribute code licensed under GPLv3, your changes *must* also be released under the same license. Options A and D are incorrect as they misunderstand the nature of copyleft; option C misrepresents the differences between licenses and option B accurately reflects this.
22 / 30
Slack Message from Alex (Senior Developer): "Hey team, just a quick reminder to double-check the license compatibility of any third-party libraries we're considering. We want to avoid potential issues with patents or redistribution restrictions down the line. Let's prioritize licenses like MIT or Apache 2.0 where possible."
This scenario tests understanding of license compatibility. Alex's message highlights the importance of choosing licenses that allow for broader use and distribution without restrictions. Options A and C are incorrect because they misrepresent the purpose; option D is an oversimplification.
23 / 30
PR Description: "This PR integrates the 'AwesomeUI' component. The license for AwesomeUI is MIT. We've included a copy of the LICENSE file in the root directory. Please ensure you understand the terms of this license before merging."
This tests understanding of how to document licensing information within a PR. The description clearly states the license type (MIT) and emphasizes the need for users to review its terms. Options A and C are irrelevant; option D incorrectly assumes that merely stating the license is enough.
24 / 30
Standup Update from Ben (Junior Dev): "I've been working on integrating the 'DataStream' library into our backend. It's under a commercial license – we need to ensure we adhere to all terms of service regarding usage and distribution."
This question assesses the ability to recognize the different implications of commercial licenses versus open-source licenses. Commercial licenses often come with restrictions on usage, distribution, and potentially even modification rights. Option A is incorrect as it ignores the specific requirements; option C is a simplification; and option D misrepresents Ben's role.
25 / 30
API Response (from an SBOM tool): "{ "component": "Libpng", "license": "License: PNG reference software – Public Domain", "spdx_id": null }. The team needs to verify that this 'Public Domain' license is suitable for their product's distribution."
This scenario tests understanding of license interpretation and the importance of verifying license claims. The 'Public Domain' designation doesn't guarantee freedom from legal constraints; it simply means no copyright holder has asserted any rights. The team needs to investigate further.
26 / 30
Code Review Comment: "I noticed this library uses `libjpeg-turbo`. The license is GPLv3. We need to ensure our usage aligns with the terms – specifically, that any derivative works we create also remain open source. Do you have any questions about the implications of this license?"
This question tests understanding of copyleft licenses like GPL. The core principle is that if you modify or distribute code licensed under GPLv3, your changes *must* also be released under the same license. Options A and D are incorrect as they misunderstand the nature of copyleft; option C misrepresents the differences between licenses and option B accurately reflects this.
27 / 30
Slack Message from Alex (Senior Developer): "Hey team, just a quick reminder to double-check the license compatibility of any third-party libraries we're considering. We want to avoid potential issues with patents or redistribution restrictions down the line. Let's prioritize licenses like MIT or Apache 2.0 where possible."
This scenario tests understanding of license compatibility. Alex's message highlights the importance of choosing licenses that allow for broader use and distribution without restrictions. Options A and C are incorrect because they misrepresent the purpose; option D is an oversimplification.
28 / 30
PR Description: "This PR integrates the 'AwesomeUI' component. The license for AwesomeUI is MIT. We've included a copy of the LICENSE file in the root directory. Please ensure you understand the terms of this license before merging."
This tests understanding of how to document licensing information within a PR. The description clearly states the license type (MIT) and emphasizes the need for users to review its terms. Options A and C are irrelevant; option D incorrectly assumes that merely stating the license is enough.
29 / 30
Standup Update from Ben (Junior Dev): "I've been working on integrating the 'DataStream' library into our backend. It's under a commercial license – we need to ensure we adhere to all terms of service regarding usage and distribution."
This question assesses the ability to recognize the different implications of commercial licenses versus open-source licenses. Commercial licenses often come with restrictions on usage, distribution, and potentially even modification rights. Option A is incorrect as it ignores the specific requirements; option C is a simplification; and option D misrepresents Ben's role.
30 / 30
API Response (from an SBOM tool): "{ "component": "Libpng", "license": "License: PNG reference software – Public Domain", "spdx_id": null }. The team needs to verify that this 'Public Domain' license is suitable for their product's distribution."
This scenario tests understanding of license interpretation and the importance of verifying license claims. The 'Public Domain' designation doesn't guarantee freedom from legal constraints; it simply means no copyright holder has asserted any rights. The team needs to investigate further.
What does the "Software Licensing & IP Vocabulary" vocabulary exercise cover?
This exercise tests real IT vocabulary related to software licensing & ip vocabulary through 30 multiple-choice questions, each built from realistic workplace sentences rather than abstract definitions.
Is this vocabulary exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is completely free — no account, sign-up, or payment required.
How many questions does this exercise have?
This exercise has 30 questions. Each one shows a real-world sentence or scenario with multiple-choice options and an explanation once you answer.
What happens after I answer a question?
You'll see immediate feedback showing whether your answer was correct, along with a short explanation of why — then a button to move to the next question, and a full results screen at the end.
Can I retry the exercise if I get questions wrong?
Yes. Once you reach the results screen, click "Try again" to reset your answers and go through the exercise from the start as many times as you like.
Do I need to create an account to take this exercise?
No account is needed. Your answers are scored in your browser during the session — nothing is saved to a server, so you can jump straight in.
Is my progress saved if I leave the page?
No — progress within an exercise resets if you navigate away or reload. Each exercise is short enough to complete in a few minutes in one sitting.
Are these vocabulary exercises connected to other topics?
Yes — browse the full vocabulary exercises hub to find related modules covering adjacent IT topics and roles.
How is this different from reading a glossary or blog article?
Exercises like this one are active recall drills — you have to choose the correct term or phrasing yourself, which builds retention faster than passively reading a definition.
Where can I find more vocabulary exercises?
Browse the full Vocabulary exercises hub for hundreds of modules covering Agile, DevOps, security, databases, architecture, and more — organised by IT role and skill.