La historia del webmail Roundcube

Mascote do LinuxPro tocando uma mensagem na caixa de entrada do webmail aberta no navegador

Roundcube nació como un proyecto personal en Suiza, en julio de 2005: un webmail IMAP en PHP que usaba Ajax de verdad, no un formulario CGI. La primera estable salió en 4 de marzo de 2008. La 1.0, en 7 de abril de 2014. En 10 de mayo de 2026 llegó la 1.7. En 6 de septiembre de 2026 — el día en que se publicó este texto — salieron los parches 1.7.4 e 1.6.19. Es el webmail que cPanel puso en lugar de SquirrelMail, que ISPConfig empaqueta y que Nextcloud adoptó en 2023.

Un side-project en 2005

Thomas Bruederli, ingeniero suizo, estaba cansado del webmail de la época: texto formateado, recarga a cada clic, aspecto de 1999. El navegador ya hacía XMLHttpRequest. Quería un cliente IMAP que pareciera una aplicación — arrastrar mensajes, direcciones que se autocompletan al escribir, HTML de verdad — ejecutándose en cualquier LAMP.

En 17 de junio de 2005 el sitio ya mostraba capturas de pantalla de la alpha. En 21 de julio de 2005 salió la 0.1-alpha en SourceForge: “es solo desarrollo y probablemente bastante inestable”. En 7 de octubre, SQLite, PostgreSQL y las primeras traducciones (francés, italiano, español, danés, holandés). En 19 de febrero de 2006, la 0.1-beta. Dos años de nightly. Sin hoja de ruta corporativa. “Sucedió de forma natural”, dijo Thomas en 2023, en la entrevista con Nextcloud.

0.1-stable: 4 de marzo de 2008

El anuncio oficial: después de más de dos años, la primera versión considerada apta para producción. Todavía no era el webmail de los sueños — el propio texto lo admite. El compositor HTML en TinyMCE venía activado, pero experimental. Y era la última versión con PHP 4: el proyecto GoPHP5 exigía PHP 5, y Roundcube obedeció a partir de la 0.2.

En 9 de junio de 2008 la 0.2-alpha ya incluía saneamiento DOM del HTML (el XSS de mensajes es el fantasma de todo webmail) y abandonaba PHP 4. En 30 de diciembre, la 0.2-stable: script de actualización, unos 80 bugs. A partir de ahí la serie 0.x avanzó un año sí, un año no — 0.3 (sep/2009), 0.4 (ago/2010), 0.5 (ene/2011) — hasta la 0.9 en abril de 2013, ya con Roundcube Framework separado y PDO en lugar de PEAR:MDB2.

Qué hace el cubo

Arquitectura aburrida, a propósito. Apache/nginx + PHP. IMAP para leer, SMTP para enviar. MySQL, PostgreSQL o SQLite para sesión, contactos y preferencias. Sin servidor de correo propio: Roundcube es la cara, no el Postfix. Interfaz en XHTML/CSS, skins, plugins. GPL-3.0-or-later, con excepción para skins y plugins de terceros.

Ajax era el mensaje de 2005: la lista de mensajes no recarga la página entera, la dirección se autocompleta, el adjunto se sube con arrastrar y soltar (esto llegó después, en la 0.9). Más de 70 idiomas. vCard, LDAP, carpetas compartidas con ACL, identidades, PGP mediante Mailvelope, OAuth. En 2009 dos desarrolladores del núcleo citaron la Universidad de Michigan con más de 70 mil cuentas — el despliegue más grande que conocían.

1.0, ocho años después

En 7 de abril de 2014 Thomas anunció la 1.0.0 en la lista: “después de más de ocho años desde la publicación inicial, nos sentimos seguros para llamarla one-dot-oh”. Configuración en un solo archivo, importación de mensajes, LDAP avanzado, borrador en localStorage, respuestas preparadas, teclado en la lista, recordatorio de adjunto. Nacía el repositorio de plugins. La cerveza del anuncio era literal.

cPanel — y, con él, HostGator, OVH, Gandi y una generación de paneles de hosting — adoptó Roundcube en lugar de SquirrelMail. En el Linux de servidor, el cubo se convirtió en el webmail por defecto de quien no quería Horde ni Zimbra. El ISPConfig en Debian empaqueta el mismo cliente; el curso de correo con Postfix es el suelo que pisa.

Roundcube Next: el crowdfunding que no llegó

