Provenance

Built on open source, and we say so.

The agent runtime behind Second Machine is a fork of OpenAgent, an open-source project from the team behind AFFiNE. The whole argument for this product is that a customer can inspect what they are paying for, so the lineage is published in full rather than reduced to a single licence badge.

Three licence layers

One repository, two licences in it, and an upstream with its own terms.

Calling a codebase "open source" without saying which licence applies to which directory is close to saying nothing. There are three distinct layers here, and they impose different obligations.

Layer 01 / Root

Apache License 2.0

The repository root is licensed under the Apache License 2.0. It is permissive: the code can be used, modified and redistributed, including commercially, provided the licence text, the copyright notice and a statement of changes travel with it. Apache 2.0 also grants a patent licence from contributors, which is one reason it is used at the root. The full licence text and the NOTICE file ship inside every published source archive.

Layer 02 / Server

GNU AGPL v3

The server package is licensed under the GNU Affero General Public License version 3. The AGPL is a copyleft licence, and its section 13 extends copyleft across the network: anyone interacting with a modified version of the program remotely must be offered the corresponding source of that version. Running it as a hosted service does not avoid the obligation the way the plain GPL would allow.

Layer 03 / Upstream

AFFiNE lineage

OpenAgent descends from AFFiNE, and AFFiNE's own licensing is set by its authors rather than by this project. The frontend is published under MIT terms and the backend is separately licensed by the AFFiNE authors under their own terms. Nothing on this page relicenses upstream code, and the upstream commits carried into the fork are listed with the published source.

Repository rootApache License 2.0. Attribution, the licence text and a statement of modifications ship with the source. apache.org/licenses/LICENSE-2.0
Server packageGNU Affero General Public License v3. Because each machine serves this code to its user over a network, section 13 applies. gnu.org/licenses/agpl-3.0.html
Upstream lineageOpenAgent, forked from the AFFiNE team's repository. The AFFiNE backend is separately licensed by its authors; verify those terms upstream before reuse. github.com/AFK-surf/open-agent
Machine runtimesEach of the eight machines is a separate open-source project with its own upstream and its own licence. The table below states the posture for each, and says where it has not been verified.
ModelsOpen-weight models served through a metered gateway, plus customer-supplied keys where a machine requires one. The receipt names the model on every job.
AGPL section 13

An explicit offer of corresponding source.

Section 13 of the AGPL is the clause that matters most for a hosted product, so it is quoted in effect rather than gestured at.

Every customer whose machine runs the Second Machine server package is a network user of that package under section 13 of the GNU AGPL v3. Second Machine therefore makes this offer, without conditions and without requiring a support plan, a contract, or a reason:

The offer

  • Any user of a Second Machine container may obtain the complete corresponding source code of the AGPL-licensed server package running on that container, at the exact revision it is running.
  • The source is provided under the terms of the AGPL v3, at no charge beyond the cost of the medium if a physical copy is requested.
  • The offer covers modifications made by Second Machine, not only the unmodified upstream code, including build scripts and the configuration needed to run the same version.
  • The offer remains open for as long as the version is served to any user, and for three years after it is withdrawn from service.
  • Exercising the offer has no effect on an account. It is a licence right, not a support ticket.

The dashboard shows the running revision of the server package on every machine, so a request can name the exact build being audited. Where the request is for the Apache 2.0 portions of the repository instead, those are published in the same archive with their own licence and notice files.

The eight machines

Each machine is somebody else's open-source project.

Second Machine packages and hosts these runtimes; it does not own them. Where the upstream licence has not been verified against the current release, the cell says so rather than naming a licence that might be wrong. A guessed licence is worse than an admitted gap.

MachineUpstream projectLicence posturePackaging by Second Machine
OpenClaw AgentOpenClaw, the community agent runtimeVerify upstream licencePinned image, unmodified runtime, Second Machine configuration layer
ZeroClaw AgentZeroClaw, a minimal Rust agent runtimeVerify upstream licencePinned image, unmodified runtime, Second Machine configuration layer
Hermes AgentHermes, a self-improving agent with a multi-platform gatewayVerify upstream licencePinned image, gateway restricted to approved channels
OpenClaw BrowserOpenClaw browser variantVerify upstream licencePinned image with a headless browser and a recording sidecar
Claude CodeClaude Code, published by AnthropicProprietary vendor terms, verify before reusePinned image; runs only on a customer-supplied Anthropic key
DeepSeek HarnessDeepSeek Harness, a plugin-based agent runtimeVerify upstream licencePinned image, plugin directory mounted from the machine disk
Flue AgentFlue, a starter-kit agent runtimeVerify upstream licencePinned image, unmodified runtime, Second Machine configuration layer
Desktop AgentLinux desktop image with a remote-control bridgeVerify upstream licence for each bundled componentPinned desktop image, session recording, customer takeover bridge
Server packageSecond Machine fork of OpenAgentGNU AGPL v3, source offered to network usersBuilt and run by Second Machine on every machine
Repository rootSecond Machine fork of OpenAgentApache License 2.0Published with licence and notice files intact

