Skip to content

docs(readme): lead with positioning, not feature description#7526

Merged
JohnMcLear merged 1 commit intoether:developfrom
JohnMcLear:docs/positioning-readme
Apr 17, 2026
Merged

docs(readme): lead with positioning, not feature description#7526
JohnMcLear merged 1 commit intoether:developfrom
JohnMcLear:docs/positioning-readme

Conversation

@JohnMcLear
Copy link
Copy Markdown
Member

Summary

Rewrites the top of the README to lead with what Etherpad is for rather than a feature description. No code, build, or behaviour changes — README only.

Three logical changes:

  1. Title + About section. The current opening is generic enough that any of a dozen real-time editors could use the same line. Replaced with positioning copy that names the three pillars Etherpad is differentiated on:

    • Authorship — every keystroke attributed; timeslider + author colours as default UX, not hidden in a menu.
    • Sovereignty — runs on your server, no telemetry, no upsells, full data export, Apache 2.0.
    • Opt-in AI — AI is a plugin you install, pointed at the model and provider you choose, on infrastructure you control. Not a feature decided for you.
  2. Project Status. The current single line undersells both the project's track record and the maintainer ask. Rewritten to (a) state the 16-year stability story and (b) make the maintainer recruitment ask specific and actionable. Funding mention removed for now per maintainer guidance.

  3. New "Who uses Etherpad" section. Currently the README has no proof points — institutional evaluators have to leave the README to find adopter info. Added a short categorical list (Wikimedia, EU public sector, schools, civic-tech, newsrooms, self-hosters) with a pointer to the existing Sites-That-Run-Etherpad wiki for organisations who want to be listed by name.

Why now

This is part of a broader positioning exercise to give Etherpad a clearer story for institutional adopters facing new mandates around digital sovereignty and AI provenance. The README is the highest-leverage surface for that story — most evaluators land here first.

What this PR does not change

Deliberately scoped small. Not touched:

  • Installation, Docker, Plugins, Settings, Security, Skin Variants, Development, HTTP API, jQuery plugin, Translations, FAQ, Get in touch, License sections — all kept as-is.
  • No code, build config, dependency, or test changes.
  • No badge or CI changes.

Follow-up positioning work (etherpad.org website edits, manifesto/about page, comparison page) is being tracked separately.

Test plan

  • Render README on the PR diff view — confirm formatting is correct.
  • Confirm the "Who uses Etherpad" list reads accurately to maintainers familiar with the actual deployment landscape — soften any phrasing if needed before merge.
  • Visual check of the new tagline + heading at the top of the rendered README.

🤖 Generated with Claude Code

- Rewrite title + About to lead with what Etherpad is for
  (authorship, sovereignty, malleability) before features
- Rewrite Project Status to make the maintainer ask specific and
  to situate the project's 16-year track record
- Add new "Who uses Etherpad" section with categorical adopter
  profiles so institutional evaluators have proof points on-page

No code or behaviour changes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@qodo-free-for-open-source-projects
Copy link
Copy Markdown

Review Summary by Qodo

Reposition README to lead with positioning and institutional proof points

📝 Documentation

Grey Divider

Walkthroughs

Description
• Repositions README to lead with Etherpad's core differentiators (authorship, sovereignty, AI
  control) rather than generic feature description
• Rewrites Project Status section to highlight 16-year stability and make maintainer recruitment
  specific and actionable
• Adds new "Who uses Etherpad" section with categorical adopter profiles (Wikimedia, public sector,
  education, civic-tech, newsrooms, self-hosters) to provide institutional proof points
• No code, build, or behaviour changes — README documentation only
Diagram
flowchart LR
  A["Old README<br/>Generic feature description"] -->|"Lead with<br/>differentiators"| B["New Title & About<br/>Authorship, Sovereignty, AI control"]
  A -->|"Strengthen<br/>project narrative"| C["Updated Project Status<br/>16-year stability + maintainer ask"]
  A -->|"Add institutional<br/>proof points"| D["New Who Uses Section<br/>Categorical adopter list"]
  B --> E["Institutional evaluators<br/>find clear positioning"]
  C --> E
  D --> E
Loading

Grey Divider

File Changes

1. README.md 📝 Documentation +28/-7

Reposition README with institutional positioning and proof points

• Rewrote title from generic "real-time collaborative editor" to "the editor for documents that
 matter" with positioning tagline emphasizing authorship, sovereignty, and AI control
• Expanded About section to lead with three core differentiators: keystroke attribution with visible
 author colours, server sovereignty with no telemetry, and opt-in AI as a plugin
• Rewrote Project Status to highlight 16-year stability narrative and make maintainer recruitment
 specific with actionable contact methods
• Added new "Who uses Etherpad" section with six categorical adopter profiles (Wikimedia, EU public
 sector, education, civic-tech, newsrooms, self-hosters) and link to wiki for additional listings

README.md


Grey Divider

Qodo Logo

@qodo-free-for-open-source-projects
Copy link
Copy Markdown

qodo-free-for-open-source-projects bot commented Apr 16, 2026

Code Review by Qodo

🐞 Bugs (1)   📘 Rule violations (1)   📎 Requirement gaps (0)
🐞\ ≡ Correctness (1)
📘\ ⛨ Security (1)

Grey Divider


Action required

