This document describes the licensing structure for the UnifyWeaver educational materials project.
For Content Contributors:
.md) get SPDX headers with MIT AND CC-BY-4.0.pl, .sh, .cs) get SPDX headers with MIT OR Apache-2.0LICENSE-MIT, LICENSE-CC-BY-4.0For Educators Using This Content:
License: MIT AND CC-BY-4.0 (dual-licensed)
What this means:
SPDX Header for .md files:
<!--
SPDX-License-Identifier: MIT AND CC-BY-4.0
Copyright (c) 2025 John William Creighton (s243a)
This documentation is dual-licensed under MIT and CC-BY-4.0.
-->
What qualifies as documentation:
.md files in book-01-foundations/, book-02-bash-target/, book-03-csharp-target/)License: MIT OR Apache-2.0 (disjunctive dual-license)
What this means:
SPDX Header for code files (.pl, .sh, .cs, .py):
Prolog:
% SPDX-License-Identifier: MIT OR Apache-2.0
% Copyright (c) 2025 John William Creighton (s243a)
%
% This file is part of UnifyWeaver.
% Licensed under either MIT or Apache-2.0 at your option.
Bash:
# SPDX-License-Identifier: MIT OR Apache-2.0
# Copyright (c) 2025 John William Creighton (s243a)
#
# This file is part of UnifyWeaver.
# Licensed under either MIT or Apache-2.0 at your option.
C#:
// SPDX-License-Identifier: MIT OR Apache-2.0
// Copyright (c) 2025 John William Creighton (s243a)
//
// This file is part of UnifyWeaver.
// Licensed under either MIT or Apache-2.0 at your option.
What qualifies as code examples:
.pl files (Prolog examples).sh files (generated bash scripts).cs files (C# examples).py files (Python examples)examples/ directoriesAdvantages:
Plus MIT as alternative:
Advantages:
When creating new documentation:
When creating new code examples:
If multiple people contribute to a file:
<!--
SPDX-License-Identifier: MIT AND CC-BY-4.0
Copyright (c) 2025 John William Creighton (s243a)
Copyright (c) 2025 Contributor Name
This documentation is dual-licensed under MIT and CC-BY-4.0.
-->
Guidelines:
The CONTRIBUTING.md states:
“By submitting a pull request, you agree to license your contribution as follows:
- Documentation contributions: Dual-licensed under MIT and CC-BY-4.0
- Code examples: Dual-licensed under MIT and Apache-2.0”
This means:
New documentation file:
<!--
SPDX-License-Identifier: MIT AND CC-BY-4.0
Copyright (c) 2025 YourName
This documentation is dual-licensed under MIT and CC-BY-4.0.
-->
# Your Chapter Title
New code example:
% SPDX-License-Identifier: MIT OR Apache-2.0
% Copyright (c) 2025 YourName
%
% This example is part of UnifyWeaver educational materials.
% Licensed under either MIT or Apache-2.0 at your option.
You can include documentation/content from:
You cannot include content from:
When incorporating external educational content:
In the document:
## Section Title
> This section adapted from [Source Name](https://example.com)
> by Original Author, licensed under CC-BY-4.0.
In THIRD_PARTY_CONTENT.md:
# Third-Party Educational Content
## Chapter X: Topic Name
- Original Author: Author Name
- Source: https://example.com/original
- License: CC-BY-4.0
- Modifications: Adapted for UnifyWeaver context, updated examples
The education folder must always contain:
LICENSE-MIT - Full MIT license textLICENSE-CC-BY-4.0 - Full CC-BY-4.0 license textREADME.md - Must include licensing sectionCONTRIBUTING.md - Must state contribution termsMust include:
## License
This educational project uses different licenses for different content types:
### Educational Content (Documentation)
All chapters, guides, and documentation files (`.md`) are dual-licensed under:
* **MIT License** ([LICENSE-MIT](LICENSE-MIT))
* **Creative Commons Attribution 4.0 International** ([LICENSE-CC-BY-4.0](LICENSE-CC-BY-4.0))
**SPDX:** `MIT AND CC-BY-4.0`
### Code Examples
All code example files (`.pl`, `.sh`, `.cs`, etc.) are dual-licensed under:
* **MIT License** ([LICENSE-MIT](LICENSE-MIT))
* **Apache License 2.0** (see main project LICENSE-APACHE)
**SPDX:** `MIT OR Apache-2.0`
### Copyright
Copyright (c) 2025 John William Creighton (s243a)
Question: Can a teacher use chapters in their university course?
Answer: Yes! Under CC-BY-4.0:
Attribution example:
“Based on UnifyWeaver Educational Resources by John William Creighton, licensed under CC-BY-4.0. Available at https://github.com/s243a/UnifyWeaver”
Question: Can a student copy code examples into their MIT-licensed project?
Answer: Yes! Code examples are dual-licensed MIT OR Apache-2.0:
Question: Can a company use the materials for internal employee training?
Answer: Yes! Both licenses allow commercial use:
Question: Can someone translate chapters to another language?
Answer: Yes! This is an “adaptation” under CC-BY-4.0:
Proper attribution:
“Translated from UnifyWeaver Educational Resources by John William Creighton, licensed under CC-BY-4.0”
Question: Can someone write a blog post using code examples and explanations?
Answer: Yes!
Once per year, verify:
LICENSE-MIT and LICENSE-CC-BY-4.0 in education/ rootTime required: ~10 minutes annually
For licensing questions specific to educational use:
question and licensingEducational materials use simple, permissive dual licensing:
✅ Documentation: MIT AND CC-BY-4.0
✅ Code Examples: MIT OR Apache-2.0
✅ Low Maintenance:
This maximizes educational impact while protecting contributor rights.