ResearchOS/Wiki

Open source and license

Closed software asks you to trust a promise. Open software lets you trust the source. ResearchOS is licensed under AGPLv3, which means a lab can read the whole codebase, fork it, and run its own copy.

What AGPLv3 gives a lab

ResearchOS is released under the GNU Affero General Public License, version 3 (AGPLv3). In plain terms, that license gives every lab three durable rights.

  • Read it. The entire codebase is public. Nothing about how ResearchOS stores your data, computes a melting temperature, or talks to the network is hidden behind a binary.
  • Fork it. You can take the code, change it, and build the version your lab needs. You're not waiting on a vendor's roadmap.
  • Self-host it. You can run your own copy on your own infrastructure. If the hosted version ever disappeared, the project could not be taken away from the labs already running it.

The copyleft nature of AGPLv3 also means those rights travel forward. Anyone who distributes a modified version, including over a network, has to offer the same freedoms to their users. The openness isn't a one-time gift, it's a property the license keeps enforcing.

Crediting the work we build on

ResearchOS doesn't exist in a vacuum. It's built on top of a large body of open-source software and published science, and the project takes the obligation to credit that work seriously, both as a matter of courtesy and as a matter of license.

The public Built on open source page opens with a sincere thank-you to the open-source and scientific community, then credits the specific projects ResearchOS depends on. It features a couple of recently added projects up top (right now expr-eval-fork and the Biopython melting-temperature port), groups the highlights by area, calls out the code vendored directly (such as SeqViz, the TeselaGen tg-oss components, and the Biopython melting-temperature port), names the scientific references behind the calculators, and includes the full auto-generated dependency list. The route lives at frontend/src/app/open-source/page.tsx and pulls its facts from a file generated off the installed dependency tree, so the versions and licenses are never hand-guessed.

The attribution we owe

Many open-source licenses require attribution as a condition of use. MIT and BSD code must carry its copyright notice, and Apache-2.0 code requires a NOTICE. ResearchOS satisfies those requirements in the THIRD_PARTY_NOTICES file at the repository root, which lists every third-party package it ships and the license each is distributed under. That file is generated from the dependency tree by a committed script, not maintained by hand, so it stays honest as dependencies change.