Licence posture last reviewed 2026-09-01. Rows marked for verification are being confirmed against the current upstream releases, and each will be replaced with the named licence and a link once it is confirmed rather than assumed.

Models

Which model ran the job is on the job.

A machine is a runtime, not a model. The two are priced and disclosed separately, because swapping the model underneath a job changes what it costs and what it is capable of.

Job receipt · example · model named per lineSettled
Morning competitor scanMon 06:00 · open-weight model via metered gateway
38,210 tok
$0.04
Inbox triage and three draftsMon 07:15 · open-weight model via metered gateway
61,904 tok
$0.07
Refactor the billing importerTue 14:02 · Claude Code · billed on your own Anthropic key
212,870 tok
$0.00
Example lines, not a real monthModel named on every line
Served through the gateway

ZeroClaw Agent, DeepSeek Harness and Desktop Agent run on open-weight models served through the metered gateway and need no key. Their work draws on your plan credits; stronger models draw more.

Key or proxy

OpenClaw Agent, OpenClaw Browser, Hermes Agent and Flue Agent accept an OPENAI_API_KEY on the account, or fall back to the metered proxy. Jobs on a customer key are billed by that vendor, not here, and do not use your credits.

Bring your own, required

Claude Code requires a customer-supplied ANTHROPIC_API_KEY and has no proxy fallback, because its model is not open-weight and is not resold here. Your monthly statement still names the model for the audit trail.

Model names change as upstream releases move. The receipt records the model that actually ran the job at the time it ran, so an old receipt stays accurate after a default changes.

How to request source

Four steps, no account review, no reason required.

01 / Find the revision

Read it off the dashboard

The machine page prints the running revision of the server package and the pinned image tag of the runtime. Copy both. A request without a revision is answered with the current one.

02 / Send the request

Email source at the company address

State the revision and whether the AGPL server package, the Apache 2.0 root, or both are wanted. No form, no account manager, and no requirement to be a paying customer if the code was served to you over the network.

03 / Receive the archive

A signed archive with build instructions

The reply is a download link to a signed archive containing the corresponding source, the licence and notice files, the build scripts, and the configuration needed to run the same version. Requests are answered within ten business days.

04 / Check the fork

Compare against upstream

The archive lists the upstream commits carried into the fork, so the difference between this build and the upstream repository can be produced with an ordinary diff rather than taken on trust.

Requests for the source of the AGPL server package are a licence right under section 13 and are never treated as a support request or a competitive matter.

What we changed from upstream

The fork is published, including the parts that are unflattering.

This section is a placeholder, and it is labelled as one rather than filled with vague claims. A per-release changelog of the fork against upstream is being prepared, and until it is published the honest statement is that the changes exist, they are shipped in the source archive described above, and they can be diffed today by anyone who asks for the archive.

Published nowThe complete corresponding source of the running server package, on request, including every modification made here.
Published nowThe list of upstream commits the fork carries, shipped inside the same archive.
In preparationA readable per-release changelog on this page, describing each change in prose rather than as a commit list.
In preparationA public mirror of the fork, so a diff can be run without requesting an archive first.
Known shape of the changesMulti-tenancy and container isolation, the metering and receipt layer, the standing-order scheduler, and the mail quarantine. These are additions around the runtime rather than rewrites of it.

Publishing an empty promise would be worse than publishing an empty section. When the changelog exists it will replace this text, and the date it replaced it will be shown.

Why this page exists

The licence requires the notice. The product requires the honesty.

Does hosting the code avoid the AGPL?

No, and that is the point of the AGPL. Section 13 applies precisely to the case where software is used over a network instead of distributed, which is exactly how a Second Machine container serves its user.

Why two licences in one repository?

The root is Apache 2.0 so that libraries, schemas and client code can be reused freely. The server package is AGPL v3 because it is the part that gets served over a network, and copyleft there is what keeps the hosted version inspectable.

Is the AFFiNE backend covered by these terms?

No. AFFiNE's backend is separately licensed by its authors under their own terms, and nothing here changes or extends those terms. Anyone reusing upstream code should read the upstream licences directly.

Why do some machines say "verify upstream licence"?

Because the licence on the current release of that project has not been confirmed by a person here yet. Naming a licence that turns out to be wrong would be a licensing claim made carelessly, which is worse than an honest gap in a table.

A trial, a card authorization, and a machine of your own.

Answer one question about what you do. Your machine starts on it before you finish reading the confirmation, and proposes tomorrow morning's standing order. Plans from $29 a month.

See the plans 14 days · 1,000 credits · no charge until day 15