Skip to content

RFC86: Relicense cBioPortal from AGPL to Apache 2.0 [Epic] #8

Description

@jjgao

Overview

This epic tracks the full relicensing of cBioPortal from AGPL to Apache 2.0 as proposed in RFC86.

Why

  • NCI ITCR and CZI funder requirements mandate permissive licenses
  • AGPL's perceived "viral" nature has blocked adoption by pharma, biotech, and tech companies
  • Apache 2.0 provides explicit patent grants required by many corporate legal teams

Why Apache 2.0 over MIT

Apache 2.0 is chosen over MIT because it includes an explicit patent grant + retaliation clause — critical for corporate/industry adoption (same choice made by Kubernetes, etc.). MIT is silent on patents.


Deadline: 2026-09-30

This is aggressive relative to precedent — mpv's comparable GPL→LGPL relicensing (mpv-player/mpv#2033) took 4+ years on a smaller codebase. Hitting it requires running phases in parallel rather than strictly serially. Backward-planned schedule:

Track Window Notes
Phase 0 (#1) Jul 10–17 Fast — scope largely already known
Phase 1 (#2) Jul 10–28 Starts in parallel with Phase 0 on known components
Phase 2 (#3) — Team lead consent launched Jul 31, deadline Aug 31 Team-lead sign-off via cbioportal#12282, runs in parallel with Phase 3 tail
Phase 2 (#3) — Individual outreach launched Jul 28, deadline Sep 20 Runs in parallel with Phase 3; closes when notice period ends
Phase 3 (#4) Aug 21 – Sep 20 Fixed 30 days, runs in parallel with Phase 2
Sign-off Gate (#5) Sep 20–23 Fast if the record is assembled continuously through Phases 1–3
Phase 4 (#6) Sep 23–30 Fast if header scripts are dry-run tested during Phase 1

Critical path risk: Phase 3's fixed 30-day window (Aug 21 – Sep 20) gates the switch commit. Phase 2 individual outreach runs in parallel and closes Sep 20; team lead consent (deadline Aug 31) provides additional coverage before the notice period ends.

Scope: "cBioPortal" is not a single code boundary

The released product spans multiple separately-governed components, so the relicense scope must be defined before the audit and outreach begin (it sets the denominator for both):

  • This repo is backend only (per README.md); the frontend lives in cBioPortal/cbioportal-frontend, which is itself AGPL-3.0-or-later.
  • pom.xml pins and bundles the frontend via <frontend.version> (currently v7.0.0-rc.1).
  • Docker images / cbioportal-docker-compose, docs & site assets, generated API docs, sample/test data, database scripts, and legacy web assets may each carry separate source/licensing/notice questions.

Implication for Phases 1–2: the SBOM (Phase 1) and the contributor-consent denominator (Phase 2's "≥95% by volume") must span every in-scope repo/component, not just this one. Per-component relicensing also does not by itself resolve the combined-work question: a Docker image that bundles an Apache backend with an AGPL frontend is still, as distributed, AGPL (incl. §13 network-use obligations). The sign-off gate (#5) must therefore assert an effective license for the combined/served distribution, not only per-artifact licenses.

Phases

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions