Skip to content
ONE3.ai

Platform · Engines & Licensing

Built on open-source engines, with licence rules written down first

One3 is designed to embed proven open-source engines instead of rebuilding them, but only under licences that allow commercial SaaS, self-hosting and your own branding without a paid edition.

Why licences are a product decision

Open source is not "free of rules". Every project is copyrighted software, and the author hands out a licence: a conditional permission. For a multi-tenant, white-labelled SaaS hosted in India, four questions matter at once:

  1. Can we use it commercially?
  2. Can we run it as a hosted service for paying tenants?
  3. Can we keep One3's own code closed?
  4. Can we remove the project's branding and show the tenant's brand instead?

A licence answers the first three. Trademark policy answers the fourth. One3's plan checks both for every engine.

The founder's decision is open-source engines only, under licences that permit commercial SaaS, self-hosting and white-labelling without source disclosure or a paid edition. One3 does not rewrite what a well-maintained permissive engine already does. It also does not adopt an engine whose rebranding, service use or redistribution depends on buying a licence.

The evaluation in plan numbers

open-source candidates evaluated
100
licences read from a primary source
99
verdicts of adopt, adopt-candidate or adopt-as-alternative
54
rejected for customer-facing use
33
written decision rules (DR-1 to DR-10)
10

The four licence buckets and One3's position

Licence classExamplesOne3 position
PermissiveMIT, BSD-2/3-Clause, ISC, Apache-2.0Default choice. Keep the notice and licence text. Do not use the project's trademarks in tenant-facing branding. Apache-2.0 is preferred where there is patent surface.
Weak / file-level copyleftMPL-2.0, LGPL, EPL-2.0Allowed. MPL files are used unmodified; any change lives in a public fork. LGPL components stay replaceable through dynamic linking or a separate service. One3's own code stays closed.
Strong / network copyleftGPL-2.0, GPL-3.0, AGPL-3.0Not in the product stack. Only as an isolated, separately deployed service with no linking and counsel sign-off, or under a purchased commercial licence. No AGPL component is in the recommended stack.
Source-available / non-OSIBSL/BUSL, SSPL, Elastic License 2.0, Sustainable Use, Functional Source, Commons ClauseRejected for anything customer-facing, because these licences restrict offering the software as a service.
Forced brandingAny engine with a forced logo, watermark or paid white-label rightsRejected, or treated as a paid component and priced before adoption.

The decision rules

Ten rules bind every Capability Brief that proposes an embedded engine. These are the core of them.

Default to permissive or MPL-2.0

MIT, BSD, ISC, Apache-2.0, MPL-2.0, PostgreSQL, 0BSD and CC0 components may be adopted without legal review, subject to the obligations checklist.

MPL-2.0 used unmodified

If an MPL-2.0 file must change, the change lives in a public fork and the fork URL goes on the attributions page. No private patches in the monorepo.

GPL and AGPL only under strict conditions

Either a fully isolated, unmodified separate service with counsel sign-off, or a purchased commercial licence. There is no third option.

Never source-available for customer-facing use

Anything a tenant can see or use, or that runs in the tenant's data path, never uses BSL, SSPL, ELv2, Sustainable Use, FSL or Commons Clause terms.

Branding must be replaceable

No forced logo, watermark, splash or "powered by" badge, and no use of the project's mark in One3 naming.

A Fact Register row for every engine

Version, licence, source URL, access date, integration shape, obligations, owner and re-check date. No engine ships without its row.

Maintenance is a licence-adjacent risk

A component with no release in 18 months (an estimate to confirm) needs fork ownership or a narrow, format-stable surface.

Every engine is replaceable

Each engine sits behind a One3 interface, so a relicensing can be handled by swapping the implementation without touching business logic.

Copyleft never shares a process or schema

Copyleft components get their own process and their own store or schema. One3 reads them through their API.

How an engine is decided

Every candidate goes through the same flow before it can enter the product.

  1. 1

    Check for a source-available licence

    If it is non-OSI source-available and customer-facing, it is rejected. An internal developer tool goes to a separate ADR review.

  2. 2

    Check for GPL or AGPL

    If it can run as a fully isolated, unmodified separate service, it is adopted only after counsel signs off. If not, a commercial licence must be available and affordable, or it is rejected.

  3. 3

    Check for LGPL

    Server-side only and not distributed: adopted. Inside a shipped desktop or mobile client: legal review for the relinking obligation.

  4. 4

    Check for MPL-2.0 or EPL-2.0

    Adopted when used unmodified. Any modification goes to a public fork.

  5. 5

    Check branding on permissive engines

    If branding can be replaced, the engine is adopted with the checklist and a Fact Register row. If not, it is treated as a paid component and priced first.

Engines adopted for the Office app