1. http://scale.etherpad.org/ link added 📘
Description
The README introduces a hard-coded protocol-specific URL (http://scale.etherpad.org/), which
violates the requirement to use protocol-independent URLs where applicable. This can reduce
compatibility across HTTP/HTTPS deployments and may encourage insecure HTTP usage.
Code

README.md[15]

+The code is Apache 2.0. The data format is open. It [scales to thousands of simultaneous editors per pad](http://scale.etherpad.org/). Translated into 105 languages. Extended through hundreds of plugins. Used by Wikimedia, governments, public-sector institutions, and self-hosters worldwide since 2009.
Evidence
PR Compliance ID 6 requires protocol-independent URLs rather than hard-coded http:///https://.
The added README line includes http://scale.etherpad.org/.

README.md[15-15]
Best Practice: Repository guidelines

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
A protocol-specific URL (`http://...`) was added to the README, but the compliance checklist requires protocol-independent URLs where applicable.

## Issue Context
This is in the README copy where the scalability link is referenced.

## Fix Focus Areas
- README.md[15-15]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Misleading telemetry statement 🐞
Description
README now claims "No telemetry" even though Etherpad logs client IP addresses by default unless IP
logging is explicitly disabled, which can mislead privacy-sensitive evaluators. This is especially
risky given the surrounding positioning copy about sovereignty/governance.
Code

README.md[13]

+Etherpad runs on your server, under your governance. No telemetry. No upsells. AI is a plugin you install, pointed at the model you choose, running on infrastructure you control — not a feature decided for you in a boardroom you weren't in.
Evidence
The README’s new "No telemetry" statement conflicts with documented defaults and runtime logging:
the default config has disableIPlogging set to false, Docker docs list DISABLE_IP_LOGGING
defaulting to false, and server code logs socket.request.ip when IP logging is not disabled.

README.md[11-16]
settings.json.template[475-478]
doc/docker.md[178-184]
src/node/handler/PadMessageHandler.ts[204-209]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
README states "No telemetry" but Etherpad logs client IP addresses by default (unless `disableIPlogging`/`DISABLE_IP_LOGGING` is enabled). This makes the README privacy posture inaccurate.

## Issue Context
- Default configuration enables IP logging (`disableIPlogging: false`).
- Server access logs include `socket.request.ip` when IP logging is enabled.

## Fix Focus Areas
- README.md[11-16]

## Suggested change
Replace "No telemetry." with a statement that matches reality, e.g.:
- "No third-party telemetry." (if accurate), and/or
- "IP logging can be disabled." with a link to the relevant settings/docs.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Comment thread README.md

Etherpad runs on your server, under your governance. No telemetry. No upsells. AI is a plugin you install, pointed at the model you choose, running on infrastructure you control — not a feature decided for you in a boardroom you weren't in.

The code is Apache 2.0. The data format is open. It [scales to thousands of simultaneous editors per pad](http://scale.etherpad.org/). Translated into 105 languages. Extended through hundreds of plugins. Used by Wikimedia, governments, public-sector institutions, and self-hosters worldwide since 2009.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. http://scale.etherpad.org/ link added 📘 Rule violation ⛨ Security

The README introduces a hard-coded protocol-specific URL (http://scale.etherpad.org/), which
violates the requirement to use protocol-independent URLs where applicable. This can reduce
compatibility across HTTP/HTTPS deployments and may encourage insecure HTTP usage.
Agent Prompt
## Issue description
A protocol-specific URL (`http://...`) was added to the README, but the compliance checklist requires protocol-independent URLs where applicable.

## Issue Context
This is in the README copy where the scalability link is referenced.

## Fix Focus Areas
- README.md[15-15]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread README.md

Every keystroke is attributed to its author. Every revision is preserved. The timeslider lets you scrub through a document's entire history, character by character. Author colours make collaboration visible at a glance — not buried in a menu.

Etherpad runs on your server, under your governance. No telemetry. No upsells. AI is a plugin you install, pointed at the model you choose, running on infrastructure you control — not a feature decided for you in a boardroom you weren't in.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

2. Misleading telemetry statement 🐞 Bug ≡ Correctness

README now claims "No telemetry" even though Etherpad logs client IP addresses by default unless IP
logging is explicitly disabled, which can mislead privacy-sensitive evaluators. This is especially
risky given the surrounding positioning copy about sovereignty/governance.
Agent Prompt
## Issue description
README states "No telemetry" but Etherpad logs client IP addresses by default (unless `disableIPlogging`/`DISABLE_IP_LOGGING` is enabled). This makes the README privacy posture inaccurate.

## Issue Context
- Default configuration enables IP logging (`disableIPlogging: false`).
- Server access logs include `socket.request.ip` when IP logging is enabled.

## Fix Focus Areas
- README.md[11-16]

## Suggested change
Replace "No telemetry." with a statement that matches reality, e.g.:
- "No third-party telemetry." (if accurate), and/or
- "IP logging can be disabled." with a link to the relevant settings/docs.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@SamTV12345
Copy link
Copy Markdown
Member

I like the new readme. It is much clearer and more concise. Do we have more recent data. I am not sure if all of them in the list still use etherpad. We created this scanner back then maybe there is more up to date information.

@JohnMcLear JohnMcLear merged commit 706dd4b into ether:develop Apr 17, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants