Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 5 additions & 29 deletions docs/responsible-quantum-computing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,38 +5,14 @@ description: A review of the Responsible Quantum Principles at IBM
---
# Responsible quantum computing

Quantum technology has the potential to accelerate use cases and even solve problems that were previously inaccessible. But how will this new computing power impact society at large? This requires us to be thoughtful — we must research and develop responsibly.

Our mission statement at IBM® is to be “the catalyst to make the world work better,” and IBM Quantum® runs a Responsible Quantum Initiative to ensure that our development is in line with that mission.
IBM® is committed to empowering clients and partners to meet their customers' expectations for responsible technology. As part of the IBM technology portfolio, quantum computing now falls under the [IBM Responsible Technology and Governance Framework](https://www.ibm.com/trust/responsible-technology), which applies a foundation for building responsible technology, evaluating the capabilities of technology and its impact on human agency, societal well-being, and environmental sustainability.

We define Responsible Quantum Computing as quantum computing that’s aware of its effects. As part of this effort, we crafted five Responsible Quantum Principles for developing and deploying quantum technology that our team follows internally.
Since first putting a quantum computer on the cloud, IBM has been committed to bringing useful quantum computing to the world. This means realizing use cases with our clients and building an ecosystem around this technology. Core to this mission is trust. We devote substantial effort to the responsible development and deployment of quantum. This includes decision making aligned with the IBM principles of trust plus a [code of conduct](/docs/guides/code-of-conduct) that governs the open-source Qiskit community.

### Make a positive societal impact
Previously, we published five principles detailing our commitment to responsible quantum: 1. make a positive societal impact, 2. make consistent and transparent principled decisions, 3. explore use cases with foresight, 4. promote our products accurately, and 5. build a diverse and inclusive quantum community. Since then, we've aligned quantum with the IBM Responsible Technology team to ensure that their principles and processes incorporate our philosophy.

We are developing a new form of technology. We are doing so because IBM is the catalyst to make the world work better. Therefore, quantum computing, too, should make the world work better by prioritizing use cases that make a positive societal impact.
Responsible technology is not aspirational but embedded and actionable across quantum and the broader company, and reinforces IBM's core values of client dedication, innovation that matters, and trust. We endeavor for quantum to shape human agency, societal well-being, and improve environmental sustainability. We continue to extend quantum to the world through our access plans, the Qiskit open source community, and our world-leading free education.

### Explore use cases with foresight
Bringing useful quantum computing to the world means doing so responsibly—and we feel confident that the IBM Responsible Technology board and Principles of Trust allow us to achieve that goal. For more information, please review [IBM's approach to responsible technology](https://www.ibm.com/trust/responsible-technology).

Developing a new technology means we may unlock use cases or algorithms that never existed before. We must be prepared for unintended impacts to use cases that seem positive.

### Promote our products accurately

As innovators, it is our responsibility to ensure that the world is aware of quantum’s promise, its limitations, and the expected development timeline.

### Make consistent principled decisions

It is the responsibility of IBM Quantum employees and IBM Quantum leadership alike to uphold these principles. Where decisions come in conflict with these principles, it is the responsibility of leadership to make decisions consistently.

### Build a diverse and inclusive quantum community

IBM Quantum is building a global quantum computing ecosystem. It is our responsibility to create an ecosystem that represents the diversity of the world at large, and be inclusive of people of all backgrounds, experiences, and abilities.

For more details, see the section on Responsible Use of IBM Quantum technology and services in the [Qiskit Runtime Service Description](https://www.ibm.com/support/customer/csol/terms/?id=i126-9425), as well as the section on Acceptable Use Terms in the [Cloud Services Agreement](https://www.ibm.com/support/customer/csol/terms/?id=Z126-6304), both on the IBM Terms site.

Finally, as part of our responsible quantum effort, we are committed to fostering a welcoming community of users, both online and at in-person engagements. Please familiarize yourself with the [Qiskit Code of Conduct](/docs/guides/code-of-conduct) and its [enforcement procedures](/docs/guides/code-of-conduct#responsibilities-enforcement).

<Admonition type="tip" title="Learn more">
- [IBM Quantum Safe](https://www.ibm.com/quantum/quantum-safe)
- [Blog: The era of quantum utility must also be the era of responsible quantum computing](https://www.ibm.com/quantum/blog/responsible-quantum)
- [Topic: Responsible Technology (IBM Research)](https://research.ibm.com/topics/responsible-technology)
</Admonition>
35 changes: 20 additions & 15 deletions scripts/pr-previews/builder.py
Copy link
Copy Markdown
Member

@abdonrd abdonrd May 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR preview build was failing because scripts/pr-previews/builder.py drops _toc.json and index.* files from any section that has no changed files in this PR.

The copytree ignore filter adds the entire subdirectory (e.g. docs/guides, learning/courses/*) to the ignore list when nothing inside it changed, so copytree never descends into it, and the rules meant to always preserve _toc.json and index.* never get a chance to run. With no _toc.json files copied, the Next.js app's /api/toc/[[...tocPath]] route can't generate static params during output: export, producing the misleading error:

Page "/api/toc/[[...tocPath]]" is missing "generateStaticParams()"

This only surfaces when a PR's only changes are in files at the root of docs/ (like responsible-quantum-computing.mdx), which is why other PRs build fine.

Fix: copy all _toc.json and index.* files explicitly after the copytree pass, alongside the existing hardcoded list. The ignore filter is simplified since those special cases are no longer needed there.

Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,25 @@ def _copy_local_content(root_dir: Path, changed_files: set[str]) -> None:
)
shutil.copytree(dir, dest, ignore=copytree_ignore)

for fp in [
# The Next.js app requires these files to be present even when no PR change
# touches their directory, otherwise routes like `/api/toc/[[...tocPath]]`
# fail to generate static params. The copytree pass above can drop them
# whenever the parent directory has no changed files.
always_copy = [
"docs/responsible-quantum-computing.mdx",
"docs/accessibility.mdx",
]:
shutil.copy2(fp, root_dir / f"content/{fp}")
]
for content_dir in ("docs", "learning"):
for pattern in ("**/_toc.json", "**/index.mdx", "**/index.ipynb"):
for fp in Path(content_dir).glob(pattern):
if "api" in fp.parts:
continue
always_copy.append(str(fp))

for fp in always_copy:
dest = root_dir / f"content/{fp}"
dest.parent.mkdir(parents=True, exist_ok=True)
shutil.copy2(fp, dest)

logger.info("local content files copied")

Expand Down Expand Up @@ -176,18 +190,9 @@ def _ignore_unchanged_files(
if full_path.startswith("public"):
continue

# We also need to copy over `_toc.json` used by any changed files.
# Copytree should only reach these files if a sibling or child of
# the current directory contains a changed file.
if entry == "_toc.json":
continue

# We also need to copy over the index files because the app doesn't
# build without them
if entry.startswith("index."):
continue

# Finally, include files that were directly changed.
# Include files that were directly changed. `_toc.json` and `index.*`
# files required by the Next.js build are copied explicitly in
# `_copy_local_content`, so we don't need a special case here.
if any(file.startswith(full_path) for file in changed_files):
continue

Expand Down
Loading