Office moduleAdopted enginesHow they run
DriveApache OpenDAL, SeaweedFS, ClamAV, qpdfOpenDAL as a library; SeaweedFS as a separate service; ClamAV as its own daemon, never linked and never shipped in a client
DocsTipTap core and open extensions, Yjs, Hocuspocus; Collabora Online for imported-file fidelity; Gotenberg for rendering; Pandoc for structured conversionTipTap and Yjs as libraries; Hocuspocus and Collabora as separate services; Pandoc as a separate process
SheetsUniver Apache-2.0 core, Yjs and Hocuspocus, SheetJS CE, ExcelJS; Collabora for full-fidelity .xlsxLibraries, with Collabora as a separate service; SheetJS pinned from its official CDN
SlidesReveal.js, PptxGenJS; Collabora for imported fidelityLibraries, with Collabora as a separate service
Calendar & Bookingical.js, ical-generator, FullCalendar MIT coreLibraries; ical.js used unmodified
MeetLiveKit; faster-whisper and whisper.cpp; FFmpeg LGPL-only buildLiveKit and whisper as separate services; FFmpeg as a separate process with its build flags asserted in CI
Signpdf.js, qpdf, pdf-lib, Apache PDFBox, plus a CCA-empanelled eSign provider for Aadhaar eSignLibraries and one optional JVM sidecar; no copyleft in this path by design
Search / eDiscoveryOpenSearchSeparate service
Sandbox / add-onsQuickJS-ng, isolated-vm, gVisor or FirecrackerLibrary, then OS-level sandbox
OCR / viewersTesseract, PaddleOCR, pdf.jsSeparate AI service; model weights get their own Fact Register rows
Desktop sync clientrclone plus One3's own server sync APINo GPL or LGPL component may be linked into a downloadable client

Mail and Chats use no engine in Year 1

Mail in Year 1 is planned as a connected integration over the Gmail and Microsoft Graph APIs under tenant consent. The plan's reasoning is that the real cost of hosting mail is deliverability and sender reputation, not code. A native self-hosted option is considered only after W3. Chats is built on One3's own realtime gateway.

Adopted engines beyond Office

The same rules apply to design, video, BI and automation.

Whiteboard and canvas

Excalidraw for the whiteboard and diagram surface, Fabric.js for canvas-object editing and Konva as the canvas rendering layer.

Video rendering

An LGPL-only FFmpeg pipeline with a One3 composition layer above it is the default renderer.

Metrics and charts

Cube as the semantic and metrics layer, and Apache ECharts as the charting library for One3-built dashboards.

Durable workflows

Temporal for long-running Actions, sagas and compensation.

Forms runtime

The MIT survey-core runtime. One3 builds its own form designer on top of it.

The complete copyleft inventory

ComponentLicenceHow it runsWhy it is defensible
Collabora OnlineMPL-2.0Separate serviceFile-level copyleft, no network trigger, used unmodified
PandocGPL-2.0-or-laterSeparate process (CLI)GPL has no network trigger; not conveyed; not linked
ClamAVGPL-2.0Separate daemonSame as Pandoc
FFmpeg (LGPL-only build)LGPL-2.1+Separate processLGPL on the server, nothing distributed
ical.jsMPL-2.0Library, unmodifiedFile-level copyleft; no modification

The four artefacts CI must produce

Licence obligations are planned as build outputs, not as a manual review.

  1. 1

    Third-party notices file

    Generated from the dependency manifest and from container image contents, and shipped in every build and image.

  2. 2

    In-product attributions page

    At Settings → About → Open-source licences, styled in the tenant's own chrome, reachable but never a banner.

  3. 3

    Public modifications index

    Lists every fork URL where One3 carries changes to MPL, LGPL or GPL files. Empty is the goal.

  4. 4

    Build-flag assertion suite

    FFmpeg has no GPL or non-free flags, no GPL binary appears in any client build, SheetJS resolves to the official CDN, and no source-available package appears anywhere in the dependency tree.

Licences change, so every row has a re-check date

Several well-known projects have moved from permissive licences to source-available or AGPL terms in recent years, and some have moved back. That is why every engine sits behind a replaceable interface and every Fact Register row has a re-check date: the next major upgrade or 12 months, whichever comes first. Open questions on GPL boundaries, LGPL in shipped clients, trademarks, patents and indemnities are listed for Indian counsel to answer before W3. This page describes the plan's approach and is not legal advice; verify with counsel.

Questions about open source in One3

Will my One3 workspace show other projects' logos?

It is not designed to. Before adoption, each engine is checked for forced logos, watermarks, splash screens and "powered by" strings. Attribution lives on an about and licences page, not in the product chrome.

Does One3 use AGPL software?

No AGPL component is in the recommended product stack. For every AGPL candidate evaluated, either a permissive or weak-copyleft alternative existed, or the capability was One3 product logic to build anyway.

Does using open-source engines add licence fees?

The plan's Office engine decisions carry no licence fee. Four previously considered commercial engine tiers were removed. The cost is replaced by obligations: notice files, a licence check in CI and Fact Register re-checks.

What happens if an engine changes its licence?

Each engine sits behind a One3 interface, so the plan treats a relicensing as an operational task: swap the implementation without touching business logic. Licences are re-read on every major version bump.

What does One3 still build itself?

The parts that make it One3: binding every file, thread and meeting to business records, the governed Action layer, accountable Digital Employees, the Investment & ROI Ledger, India-first compliance, multi-tenancy and white-label, and the replaceability layer.

Is this legal advice for my own use of these engines?

No. It describes One3's internal rules. Licence terms can change and their meaning depends on how software is used, so verify your own position with counsel.

Ask about One3's engine and licence choices

Talk to us about how One3 plans to use open-source engines, keep your brand in front, and document every licence obligation.

Contact us