From 86bff3395aba911259e60a35f2cbc6e984f62571 Mon Sep 17 00:00:00 2001 From: Griffin Long <151978260+DrunkOnJava@users.noreply.github.com> Date: Mon, 2 Nov 2026 18:07:56 -0500 Subject: [PATCH 1/3] docs: the clean-room policy and reconnaissance say the process keeps legal risk low, not that it has none --- CLEANROOM.md | 18 +++++++++++------- docs/rvt-moat-break-reconnaissance.md | 4 ++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/CLEANROOM.md b/CLEANROOM.md index 4db189701..0f6638897 100644 --- a/CLEANROOM.md +++ b/CLEANROOM.md @@ -1,9 +1,10 @@ # Clean-room policy rvt-rs is a clean-room implementation of a reader for the Autodesk -Revit on-disk format. Every byte-level finding in the repo is derived -from **public** sources. This document states the policy in -enforceable terms so contributors and auditors can verify. +Revit on-disk format. Every byte-level finding in the repo must be +derived from **public** sources and state the sources it rests on. This +document states the policy in enforceable terms so contributors and +auditors can verify. ## Accepted sources @@ -119,10 +120,13 @@ forbidden source, the reviewer: - Trust with the Autodesk / ODA / buildingSMART ecosystem. A project that scrupulously respects IP boundaries is more credible and less likely to invite litigation threats. -- Downstream users can ship rvt-rs in commercial products - (Apache-2 license + clean-room provenance = no viral-license - risk + no IP-contamination risk). Reading revit-ifc for what the - export writes, and never copying its code, keeps it that way. +- Downstream users can ship rvt-rs in commercial products. The + Apache-2.0 license and recorded clean-room provenance are meant to + keep viral-license and IP-contamination risk low; no process can + rule such risk out, which is why the legal posture below asks users + with specific constraints to take their own advice. Reading + revit-ifc for what the export writes, and never copying its code, + is part of that discipline. - Contributors who want to work on the project without signing an NDA get a clear path. diff --git a/docs/rvt-moat-break-reconnaissance.md b/docs/rvt-moat-break-reconnaissance.md index c9480b8d7..fc4076239 100644 --- a/docs/rvt-moat-break-reconnaissance.md +++ b/docs/rvt-moat-break-reconnaissance.md @@ -345,10 +345,10 @@ AI changes all four: ### 6.4 Regulatory & legal context -- **Autodesk v. ODA (2006)** — trademark suit. Settled. Autodesk lost the ability to use trademark to stop RVT reimplementations. +- **Autodesk v. ODA (2006)** — a trademark suit over DWG, settled. It concerned DWG, not RVT, and decides nothing about RVT readers. - **ODA BimRv SDK** — commercial, ~$500–5k/yr member pricing. Not available to non-members. Gated by NDA. - **No cryptographic protection on RVT files themselves** — confirmed in this recon. Data is structured; not obfuscated. -- **GPL-3 / Apache-2 clean-room implementation has no legal risk** — DMCA doesn't apply (no DRM circumvention), copyright doesn't apply (interoperability exception under 17 USC 1201(f)). +- **A clean-room Apache-2.0 implementation keeps legal risk low, without ruling it out** — RVT files carry no DRM, so no technical protection is circumvented, and 17 USC 1201(f) allows reverse engineering for interoperability; copyright in Autodesk's code is respected by never using it (`CLEANROOM.md`). This is not legal advice: `CLEANROOM.md`'s legal posture applies. - **Autodesk Forge ToS** does restrict "deriving the RVT format" — but those ToS only bind Forge users, not independent researchers. ## 7. Status & next steps From c89b1991023741be2e58239bb6dc6565ff05c49c Mon Sep 17 00:00:00 2001 From: Griffin Long <151978260+DrunkOnJava@users.noreply.github.com> Date: Mon, 2 Nov 2026 19:54:58 -0500 Subject: [PATCH 2/3] docs: the reconnaissance's legal context states the statute's conditions, sources the ODA settlement, and drops unverified price and terms claims --- docs/rvt-moat-break-reconnaissance.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/rvt-moat-break-reconnaissance.md b/docs/rvt-moat-break-reconnaissance.md index fc4076239..68fcb771f 100644 --- a/docs/rvt-moat-break-reconnaissance.md +++ b/docs/rvt-moat-break-reconnaissance.md @@ -345,11 +345,11 @@ AI changes all four: ### 6.4 Regulatory & legal context -- **Autodesk v. ODA (2006)** — a trademark suit over DWG, settled. It concerned DWG, not RVT, and decides nothing about RVT readers. -- **ODA BimRv SDK** — commercial, ~$500–5k/yr member pricing. Not available to non-members. Gated by NDA. +- **Autodesk and the Open Design Alliance** — Autodesk's 2006 suit, over the TrustedDWG watermark the ODA's libraries wrote into DWG files, and the DWG trademark proceedings that followed concerned DWG, not RVT. The two announced a settlement of the trademark disputes on 2010-04-09 ([Autodesk's announcement](https://investors.autodesk.com/news-releases/news-release-details/autodesk-and-open-design-alliance-reach-agreement-autodesk-dwg)). +- **ODA BimRv SDK** — a commercial SDK licensed to ODA members under their agreements. rvt-rs uses none of it (`CLEANROOM.md`). - **No cryptographic protection on RVT files themselves** — confirmed in this recon. Data is structured; not obfuscated. -- **A clean-room Apache-2.0 implementation keeps legal risk low, without ruling it out** — RVT files carry no DRM, so no technical protection is circumvented, and 17 USC 1201(f) allows reverse engineering for interoperability; copyright in Autodesk's code is respected by never using it (`CLEANROOM.md`). This is not legal advice: `CLEANROOM.md`'s legal posture applies. -- **Autodesk Forge ToS** does restrict "deriving the RVT format" — but those ToS only bind Forge users, not independent researchers. +- **The project's clean-room approach is intended to reduce, not eliminate, legal risk.** In the United States, 17 U.S.C. § 1201(f) contains a limited interoperability provision subject to statutory conditions. This is not legal advice; the implications depend on the circumstances. +- **Autodesk Platform Services (formerly Forge)** — rvt-rs does not use it or its terms. ## 7. Status & next steps From 4789c1efcf58001830f99c2d81ddf50ab37c125d Mon Sep 17 00:00:00 2001 From: Griffin Long <151978260+DrunkOnJava@users.noreply.github.com> Date: Mon, 2 Nov 2026 20:04:25 -0500 Subject: [PATCH 3/3] docs: the reconnaissance's no-encryption line is scoped to the files read for this work --- docs/rvt-moat-break-reconnaissance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/rvt-moat-break-reconnaissance.md b/docs/rvt-moat-break-reconnaissance.md index 093c142ae..b70a7ee68 100644 --- a/docs/rvt-moat-break-reconnaissance.md +++ b/docs/rvt-moat-break-reconnaissance.md @@ -347,7 +347,7 @@ AI changes all four: - **Autodesk and the Open Design Alliance** — Autodesk's 2006 suit, over the TrustedDWG watermark the ODA's libraries wrote into DWG files, and the DWG trademark proceedings that followed concerned DWG, not RVT. The two announced a settlement of the trademark disputes on 2010-04-09 ([Autodesk's announcement](https://investors.autodesk.com/news-releases/news-release-details/autodesk-and-open-design-alliance-reach-agreement-autodesk-dwg)). - **ODA BimRv SDK** — a commercial SDK licensed to ODA members under their agreements. rvt-rs uses none of it (`CLEANROOM.md`). -- **No cryptographic protection on RVT files themselves** — confirmed in this recon. Data is structured; not obfuscated. +- **No encryption in the files read for this work** — their streams are structured data that rvt-rs inflates and reads without any key (§3.3: up to 17:1 on inflation, which encrypted data does not give). That covers the files in this repository's corpora, not every RVT file; [`compatibility.md`](compatibility.md) lists encrypted or password-protected files as unsupported. - **The project's clean-room approach is intended to reduce, not eliminate, legal risk.** In the United States, 17 U.S.C. § 1201(f) contains a limited interoperability provision subject to statutory conditions. This is not legal advice; the implications depend on the circumstances. - **Autodesk Platform Services (formerly Forge)** — rvt-rs does not use it or its terms.