UnifyWeaver

Education Licensing Guide

UnifyWeaver Educational Materials Licensing

This document describes the licensing structure for the UnifyWeaver educational materials project.


TL;DR - Quick Checklist

For Content Contributors:

For Educators Using This Content:


1. Education-Specific Licensing Structure

Documentation (Chapters, Guides, Tutorials)

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:

Code Examples

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:


2. Why This Dual Approach?

Documentation: CC-BY-4.0 is Standard for Educational Content

Advantages:

Plus MIT as alternative:

Code Examples: MIT/Apache-2.0 Matches Main Project

Advantages:


3. File Header Requirements

Adding Headers to New Files

When creating new documentation:

  1. Add the CC-BY-4.0 + MIT header at the very top
  2. Include copyright with your name (if you’re the author)
  3. Brief explanation of dual licensing

When creating new code examples:

  1. Add the MIT OR Apache-2.0 header
  2. Include copyright with your name (if you’re the author)
  3. Brief explanation of dual licensing

Files with Multiple Contributors

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:


4. Contribution Process

Automatic Agreement

The CONTRIBUTING.md states:

“By submitting a pull request, you agree to license your contribution as follows:

This means:

For Contributors Creating New Files

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.

5. Using Third-Party Educational Content

Compatible Licenses for Documentation

You can include documentation/content from:

Incompatible Licenses

You cannot include content from:

How to Attribute Third-Party Content

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

6. Repository Requirements

Required License Files

The education folder must always contain:

  1. LICENSE-MIT - Full MIT license text
  2. LICENSE-CC-BY-4.0 - Full CC-BY-4.0 license text
  3. README.md - Must include licensing section
  4. CONTRIBUTING.md - Must state contribution terms

README.md Licensing Section

Must 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)

7. Common Scenarios

Scenario 1: Teacher Wants to Use Chapters in Course

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”

Scenario 2: Student Wants to Use Code in Project

Question: Can a student copy code examples into their MIT-licensed project?

Answer: Yes! Code examples are dual-licensed MIT OR Apache-2.0:

Scenario 3: Company Wants to Create Internal Training

Question: Can a company use the materials for internal employee training?

Answer: Yes! Both licenses allow commercial use:

Scenario 4: Someone Wants to Translate Chapters

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”

Scenario 5: Blog Post Using Examples

Question: Can someone write a blog post using code examples and explanations?

Answer: Yes!


8. Annual Maintenance Checklist

Once per year, verify:

Time required: ~10 minutes annually


9. Getting Help

Resources

Questions?

For licensing questions specific to educational use:


Summary

Educational 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.