A topic in the Open Knowledge Graph — a free, open map of 15,495 topics and the order to learn them in.

Software Licensing and Intellectual Property

College Depth 120 in the knowledge graph ☐ I know this ☆ Set as goal
665prerequisites beneath it
See this on the map →
Hello World: Your First ProgramTechnology Ethics→
intellectual-property copyright open-source licenses creative-commons computing-ethics AP-CSP

Core Idea

Intellectual property law gives creators rights over things they make. Source code is protected by copyright as soon as it is written, in most countries without any registration, so by default nobody else may copy or redistribute it without permission. A software license is the permission: it states what others may do with the code and on what conditions. Open-source licenses grant broad rights to use, study, change and share code, and they differ mainly in whether modified versions must stay open.

How It's Best Learned

Have students find the LICENSE file in three real open-source projects and summarize, in one sentence each, what they may and may not do. Compare a permissive license (MIT) and a copyleft license (GNU GPL) on the same scenario: "I modify this library and sell my app." Discuss everyday cases such as copying a code snippet from a forum, using images in an app, and the difference between plagiarism (a matter of honest credit) and copyright infringement (a matter of permission).

Common Misconceptions

Explainer

When you write a program, you create something the law treats as property, even though you cannot touch it. Intellectual property is the general name for these rights. Three kinds matter most in computing. Copyright protects original creative expression, including source code, documentation, images and music. Patents protect certain new inventions, and some software-related inventions can be patented. Trademarks protect names and logos, such as a product's brand.

Copyright is the one programmers meet daily. In most countries it applies automatically the moment work is created, with no form to file. By default, the copyright holder alone may copy, change and distribute the work. Copyright covers the specific expression, not the idea. Two people can write separate code for the same algorithm, and neither copies the other.

Because the default is "all rights reserved", sharing code needs a license: a statement from the copyright holder granting permission on stated terms. When you see a `LICENSE` file in a project, that file is what lets you use the code at all.

Open-source licenses grant everyone the right to use, study, modify and share the code. They fall into two broad groups. Permissive licenses, such as MIT, BSD and Apache 2.0, ask for little beyond keeping the copyright notice, and they allow the code to be used inside closed-source products. Copyleft licenses, such as the GNU GPL, add a condition: if you distribute a modified version, you must release its source code under the same license. Many large projects, including the Linux kernel, use the GPL.

For non-software works, Creative Commons offers standard licenses built from simple conditions. "BY" requires credit, "SA" requires sharing adaptations under the same terms, "NC" forbids commercial use, and "ND" forbids changes. A photo marked CC BY may be reused in your app as long as you credit the photographer.

Two distinctions prevent common mistakes. First, visible is not the same as licensed: code on a public website still belongs to its author. Second, credit is not the same as permission. Citing a source avoids plagiarism, which is about honesty, but it does not grant the legal right to copy. Some countries allow limited uses without permission, such as fair use in the United States, but those exceptions depend on the details of each case.

Practice Questions 4 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Combining Small Groups Within 5 → Number Bonds Within 5 → Number Bonds to 10 → Tens and Ones Place Value → Reading and Writing Three-Digit Numbers → Comparing Three-Digit Numbers → Comparing and Ordering Three-Digit Quantities → Comparing and Ordering Whole Numbers → Comparing Numbers 1 to 20 → Ordering Numbers to 20 → Number Line 0 to 20 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Opposites and Additive Inverses → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Introduction to Propositional Logic → Introduction to Predicate Logic (First-Order Logic) → First-Order Logic Syntax → Terms and Atomic Formulas in FOL → Variable Binding and Scope → Open and Closed Formulas in First-Order Logic → Variable Substitution and Capture-Avoidance in First-Order Logic → Quantifier Instantiation Rules in First-Order Proof Systems → Universal Quantification: Meaning and Scope → Free Variables and Bound Variables → Substitution and Instantiation in Predicate Logic → Terms and Atomic Formulas → Formulas and Well-Formed Expressions → Structures and Interpretations → Model Interpretation and Satisfaction → Interpretation, Truth, and Satisfaction of Formulas → Logical Consequence and Entailment → Soundness Theorem and Validity of Proof Systems → Deductive Reasoning and Formal Proof Systems → First-Order Resolution → Propositional Resolution → Semantic Tableaux (Propositional) → Semantic Tableaux (First-Order) → Decidable Fragments of First-Order Logic → Gödel's Completeness Theorem for First-Order Logic → Gödel's Incompleteness Theorems → Introduction to Intuitionistic Logic → Introduction to Modal Logic → Compatibilism → Moral Responsibility → Moral Psychology → Moral Sentiments and Emotions → Care Ethics → Rational Choice and Ethics → Contractarian Moral Foundations → Moral Foundations and Intuitions → Moral Relativism → Introduction to Applied Ethics → Moral Status → Animal Ethics → Environmental Ethics → Technology Ethics → Software Licensing and Intellectual Property

Longest path: 121 steps · 665 total prerequisite topics

Prerequisites (2)

Leads To (0)

No topics depend on this one yet.