El 3 de mayo de 2015, Roundcube y Kolab Systems AG anunciaron una reescritura: calendario, chat, archivos, WebRTC, conectores Dropbox/ownCloud. La campaña pedía $ 80 mil dólares. El 24 de junio se alcanzó la meta; el total fue $ 103.541 dólares. En 2016 el desarrollo se detuvo. Patrocinadores sin actualización, sin reembolso. Phoronix cubrió el retraso en 2016 y el cadáver en 2018. En un issue de GitHub, un desarrollador de Roundcube dijo que el proyecto no tenía ownership de la campaña Next — a pesar del nombre y de la página. El 1.x clásico, PHP e IMAP, es lo que sobrevivió.

Aleksander Machniak (Alec), de Kolab, firma las versiones de 2026. Thomas fue desapareciendo a medida que nacían los hijos: “el tiempo fuera del trabajo cambió de bando”.”

Elastic, el cubo en el bolsillo

La 1.4.0 salió el 9 de noviembre de 2019. Tras más de dos años de trabajo de Alec y voluntarios, el skin Elastic — LESS, responsivo, móvil — se convirtió en el predeterminado. Rebote de correos, Mailvelope mejorado, Redis/Memcached, SMTPUTF8, GSSAPI. El anuncio pedía personalizar los colores de Elastic: un webmail con aspecto de Gmail genérico es una invitación al phishing.

La 1.6.0 (28 de julio de 2022) limpió el código y adoptó PHP 8.1, dejando PHP < 7.3. La 1.5.x murió por falta de soporte. La 1.6 se convirtió en LTS cuando nació la 1.7.

Nextcloud, 29 de noviembre de 2023

Thomas buscó a Frank Karlitschek. “Fue el primer nombre que me vino a la cabeza”. Nextcloud se convirtió en steward: contratar gente, foro propio, el cubo sigue siendo un producto independiente — no sustituye a Nextcloud Mail, no se convierte en un plugin obligatorio. La ideología es la misma: self-host, tu IMAP, sin Gmail de por medio. Harvard, Cambridge y la Comisión Europea aparecen en el anuncio de Nextcloud como usuarios; el cubo ya estaba en paneles de hosting y en NAS Synology mucho antes de la unión.

1.7 y el precio del HTML

La 1.7.0 (10 de mayo de 2026) exigió PHP ≥ 8.1, mató Internet Explorer, SQL Server y Oracle, e hizo obligatorio el document root en public_html/ — los estáticos pasan por static.php. Markdown en la composición, búsqueda avanzada, menú rápido en la lista, OAuth2/OIDC de verdad (discovery, logout).

Un webmail que renderiza HTML de desconocidos es superficie de XSS. En 2023 el grupo Winter Vivern (TA473) explotó XSS en Roundcube contra gobiernos europeos: bastaba con abrir el correo. El APT28 ruso usó la misma clase contra servidores ucranianos. En febrero de 2026 la CISA avisó de explotación activa; los parches fueron 1.6.13 y 1.5.13. El 6 de septiembre de 2026 salieron 1.6.19 y 1.7.4 (CSS smuggling, inyección de cabeceras, XSS en TNEF/editor). No es drama de marketing: es el oficio. Quien deja 1.5.x en producción está fuera de soporte.

En Linux, hoy

Debian/Ubuntu todavía empaquetan roundcube — suele ir por detrás de upstream. El camino de quien manda en el servidor es el tarball de roundcube.net/download o la imagen Docker oficial, apuntando el host virtual a public_html/ en 1.7. IMAP y SMTP ya existentes (Dovecot + Postfix, el combo de ISPConfig). Base de datos aparte. Plugin solo del repositorio o del GitHub del proyecto — el cementerio de plugins 2012 es el otro XSS.

# conferir o que o painel instalou
dpkg -l 'roundcube*' 2>/dev/null
# a série que ainda recebe patch em setembro de 2026: 1.6 LTS e 1.7

Subir versión: copia de seguridad de config/config.inc.php y de la base de datos, leer el UPGRADING de la etiqueta, no saltarse la 1.7 sin probar el nuevo document root.

Cierre

Un suizo, un alpha de 2005, un cubo isométrico. El Next de 2015 no llegó. El 1.x llegó, el Elastic llegó, el Nextcloud llegó, el parche de September de 2026 llegó. El mensaje no ha cambiado: el correo sigue siendo IMAP en tu máquina, y la cara en el navegador aún puede ser software libre.

Sitio: roundcube.net · código: github.com/roundcube/roundcubemail · 1.7.4: releases/tag/1.7.4 · entrevista Thomas/Frank: Nextcloud, nov/2023.