diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..c3cc5c8 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,19 @@ +# Repository agent instructions + +This repository contains draft license text and preliminary legal research. It +does not provide legal advice, and an agent's research is not an adoption or +licensing decision. + +For any request involving license interpretation, enforcement, infringement, +remedies, litigation, statutes, cases, or legal strategy: + +1. Read `paralegal-research/AGENTS.md` completely. +2. Check `paralegal-research/INDEX.md` before searching the web or opening a + new GitHub issue. +3. Treat a matter memo in that index as the canonical research record. GitHub + issues are discussion and action mirrors, not the source of truth. +4. Keep research separate from changes to `LICENSE`. Do not turn a researched + scenario into license text unless the user expressly asks for drafting. +5. Preserve the attorney-review gate in `LEGAL-REVIEW.md`. + +For non-legal work, follow the repository's existing documentation and tests. diff --git a/README.md b/README.md index 015bf9f..982f294 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,8 @@ the copyright grant, not contributors' patent grants. - `NOTICE-TEMPLATE-MIT-LEGACY.txt` — additive header variant for files with surviving MIT-era third-party authorship. - `LEGAL-REVIEW.md` — review gate, applied decisions, attorney checklist. +- `paralegal-research/` — indexed, preliminary legal research, reusable + authority notes, research workflow, and future-question backlog. - `header-policy.toml` and `header-policy.schema.json` — policy format and an integration example. - `tools/license_headers.py` — one-command inventory, check, update, and diff --git a/paralegal-research/AGENTS.md b/paralegal-research/AGENTS.md new file mode 100644 index 0000000..52489e5 --- /dev/null +++ b/paralegal-research/AGENTS.md @@ -0,0 +1,133 @@ +# Agent workflow for legal research + +These instructions apply throughout `paralegal-research/`. Read them before +doing legal research for this repository. + +## 1. Route the question before researching + +Normalize the request into five fields: + +- **actor** — licensor, copyright owner, contributor, distributor, service + operator, customer, or other claimant/defendant; +- **conduct or trigger** — distribution, remote network use, missed source + publication, notice omission, post-termination conduct, or another event; +- **jurisdiction** — country, court system, and state law when relevant; +- **issue or remedy** — liability, standing, injunction, damages, cure, + specific performance, evidence, or procedure; +- **time/version** — relevant license version, product release, and date. + +Then read `INDEX.md` and search before creating anything. Start with: + +```console +rg -n -i "|||" paralegal-research LICENSE LEGAL-REVIEW.md README.md +``` + +Search synonyms as well as the user's wording. For example, search `source +disclosure`, `corresponding source`, `specific performance`, `injunction`, and +`cure` for a request framed as “make the infringer publish.” + +## 2. Decide whether the question is already answered + +Read the candidate memo's scope, short answer, assumptions, open questions, +and `last_verified` date. Classify the request as follows: + +- `answered` — the memo covers the same material actor, conduct, jurisdiction, + remedy, and license version; its authorities remain current; and no open + point would materially change the answer. +- `partial` — the memo is analogous, but a different jurisdiction, claimant, + license clause, procedural posture, or unresolved fact matters. +- `unresearched` — no memo addresses the material question. +- `superseded` — a newer memo expressly replaces the old one. + +Do not create a duplicate memo merely because the phrasing differs. Update the +existing memo when the legal question is materially the same. Create and +cross-link a child or related matter when the difference could change the +answer. A memo may become stale without changing its `research_status`; update +`last_verified` only after checking all time-sensitive authorities. + +Allowed frontmatter values are: + +- `research_status`: `unresearched`, `in-progress`, `partial`, `answered`, or + `superseded`. +- `legal_review`: `not-requested`, `pending`, `approved`, or + `changes-required`. + +## 3. Research in authority order + +Prefer sources in this order: + +1. Operative repository text and version history. +2. Statutes, regulations, court opinions, orders, and dockets. +3. Official license text and materials from the license steward. +4. Reputable secondary legal analysis for context and leads. +5. Community posts or anonymous material only as leads to stronger sources. + +For technical legal questions, use primary authority for the final proposition +whenever available. Record the court, jurisdiction, date, procedural posture, +precedential weight, direct URL, and verification date. + +Never collapse these categories: + +- a court's holding; +- a party's allegation or requested relief; +- a settlement term; +- a default judgment; +- dicta or commentary; +- an inference from multiple sources. + +If a complaint asks for source disclosure, that does not prove a judge ordered +it. If parties settle on publication, that does not establish a generally +available judicial remedy. State those limits in the memo and authority card. + +## 4. File the result + +Use `templates/MATTER.md` for a new question and assign the next `PR-####` ID. +Use `templates/AUTHORITY.md` and the next `AUTH-####` ID when a source is +nuanced, likely to be reused, or important to the answer. A routine source can +remain in a matter's source table. + +File matters by their primary issue, not by the name of the person asking: + +- `matters/remedies/` +- create another lowercase topic folder only when needed, such as `standing/`, + `scope/`, `registration/`, or `procedure/`. + +File reusable authority cards by source type: + +- `authorities/cases/` +- `authorities/statutes/` +- `authorities/licenses/` + +Every completed research pass must: + +1. update the canonical matter rather than only a chat or issue; +2. add or update authority cards where warranted; +3. update `INDEX.md` in the same change; +4. link related and superseded matters in both directions; +5. state facts, assumptions, contrary authority, uncertainty, and open + questions; +6. use absolute dates and set `last_verified` to the actual verification date; +7. distinguish a descriptive conclusion from a recommendation; +8. leave the license text unchanged unless drafting was expressly requested. + +## 5. GitHub and external actions + +Repository memos are canonical. If the user asks for an issue, create one with +a concise summary, scope limits, open questions, and a link to the memo once +the memo is available. Add the issue URL to the memo. Do not open issues, +contact counsel, publish findings, or change external systems without user +authorization. + +## 6. Quality gate + +Before declaring a matter answered, verify: + +- the short answer responds to the normalized question; +- every important proposition has a direct, accessible source; +- requested relief is not described as awarded relief; +- current cases and statutes were checked recently; +- holdings are separated from settlements and commentary; +- the memo explains what would change the answer; +- local links resolve and `git diff --check` passes; +- legal review is not implied unless `legal_review: approved` is supported by + an identified attorney review. diff --git a/paralegal-research/BACKLOG.md b/paralegal-research/BACKLOG.md new file mode 100644 index 0000000..7994ea0 --- /dev/null +++ b/paralegal-research/BACKLOG.md @@ -0,0 +1,22 @@ +# Future research scenarios + +These are candidate matters, not active assignments and not conclusions. Before +starting one, search `INDEX.md`, define the relevant facts and jurisdiction, +then assign the next matter ID. + +| Priority | Scenario | Why it could change a decision | Expected output | +|---|---|---|---| +| High | FastLED §11.3 source-publication breach: remedies in the likely defendant forums | The current draft has a commercial-transfer trigger rather than AGPL network interaction, so the cause of action and equitable remedy may differ. | Jurisdiction-specific remedy matrix and pleading assumptions | +| High | Standing and chain of title | A steward, contributor, copyright owner, customer, and association may have different claims and available remedies. | Claimant-by-claimant standing map and evidence checklist | +| High | Copyright registration strategy | 17 U.S.C. §412 timing can determine access to statutory damages and attorney's fees. | Release-registration calendar and ownership prerequisites | +| High | Cure, reinstatement, and past liability | Restoring future permission may not erase damages or exposure for earlier unlicensed acts. | Timeline scenarios for first and repeat violations | +| Medium | Commercial-license value as damages evidence | A list price, negotiated fee, and reasonable royalty are not automatically interchangeable. | Evidentiary and valuation memo with contrary authority | +| Medium | Source disclosure as specific performance | Availability may depend on claimant, contract theory, state law, adequacy of damages, and feasibility of supervision. | Jurisdiction comparison and requested-relief drafting notes | +| Medium | Resellers, contract manufacturers, and exhaustion | Actor and transfer timing can determine who breached and what conduct can be enjoined. | Supply-chain fact patterns and responsibility matrix | +| Medium | Covered code boundaries | Templates, headers, generated files, firmware, and linked components may produce different source obligations. | Artifact-by-artifact scope analysis | +| Medium | Cross-border enforcement | Territorial limits, choice of law, service, and judgment enforcement may dominate the practical remedy. | Country-specific issue spotter for actual target markets | +| Medium | Evidence preservation and pre-suit investigation | Public repository history, shipped binaries, offers, notices, and communications may be necessary to prove timing and scope. | Lawful evidence checklist and preservation protocol for counsel review | + +Do not research the entire backlog at once. Promote only the scenario needed for +a concrete decision, and record any assumptions that substitute for missing +facts. diff --git a/paralegal-research/INDEX.md b/paralegal-research/INDEX.md new file mode 100644 index 0000000..5a0bf01 --- /dev/null +++ b/paralegal-research/INDEX.md @@ -0,0 +1,33 @@ +# Research index + +Search this registry before opening a new matter. The matter memo is the +canonical answer; authority cards are reusable source analyses. + +## Matters + +| ID | Question | Jurisdiction | Research | Legal review | Verified | Canonical memo | +|---|---|---|---|---|---|---| +| PR-0001 | What can a court order for AGPL-style source noncompliance, and can the result be source disclosure or a commercial license? | U.S. federal; California contract issues | answered | pending | 2026-08-25 | [Memo](matters/remedies/agpl-noncompliance-judicial-remedies.md) | + +## Reusable authorities + +| ID | Authority | Type | Key use | Verified | Card | +|---|---|---|---|---|---| +| AUTH-0001 | *Jacobsen v. Katzer* | case | Open-source conditions and copyright enforcement | 2026-08-25 | [Card](authorities/cases/jacobsen-v-katzer.md) | +| AUTH-0002 | *MDY Industries v. Blizzard* | case | Ninth Circuit condition-versus-covenant framework | 2026-08-25 | [Card](authorities/cases/mdy-industries-v-blizzard.md) | +| AUTH-0003 | *Artifex Software v. Hancom* | case | GPL dual-license pleading and commercial-license damages theory | 2026-08-25 | [Card](authorities/cases/artifex-v-hancom.md) | +| AUTH-0004 | BusyBox / Westinghouse | case | Default-judgment injunction for GPL noncompliance | 2026-08-25 | [Card](authorities/cases/busybox-westinghouse.md) | +| AUTH-0005 | *Software Freedom Conservancy v. Vizio* | case | Third-party-beneficiary specific-performance theory | 2026-08-25 | [Card](authorities/cases/sfc-v-vizio.md) | +| AUTH-0006 | 17 U.S.C. §§ 502–505, 412 | statutes | Injunction, impoundment, monetary relief, fees, registration timing | 2026-08-25 | [Card](authorities/statutes/us-copyright-remedies.md) | +| AUTH-0007 | GNU AGPL version 3 | license | Network source offer, termination, cure, and reinstatement | 2026-08-25 | [Card](authorities/licenses/gnu-agpl-v3.md) | +| AUTH-0008 | BusyBox / Monsoon settlement | settlement | Negotiated publication, notice, controls, payment, and reinstatement | 2026-08-25 | [Card](authorities/cases/busybox-monsoon-settlement.md) | + +## Status key + +- Research: `unresearched`, `in-progress`, `partial`, `answered`, or + `superseded`. +- Legal review: `not-requested`, `pending`, `approved`, or + `changes-required`. + +The verification date reports when time-sensitive sources were last checked; +it is not an attorney approval date. diff --git a/paralegal-research/README.md b/paralegal-research/README.md new file mode 100644 index 0000000..c86128f --- /dev/null +++ b/paralegal-research/README.md @@ -0,0 +1,35 @@ +# Paralegal research library + +This directory is the durable home for preliminary legal research supporting +the FastLED licensing project. It is designed so that a future human or agent +can answer three questions quickly: + +1. Has this question already been researched? +2. What proposition does the existing authority actually support? +3. Where should a new finding be recorded so it can be reused? + +The material here is research work product for attorney review. It is not legal +advice, does not establish an attorney-client relationship, and does not itself +change the project's license or policy. Do not label material privileged or +confidential unless counsel has directed that treatment. + +## Directory map + +- `INDEX.md` — canonical registry of matters and reusable authorities. +- `BACKLOG.md` — scoped future scenarios; an entry is not authorization to + begin research. +- `matters/` — one canonical memo per concrete legal question. +- `authorities/` — reusable source cards for cases, statutes, and licenses. +- `templates/` — required structure for new matter memos and authority cards. +- `AGENTS.md` — mandatory research and filing workflow for agents. + +## Mental model + +A **matter memo** answers a question. An **authority card** records what a +source can and cannot establish. The index routes readers to both. A GitHub +issue may collect discussion, review, or follow-up work, but it should point +back to the canonical memo rather than becoming the only copy of the research. + +Research status and legal-review status are deliberately separate. A memo can +be complete enough to answer the research question while still awaiting an +attorney's review. diff --git a/paralegal-research/authorities/cases/artifex-v-hancom.md b/paralegal-research/authorities/cases/artifex-v-hancom.md new file mode 100644 index 0000000..112c2f6 --- /dev/null +++ b/paralegal-research/authorities/cases/artifex-v-hancom.md @@ -0,0 +1,57 @@ +--- +id: AUTH-0003 +title: Artifex Software, Inc. v. Hancom, Inc. +authority_type: case +jurisdiction: US-Northern-District-of-California +date: 2017-04-25 +authority_status: settled +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0003: *Artifex Software, Inc. v. Hancom, Inc.* + +## Citation and source + +- *Artifex Software, Inc. v. Hancom, Inc.*, No. 3:16-cv-06982 (N.D. Cal.). +- [Court order via GovInfo](https://www.govinfo.gov/content/pkg/USCOURTS-cand-3_16-cv-06982/pdf/USCOURTS-cand-3_16-cv-06982-2.pdf) +- [Free Software Foundation settlement update](https://www.fsf.org/blogs/licensing/update-on-artifex-v-hancom-gnu-gpl-compliance-case-1) + +## Procedural posture and weight + +Federal trial-court pretrial ruling in a dispute involving GPL-licensed +Ghostscript and Artifex's alternative commercial license. The case later +settled. It is persuasive, not binding precedent, and supplies no final merits +judgment compelling source publication. + +## What it supports + +- A dual-licensing plaintiff can plausibly pursue contract and copyright + theories based on GPL use and alleged noncompliance. +- The value of an available commercial license may be argued as a measure of + damages if supported by the facts and damages law. +- Use of GPL software does not itself mean the user accepted the separate + commercial license. + +## What it does not establish + +- That a court may force the defendant to buy, or the owner to sell, a + commercial license. +- That the commercial list price automatically equals recoverable damages. +- That source disclosure was awarded after a merits trial. + +## Key facts and reasoning + +Artifex offered Ghostscript under the GPL or a paid commercial license and +alleged that Hancom used and distributed it without satisfying the GPL. The +court allowed material theories to proceed and rejected the premise that +Artifex could simply impose a commercial agreement Hancom had not accepted. +The dispute ended by settlement before a final adjudication of the requested +source remedy. + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Recheck trigger: unsealed settlement material, later history, or controlling + authority on commercial-license benchmarks. diff --git a/paralegal-research/authorities/cases/busybox-monsoon-settlement.md b/paralegal-research/authorities/cases/busybox-monsoon-settlement.md new file mode 100644 index 0000000..7a82186 --- /dev/null +++ b/paralegal-research/authorities/cases/busybox-monsoon-settlement.md @@ -0,0 +1,53 @@ +--- +id: AUTH-0008 +title: BusyBox enforcement settlement with Monsoon Multimedia +authority_type: settlement +jurisdiction: US-Southern-District-of-New-York +date: 2007-10-30 +authority_status: settled +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0008: BusyBox enforcement settlement with Monsoon Multimedia + +## Citation and source + +- *Andersen v. Monsoon Multimedia, Inc.*, No. 07-cv-8205 (S.D.N.Y.). +- [Software Freedom Law Center settlement announcement](https://softwarefreedom.org/news/2007/oct/30/busybox-monsoon-settlement/) + +## Procedural posture and weight + +Private settlement announced after a GPL enforcement complaint. Settlement +terms illustrate negotiated compliance tools but are not findings, holdings, +or proof that a court would order identical relief after litigation. + +## What it supports + +- Parties can settle a GPL dispute through source publication, notice to past + recipients, compliance controls, payment, and conditional reinstatement of + distribution rights. +- Reinstatement can be negotiated after concrete compliance steps rather than + treated as automatic forgiveness of past conduct. + +## What it does not establish + +- That a court adjudicated liability or ordered those terms. +- That public source disclosure is mandatory relief in every GPL or AGPL case. +- That the same terms would be appropriate for network-only use. + +## Key facts and reasoning + +The announced resolution required Monsoon to publish BusyBox source, notify +prior recipients, appoint an open-source compliance officer, and pay an +undisclosed amount. The plaintiffs agreed to reinstate distribution rights after +compliance. Those are settlement choices made by the parties. + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Contrasting authority: [BusyBox / Westinghouse](busybox-westinghouse.md), + where relief was entered through default judgment. +- Recheck trigger: use of any term beyond the public announcement or discovery + of the operative settlement text. diff --git a/paralegal-research/authorities/cases/busybox-westinghouse.md b/paralegal-research/authorities/cases/busybox-westinghouse.md new file mode 100644 index 0000000..4796da6 --- /dev/null +++ b/paralegal-research/authorities/cases/busybox-westinghouse.md @@ -0,0 +1,51 @@ +--- +id: AUTH-0004 +title: BusyBox enforcement against Westinghouse +authority_type: case +jurisdiction: US-Southern-District-of-New-York +date: 2010-07-27 +authority_status: default-judgment +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0004: BusyBox enforcement against Westinghouse + +## Citation and source + +- *Software Freedom Conservancy, Inc. v. Best Buy Co.*, No. 09-cv-10155 + (S.D.N.Y.), default judgment as to Westinghouse Digital Electronics. +- [Software Freedom Conservancy summary and order links](https://sfconservancy.org/news/2010/aug/03/busybox-gpl/) + +## Procedural posture and weight + +Federal default judgment, not a contested appellate holding. It provides a +concrete example of relief entered after GPL distribution noncompliance but has +limited precedential value because Westinghouse defaulted. + +## What it supports + +- A court can permanently enjoin future distribution of GPL software by a + defendant found in default and award monetary and ancillary relief. +- Continuing unlicensed distribution can be framed as conduct to stop, rather + than as a basis to force a new commercial license. + +## What it does not establish + +- The result after contested merits litigation. +- A general right to compel publication for network-only AGPL use. +- That every downstream product or unrelated proprietary component must be + disclosed. + +## Key facts and reasoning + +The plaintiffs alleged distribution of BusyBox in consumer electronics without +the GPL-required source and notices. After Westinghouse failed to defend, the +court entered a permanent injunction and monetary/forfeiture-related relief. + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Recheck trigger: access to the underlying docket/order for any proposition + more specific than the Conservancy's linked summary. diff --git a/paralegal-research/authorities/cases/jacobsen-v-katzer.md b/paralegal-research/authorities/cases/jacobsen-v-katzer.md new file mode 100644 index 0000000..e9313c0 --- /dev/null +++ b/paralegal-research/authorities/cases/jacobsen-v-katzer.md @@ -0,0 +1,53 @@ +--- +id: AUTH-0001 +title: Jacobsen v. Katzer +authority_type: case +jurisdiction: US-Federal-Circuit-applying-Ninth-Circuit-law +date: 2008-08-13 +authority_status: current +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0001: *Jacobsen v. Katzer* + +## Citation and source + +- *Jacobsen v. Katzer*, 535 F.3d 1373 (Fed. Cir. 2008). +- [Opinion PDF hosted by Berkeley Law](https://www.law.berkeley.edu/files/Jacobsen_v_Katzer_-_Westlaw.pdf) + +## Procedural posture and weight + +Published Federal Circuit decision reviewing denial of a preliminary +injunction and applying Ninth Circuit copyright law. The court vacated and +remanded. It is significant open-source authority, but it was not a final +judgment granting source disclosure or damages. + +## What it supports + +- Express open-source requirements can limit the scope of a copyright license, + so conduct outside those conditions may support copyright infringement. +- Attribution and modification-transparency terms can confer economic benefits + even when software is distributed without a traditional royalty. + +## What it does not establish + +- That every open-source term is a copyright condition. +- That AGPL §13 has been finally adjudicated under the same analysis. +- That a court must compel public source disclosure. + +## Key facts and reasoning + +The Artistic License permitted copying, modification, and distribution subject +to stated requirements. The appellate court treated the relevant requirements +as enforceable conditions of permission rather than merely promises detached +from copyright. The remedy remained subject to the ordinary preliminary- +injunction analysis on remand. + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Distinguishing authority: [*MDY Industries*](mdy-industries-v-blizzard.md) +- Recheck trigger: later controlling Ninth Circuit treatment of open-source + conditions or AGPL network-source obligations. diff --git a/paralegal-research/authorities/cases/mdy-industries-v-blizzard.md b/paralegal-research/authorities/cases/mdy-industries-v-blizzard.md new file mode 100644 index 0000000..57d9ff9 --- /dev/null +++ b/paralegal-research/authorities/cases/mdy-industries-v-blizzard.md @@ -0,0 +1,54 @@ +--- +id: AUTH-0002 +title: MDY Industries, LLC v. Blizzard Entertainment, Inc. +authority_type: case +jurisdiction: US-Ninth-Circuit +date: 2010-12-14 +authority_status: current +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0002: *MDY Industries, LLC v. Blizzard Entertainment, Inc.* + +## Citation and source + +- *MDY Industries, LLC v. Blizzard Entertainment, Inc.*, 629 F.3d 928 + (9th Cir. 2010), amended on denial of rehearing (2011). +- [Official Ninth Circuit opinion PDF](https://cdn.ca9.uscourts.gov/datastore/opinions/2011/02/17/09-15932.pdf) + +## Procedural posture and weight + +Published Ninth Circuit appellate decision. It is binding federal appellate +authority within that circuit on the condition-versus-covenant framework, but +it is not an open-source-license case. + +## What it supports + +- A licensee infringes copyright by exceeding a condition that limits the + license's scope when the condition has the required nexus to the licensor's + exclusive copyright rights. +- Breach of an independent contractual covenant ordinarily supports contract, + not copyright, remedies. + +## What it does not establish + +- Whether any particular AGPL or GPL clause is a condition. +- That a network-source obligation necessarily implicates an exclusive right + when the defendant has not distributed a copy. +- The remedy for open-source noncompliance. + +## Key facts and reasoning + +The court separated restrictions that define licensed copyright activity from +promises governing conduct that does not implicate an exclusive right. Future +analysis must therefore connect the exact license language and defendant's acts +to the claimed copyright right rather than relying on the label “condition.” + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Related authority: [*Jacobsen*](jacobsen-v-katzer.md) +- Recheck trigger: later en banc, Supreme Court, or controlling AGPL-specific + treatment. diff --git a/paralegal-research/authorities/cases/sfc-v-vizio.md b/paralegal-research/authorities/cases/sfc-v-vizio.md new file mode 100644 index 0000000..f3447be --- /dev/null +++ b/paralegal-research/authorities/cases/sfc-v-vizio.md @@ -0,0 +1,54 @@ +--- +id: AUTH-0005 +title: Software Freedom Conservancy, Inc. v. Vizio, Inc. +authority_type: case +jurisdiction: California-state-court +date: 2021-10-19 +authority_status: pending +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0005: *Software Freedom Conservancy, Inc. v. Vizio, Inc.* + +## Citation and source + +- *Software Freedom Conservancy, Inc. v. Vizio, Inc.*, filed in Orange County + Superior Court; federal removal/remand proceedings included No. + 8:21-cv-01943 (C.D. Cal.). +- [Conservancy case page and current procedural updates](https://sfconservancy.org/copyleft-compliance/vizio.html) + +## Procedural posture and weight + +Ongoing litigation asserting California contract rights as a third-party +beneficiary of GPL obligations and seeking source-code performance. Procedural +rulings allowing litigation to continue are not a final holding that the +plaintiff is entitled to source or specific performance. + +## What it supports + +- A downstream recipient may plead a state-contract beneficiary theory seeking + source code, distinct from a copyright owner's infringement suit. +- Source delivery can be requested as specific performance rather than only as + damages. + +## What it does not establish + +- That the plaintiff will prevail on standing, liability, or remedy. +- That all recipients under GPL-family licenses may compel source in every + jurisdiction. +- A final judicial award of public source disclosure. + +## Key facts and reasoning + +The Conservancy alleges that Vizio distributed products containing GPL-covered +software without providing corresponding source and seeks performance of the +source obligations as a beneficiary. The matter illustrates a claimant and +remedy theory that differs from direct copyright-owner enforcement. + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Recheck trigger: any merits, trial, appellate, settlement, or dismissal + development. Because the case is pending, verify status before every use. diff --git a/paralegal-research/authorities/licenses/gnu-agpl-v3.md b/paralegal-research/authorities/licenses/gnu-agpl-v3.md new file mode 100644 index 0000000..9f35771 --- /dev/null +++ b/paralegal-research/authorities/licenses/gnu-agpl-v3.md @@ -0,0 +1,54 @@ +--- +id: AUTH-0007 +title: GNU Affero General Public License version 3 +authority_type: license +jurisdiction: not-applicable +date: 2007-11-19 +authority_status: current-version-3 +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0007: GNU Affero General Public License version 3 + +## Citation and source + +- [Official GNU AGPL version 3 text](https://www.gnu.org/licenses/agpl-3.0.html) + +## Procedural posture and weight + +Primary license text published by the Free Software Foundation. It states the +permission and obligations but is not legislation or a judicial interpretation +of those terms. + +## What it supports + +- Section 13 requires a modified program used for remote network interaction to + offer users an opportunity to receive corresponding source through a stated + network mechanism. +- Section 8 addresses automatic termination and describes provisional and + permanent reinstatement mechanisms, including cure-related timing. +- Separate permission can exist outside the AGPL if the relevant copyright + holder grants it. + +## What it does not establish + +- Which claimant can sue under a given set of facts. +- Whether a particular obligation is a copyright condition or contract + covenant under the governing law. +- Which equitable remedy a court will award. +- That cure eliminates liability for earlier unlicensed conduct. + +## Key facts and reasoning + +For remedy analysis, map the exact alleged act to the license text. Distribution +obligations and §13's network-interaction obligation can present different +copyright and contract theories. Section 8 must be read separately for future +reinstatement and any claim concerning past conduct. + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Recheck trigger: a new AGPL version, official erratum, or controlling judicial + interpretation. diff --git a/paralegal-research/authorities/statutes/us-copyright-remedies.md b/paralegal-research/authorities/statutes/us-copyright-remedies.md new file mode 100644 index 0000000..b22311e --- /dev/null +++ b/paralegal-research/authorities/statutes/us-copyright-remedies.md @@ -0,0 +1,58 @@ +--- +id: AUTH-0006 +title: U.S. Copyright Act remedies and registration timing +authority_type: statute +jurisdiction: US-federal +date: 1976-10-19 +authority_status: current +last_verified: 2026-08-25 +related_matter_ids: + - PR-0001 +--- + +# AUTH-0006: U.S. Copyright Act remedies and registration timing + +## Citation and source + +- [17 U.S.C. §502 — injunctions](https://www.law.cornell.edu/uscode/text/17/502) +- [17 U.S.C. §503 — impoundment and disposition](https://www.law.cornell.edu/uscode/text/17/503) +- [17 U.S.C. §504 — damages and profits](https://www.law.cornell.edu/uscode/text/17/504) +- [17 U.S.C. §505 — costs and attorney's fees](https://www.law.cornell.edu/uscode/text/17/505) +- [17 U.S.C. §412 — registration prerequisite for certain remedies](https://www.law.cornell.edu/uscode/text/17/412) + +## Procedural posture and weight + +Federal statutes. The linked Legal Information Institute pages reproduce the +U.S. Code and link source notes. Always check for amendments and controlling +case law governing equitable factors and calculation. + +## What it supports + +- Courts may grant injunctions on terms they deem reasonable to prevent or + restrain copyright infringement. +- Courts may order impoundment and disposition of infringing copies and + relevant articles within statutory limits. +- A successful claimant may elect actual damages plus qualifying infringer's + profits or statutory damages, subject to the statute. +- Courts may award costs and reasonable attorney's fees in their discretion. +- Section 412 can preclude statutory damages and fees based on registration + timing. + +## What it does not establish + +- That an injunction is automatic after a finding of infringement. +- That every license breach is copyright infringement. +- A right to compel acceptance of a commercial license. +- The availability or elements of state-law specific performance. + +## Key facts and reasoning + +These provisions define the ordinary federal copyright remedy categories. They +must be paired with proof of standing, infringement, causation, registration +facts, and the equitable standards developed in controlling cases. + +## Treatment in this repository + +- Related matters: [PR-0001](../../matters/remedies/agpl-noncompliance-judicial-remedies.md) +- Recheck trigger: statutory amendment, Supreme Court remedial decision, or a + matter involving a registration timeline not already analyzed. diff --git a/paralegal-research/matters/remedies/agpl-noncompliance-judicial-remedies.md b/paralegal-research/matters/remedies/agpl-noncompliance-judicial-remedies.md new file mode 100644 index 0000000..31e26b2 --- /dev/null +++ b/paralegal-research/matters/remedies/agpl-noncompliance-judicial-remedies.md @@ -0,0 +1,218 @@ +--- +id: PR-0001 +title: Judicial remedies for AGPL-style source noncompliance +question: "For an infringer that has not complied with an AGPL code base, what can a U.S. court ordinarily order, and can the remedy be source disclosure or acquisition of a commercial license?" +short_answer: "A court can ordinarily stop continued unlicensed copying, distribution, or other acts within the copyright owner's exclusive rights and may award authorized monetary and ancillary relief. Source disclosure or performance of a source obligation may be requested under a contract theory, but it is not an automatic or well-established final remedy in U.S. AGPL litigation. A judge generally cannot force parties into a new commercial license; a license can be voluntarily obtained, and its value may sometimes inform damages." +research_status: answered +legal_review: pending +jurisdictions: + - US-federal + - California +topics: + - AGPL + - remedies + - injunction + - source-disclosure + - commercial-license +last_verified: 2026-08-25 +github_issues: + - https://github.com/FastLED/license/issues/15 +related_matter_ids: [] +supersedes: [] +--- + +# PR-0001: Judicial remedies for AGPL-style source noncompliance + +> Preliminary research for attorney review. Not legal advice and not a decision +> to adopt the AGPL, GPL, or any other license. + +## Scope and assumptions + +This memo answers a hypothetical enforcement question under U.S. federal +copyright law, with California contract principles relevant to the principal +reported GPL cases. It assumes the claimant owns or exclusively controls the +copyrights needed to sue and can prove that the defendant engaged in conduct +requiring permission. It does not decide whether FastLED should adopt AGPL or +whether the current [draft license](../../../LICENSE) produces the same claims. + +The key distinction is between: + +- an injunction that says **stop conduct unless it is licensed**; +- an affirmative order to **perform the source-disclosure promise**; and +- an order that purports to **create a new paid license** between unwilling + parties. + +Those are not interchangeable remedies. + +## Short answer + +The conventional copyright remedy is an injunction against continued +unlicensed exercise of copyright rights, supported where proven by impoundment +or destruction, actual damages and infringer's profits, or statutory damages +and attorney's fees when registration and other statutory requirements are met. +A compliant license path may make the injunction read functionally as “stop +unless you comply or obtain separate permission,” but the court is prohibiting +unlicensed conduct rather than choosing a business model for the defendant. + +An order requiring publication or delivery of corresponding source is legally +plausible under a contract/specific-performance theory and has appeared in +requests and settlements. The reviewed U.S. authorities do not establish a +routine final AGPL judgment compelling public release. That relief depends on +standing, the governing law, the exact promise, adequacy of damages, and normal +equitable limits. + +A court generally cannot impose a commercial license that the copyright owner +never agreed to grant. The parties can settle on a commercial license or enter +a consent judgment. In a damages case, evidence of the owner's commercial +license price may be relevant, but it is a valuation theory—not compelled +acceptance of that license. + +## Remedy matrix + +| Remedy | What a judge could do | Important limit | +|---|---|---| +| Prohibitory injunction | Stop unlicensed copying, modification, distribution, or other proven acts; condition future conduct on having valid permission | Requires ownership/standing, infringement, and equitable factors; network operation alone must implicate the applicable right or claim | +| Source-code performance | Order a defendant to deliver or publish source if a valid contract claim and specific-performance requirements are established | U.S. AGPL precedent reviewed here does not show this as an automatic or routine final award | +| Actual damages and profits | Compensate proven loss and recover qualifying profits not already included | Causation, apportionment, and non-duplication matter; a commercial fee is evidence, not an imposed contract | +| Statutory damages and fees | Award the relief authorized by 17 U.S.C. §§504–505 | Registration timing under §412 can bar statutory damages and fees for some infringements | +| Impoundment or destruction | Control infringing copies and relevant articles under 17 U.S.C. §503 | Scope and proportionality depend on the articles and proven infringement | +| Declaratory relief | Declare rights, termination, breach, or noncompliance where a justiciable controversy exists | A declaration does not by itself publish source or create a license | +| Contempt/enforcement | Enforce an injunction or consent decree after entry | Applies only to the actual terms and persons bound by the order | + +## Role-play scenarios + +### 1. Copyright owner proves unlicensed distribution + +The owner asks the court to enjoin further distribution. A conventional order +would bar distribution unless the defendant has permission. The defendant can +then stop, comply with an available license path if the license permits cure and +reinstatement, or negotiate a commercial license. The order need not force the +owner to offer commercial terms. + +### 2. Service operator violates AGPL §13 but distributes no copy + +The claimant asks for a source offer to remote users. The factual and doctrinal +questions become sharper: the claimant must identify an enforceable claim and +show why affirmative performance is available. The language of AGPL §13 is +clear as a license obligation, but this research did not identify a final U.S. +AGPL merits judgment establishing the precise remedy for network-only +noncompliance. + +### 3. Claimant asks for “publish the code or buy a license” + +That can be a settlement proposal. It can also describe the defendant's +practical choices after an injunction against unlicensed conduct. It should not +be pleaded or described as though a judge can compel an unaccepted commercial +contract. *Artifex v. Hancom* supports potential use of commercial-license value +as a damages measure while expressly resisting the idea that the license was +automatically imposed. + +### 4. Downstream user seeks source rather than the copyright owner suing + +The theory may be third-party-beneficiary contract enforcement and specific +performance, as in the pending *SFC v. Vizio* litigation, rather than copyright +infringement. Standing, state contract law, federal preemption, and the requested +form of performance all require separate analysis. The existence of that case +does not yet establish a final right to compelled source production. + +### 5. Defendant cures after notice + +AGPL §8 contains termination and reinstatement rules, including specified cure +mechanisms. Reinstatement of permission going forward does not necessarily +erase claims or remedies for earlier unlicensed acts. The text, notice history, +whether this is a first violation, and the timing of cure must be mapped before +stating the result. + +## Analysis + +### Copyright remedies focus on stopping infringement and compensating harm + +Sections 502–505 of the Copyright Act authorize injunctions, impoundment and +disposition, damages and profits or statutory damages, costs, and discretionary +attorney's fees. Section 412 makes registration timing important to statutory +damages and fee recovery. These provisions do not create a general power to +write a new commercial license for the parties. + +### License conditions can support copyright claims, but wording matters + +*Jacobsen v. Katzer* recognizes that open-source restrictions tied to the scope +of permission can be copyright conditions rather than only contractual +promises. *MDY Industries v. Blizzard* supplies the Ninth Circuit framework: +breach of a condition that limits the license's scope and has a copyright nexus +can sound in copyright, while breach of an independent covenant generally +sounds in contract. Application to a particular AGPL obligation still depends +on the text and conduct. + +### Reported GPL disputes do not establish an automatic forced-license remedy + +In *Artifex v. Hancom*, a federal trial court allowed contract and copyright +theories concerning GPL-licensed Ghostscript to proceed. It treated the value +of Artifex's commercial license as a possible damages measure but did not deem +Hancom to have accepted or been forced into that commercial license. The case +later settled, so it did not yield a final merits judgment ordering public +source disclosure. + +The BusyBox/Westinghouse default judgment demonstrates that a federal court can +permanently enjoin future distribution after GPL noncompliance and award +monetary and ancillary relief. Because it was a default judgment involving +distribution, its precedential and factual reach is limited. + +Settlements such as BusyBox/Monsoon have required source publication, +recipient notice, compliance controls, payment, and conditional reinstatement. +Those terms show practical negotiated remedies, not what every judge must order. + +*SFC v. Vizio* tests a beneficiary's state-contract claim for source code and +specific performance. Its procedural survival is important, but no final +merits decision identified as of the verification date establishes that the +requested source remedy will be awarded. + +## Authorities + +| Authority | Proposition supported | Posture and limits | +|---|---|---| +| [17 U.S.C. remedies](../../authorities/statutes/us-copyright-remedies.md) | Statutory menu of copyright relief and registration constraints | Does not decide contract remedies or AGPL-specific liability | +| [GNU AGPLv3](../../authorities/licenses/gnu-agpl-v3.md) | §13 network source offer; §8 termination, cure, and reinstatement | License text, not a judicial ruling | +| [*Jacobsen v. Katzer*](../../authorities/cases/jacobsen-v-katzer.md) | Open-source terms may be enforceable copyright conditions | Preliminary-injunction appeal; no final source-disclosure remedy | +| [*MDY Industries v. Blizzard*](../../authorities/cases/mdy-industries-v-blizzard.md) | Ninth Circuit condition/covenant and copyright-nexus framework | Not an open-source case | +| [*Artifex v. Hancom*](../../authorities/cases/artifex-v-hancom.md) | GPL contract/copyright claims; commercial-license damages theory | Trial-level pretrial ruling; later settlement | +| [BusyBox / Westinghouse](../../authorities/cases/busybox-westinghouse.md) | Permanent injunction after GPL distribution noncompliance | Default judgment; limited precedential value | +| [BusyBox / Monsoon](../../authorities/cases/busybox-monsoon-settlement.md) | Publication, notice, controls, payment, and conditional reinstatement | Private settlement; not an adjudicated remedy rule | +| [*SFC v. Vizio*](../../authorities/cases/sfc-v-vizio.md) | Beneficiary contract/specific-performance theory can proceed procedurally | Pending; no final merits/source-production award identified | + +## What would change the answer + +- The forum and governing state contract law. +- Whether the defendant distributed copies or only provided network access. +- The claimant's copyright ownership, exclusive rights, or beneficiary status. +- Exact AGPL version and source-obligation facts. +- Registration and infringement dates. +- Evidence that money is inadequate and affirmative relief is feasible. +- A later final decision in *SFC v. Vizio* or another AGPL merits case. + +## Open questions for counsel + +- Under the anticipated forum's law, should source publication be pleaded as + specific performance, injunctive relief, or both? +- For network-only AGPL §13 conduct, what exclusive copyright right and what + contract formation facts support each claimant's theory? +- What ownership and registration record exists for each relevant release? +- Would a commercial-license price be admissible and sufficiently comparable + to prove actual damages on the assumed facts? +- How should requested relief preserve an option to negotiate without implying + that the court may compel either party to license? + +## Repository implications + +This research does not support changing the repository to AGPL and does not +resolve the remedy language appropriate for the FastLED Reciprocal License. A +separate, counsel-reviewed matter should analyze the current draft's §11.3 +commercial-transfer obligation in likely enforcement forums. That scenario is +listed in the [backlog](../../BACKLOG.md). + +Discussion and follow-up are tracked in [GitHub issue #15](https://github.com/FastLED/license/issues/15). + +## History + +| Date | Change | Author/reviewer | +|---|---|---| +| 2026-08-25 | Initial research captured from issue #15 | Agent; attorney review pending | diff --git a/paralegal-research/templates/AUTHORITY.md b/paralegal-research/templates/AUTHORITY.md new file mode 100644 index 0000000..d9eba28 --- /dev/null +++ b/paralegal-research/templates/AUTHORITY.md @@ -0,0 +1,44 @@ +--- +id: AUTH-#### +title: Authority name +authority_type: case +jurisdiction: Jurisdiction +date: YYYY-MM-DD +authority_status: current +last_verified: YYYY-MM-DD +related_matter_ids: [] +--- + +# AUTH-####: Authority name + +## Citation and source + +- Full citation or identifier: +- Direct primary source: +- Later history or current status: + +## Procedural posture and weight + +State whether this is a reported appellate holding, interlocutory order, +default judgment, pending matter, settlement, statute, license text, or +secondary commentary. Explain whether and where it binds. + +## What it supports + +- Proposition supported by the authority. + +## What it does not establish + +- Requested relief, unresolved issue, jurisdictional limit, or inference that + should not be presented as a holding. + +## Key facts and reasoning + +Paraphrase the minimum facts and reasoning needed for future reuse. Avoid long +quotations. + +## Treatment in this repository + +- Related matters: +- Conflicting or distinguishing authorities: +- Recheck trigger: diff --git a/paralegal-research/templates/MATTER.md b/paralegal-research/templates/MATTER.md new file mode 100644 index 0000000..4249067 --- /dev/null +++ b/paralegal-research/templates/MATTER.md @@ -0,0 +1,70 @@ +--- +id: PR-#### +title: Concise matter title +question: "One concrete legal question" +short_answer: "One-paragraph result with the principal qualification" +research_status: unresearched +legal_review: not-requested +jurisdictions: + - jurisdiction +topics: + - topic +last_verified: YYYY-MM-DD +github_issues: [] +related_matter_ids: [] +supersedes: [] +--- + +# PR-####: Concise matter title + +> Preliminary research for attorney review. Not legal advice and not a license +> or policy decision. + +## Scope and assumptions + +Identify the actor, conduct or trigger, jurisdiction, remedy, license version, +relevant dates, assumed facts, and questions deliberately excluded. + +## Short answer + +Answer the normalized question first. Separate what is likely, possible, +uncertain, and unavailable. + +## Analysis + +For each proposition, explain the rule, apply it to the assumed facts, cite the +best authority, and state any contrary rule or important limitation. + +## Scenario matrix + +| Scenario | Likely claim | Relief a court could consider | Main uncertainty | +|---|---|---|---| +| | | | | + +## Authorities + +| Authority | Proposition supported | Posture and limits | +|---|---|---| +| | | | + +Link reusable authority cards. Use direct primary-source links for central +propositions. + +## What would change the answer + +- Missing fact, jurisdiction change, new decision, or license-text difference. + +## Open questions for counsel + +- Question requiring legal judgment or fact development. + +## Repository implications + +State whether the research suggests a separate drafting or policy decision. +Research alone must not modify `LICENSE`. + +## History + +| Date | Change | Author/reviewer | +|---|---|---| +| YYYY-MM-DD | Initial research | Agent; attorney review pending |