AGPL Isolation Notice — extensions/oi-capability/
=================================================

This OpenComputer plugin (extensions/oi-capability/) is distributed under
the MIT License. It USES the open-interpreter project (licensed under the
GNU Affero General Public License v3) as an optional subprocess backend.

ISOLATION STRATEGY
------------------

open-interpreter is NEVER imported into the OpenComputer process:

  FORBIDDEN (would AGPL-contaminate this codebase):
    import interpreter
    from interpreter import OpenInterpreter

  ALLOWED (subprocess isolation — what we do):
    Python subprocess → JSON-RPC over stdin/stdout

The only file in this plugin that imports open-interpreter is:

  extensions/oi-capability/subprocess/server.py

This file runs INSIDE an isolated Python virtual environment
(created by venv_bootstrap.py at ~/.opencomputer/oi_capability/venv/).
It is a child PROCESS, not a library import — separated from the parent
process by both filesystem and OS-level process boundaries.

LEGAL RATIONALE
---------------

Using AGPL software as a subprocess tool (not as a linked library) does not
trigger the AGPL copyleft provisions. The communication is via a generic
protocol (JSON-RPC over stdio), not through Python import mechanisms.

This approach is analogous to calling a compiled binary via subprocess — the
AGPL binary's license does not propagate to the calling program.

OPEN INTERPRETER ATTRIBUTION
------------------------------

Project:  open-interpreter (https://github.com/OpenInterpreter/open-interpreter)
License:  GNU Affero General Public License v3
Version:  0.4.3 (pinned; see subprocess/venv_bootstrap.py OI_VERSION constant)

The open-interpreter project is NOT bundled with OpenComputer. It is downloaded
and installed into an isolated venv on first use, at the user's request.

AGPL SOURCE AVAILABILITY
--------------------------

If you use this plugin in a network-accessible service, you may have additional
AGPL obligations to provide open-interpreter's source code to your users. Consult
your legal team. open-interpreter's source is available at:

  https://github.com/OpenInterpreter/open-interpreter

CI BOUNDARY ENFORCEMENT
------------------------

An automated CI test enforces the isolation:

  tests/test_oi_agpl_boundary.py

This test greps the entire codebase (excluding subprocess/server.py) for any
`import interpreter` or `from interpreter` line. Any match fails the build.
This is the load-bearing guarantee of AGPL non-contamination.
