# ADR-0005: CC BY-SA 4.0 for Educational Content - **Status:** Accepted - **Date:** 2024-06-01 - **Deciders:** FablePool core team - **Related:** ADR-0004 (platform license), ADR-0008 (forking model), `docs/architecture/04-versioning-and-forking.md` ## Context Problems, hints, solutions, lessons, and courses are the community's most valuable asset. The license must: - guarantee the content corpus remains free forever (no enclosure of community-written courses behind a paywall without share-alike obligations); - make forking/remixing — a core platform mechanic — legally frictionless *inside and outside* the platform; - preserve attribution chains, which our reputation system depends on; - be compatible with the largest existing OER ecosystems (Wikipedia, WikiBooks, OpenStax CC BY-SA material) so content can flow both ways; - be a single license, because per-item license choice fragments the corpus and makes remixing legally hazardous for ordinary contributors. ## Decision All educational content contributed to FablePool is licensed under **Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)**. This is a condition of contribution, accepted at account creation and re-confirmed on first content submission. Implementation commitments: 1. **License is platform-wide, not per-item.** Contributors cannot select a different license. This makes every fork/remix automatically lawful. 2. **Attribution is machine-readable.** Every `ProblemVersion` and `CourseVersion` carries an `attribution` block (see `problem.schema.json` / `course.schema.json`): original author(s), fork lineage, and significant contributors (review-accepted edits). Exports (ADR-0008, OER bundles) embed this block, so downstream reuse satisfies BY automatically. 3. **Embedded third-party media** must itself be CC BY-SA-compatible (CC0, CC BY, CC BY-SA) and is recorded with source + license in the `MediaAsset` record; the upload flow requires this metadata. 4. **Code inside problems** (snippets, starter code, test cases) is dual labeled: contributors additionally grant **MIT** on code blocks marked `kind: "code"`, because share-alike terms are awkward for code learners will copy into their own projects. 5. The site renders the license and full attribution chain on every published problem/course page and in every export. ## Alternatives Considered - **CC BY 4.0** (no ShareAlike). Maximally reusable, but permits a commercial actor to take the corpus, improve it privately, and sell it closed. ShareAlike is the content-side analog of AGPL and matches the project's values. Rejected. - **CC BY-NC-SA.** NonCommercial clauses are vague, chill legitimate reuse (a tutor charging for classes? a textbook?), and are incompatible with the open-content ecosystem and OSI/Free-Culture definitions. Rejected. - **Per-item license choice.** Destroys the remix guarantee: forking a course whose items carry mixed licenses becomes a per-item legal audit. Rejected. - **CC0/public domain.** No attribution requirement undermines the reputation economy that motivates contribution. Rejected. ## Consequences - ✅ The corpus is permanently free; forks and remixes are always lawful; attribution is automatic and machine-readable. - ✅ Two-way compatibility with Wikipedia-ecosystem content (BY-SA 4.0 is one-way compatible *from* BY-SA 3.0 per CC's compatibility statements — imports must be checked, exports are fine). - ⚠️ Some institutional contributors require BY-only or proprietary terms; they cannot contribute. Accepted. - ⚠️ Contributors cannot revoke the license on past contributions (CC licenses are irrevocable); the signup flow states this plainly. The *platform* still honors GDPR-style deletion of personal data by pseudonymizing attribution to a stable handle on request, as documented in the privacy policy — the content remains, the personal identity link can be cut.