---
title: "OSS frente a enterprise"
description: "Qué incluye el repositorio público connectplatform/ring con licencia Apache 2.0 y qué guarda Ringdom en overlays privados (manifiestos de Kubernetes, CI de la forja, Order Lab). Matriz de capacidades, modelo de capas y el control de fugas que los mantiene separados."
locale: "es"
---
# OSS frente a enterprise

> **Info**
> Usa las pestañas **Fundador** / **Desarrollador** de la barra lateral de la documentación para filtrar esta página. En resumen: toda la aplicación es de código abierto. Lo que sigue siendo privado es el alojamiento de Ringdom, el pipeline de CI y un pequeño conjunto de módulos solo para operadores.

Ring se construye por capas. **Layer 1** es la base de código de la comunidad, publicada en GitHub como `connectplatform/ring` con licencia Apache 2.0. Los paquetes de **Layer 2** (`ring-presets/`) añaden presets verticales. Los overlays de **Layer 3** (`ringdom-clones/`) contienen la marca, la documentación y los módulos privados de un clon. Una build copia primero Layer 1 y después coloca los overlays encima. Cuando el mismo archivo existe en más de una capa, gana la capa posterior.

| Capacidad | OSS público (GitHub) | Colono de Ringdom |
|------------|---------------------|-----------------|
| Aplicación Next.js completa (`web/`): tienda, monedero, noticias, mensajería, administración y el resto | Sí | Sí |
| `install.sh`, utilidades de `ring/scripts/`, `data/schema.sql` | Sí | Sí |
| `ring` CLI (`cli/`) | Sí. `upgrade`, `config` y `test` funcionan en cualquier sitio | Sí, más la ruta de build privada |
| Archivos Docker y plantillas de env | Sí | Sí |
| Documentación base | Mínima (`web/docs/en/index.mdx` más dos páginas de funcionalidades) | Corpus completo del portal en el overlay |
| Manifiestos de Kubernetes (`k8s/`) | No | Sí |
| Workflows de CI de Forgejo (`.forgejo/`) y pipeline de build de la forja | No. Se eliminan del espejo de GitHub | Sí |
| Order Lab, calculadoras, `my-orders`, `my-jobs`, pedidos del CRM de administración | No. Solo stubs de la comunidad | Sí |
| Selección de preset en `ring-config.json` y catálogos de Layer 1 (`features/entities/presets/`) | Sí | Sí |
| Paquetes de presets de Layer 2 (`ring-presets/`) | No. Alojados en la forja | Sí |

### For founders

## Qué camino te encaja

  
- **[Gestiónalo tú](/docs/deployment/self-hosted.md)** — Clona el repositorio público, ejecuta el asistente y alójalo donde quieras. El código, los datos y los miembros son tuyos.

  
- **[Define un vertical](/docs/customization/vertical-presets.md)** — Los presets dan a un clon una forma predefinida para un sector. Layer 1 incluye el selector. Los paquetes más completos se distribuyen a través de Ringdom.

  
- **[Hazte colono](/docs/customization/ringization-playbook.md)** — La guía de ringización cubre el camino del colono: un overlay ligero sobre Layer 1, compilado y alojado por Ringdom.

```mermaid
flowchart LR
  L1["Layer 1: connectplatform/ring (público)"] --> B["Build"]
  L2["Layer 2: paquete de presets (opcional)"] --> B
  L3["Layer 3: overlay de tu clon (privado)"] --> B
  B --> C["Tu clon en marcha"]
```

### Escenarios típicos

1. **Comunidad independiente.** Usa solo OSS. Obtienes todas las funcionalidades para miembros y las ejecutas en tu propio servidor.
2. **Cooperativa regional que no quiere operar nada.** Hazte colono. Ringdom gestiona el clúster, las builds y los despliegues.
3. **Agencia con muchos clientes.** Empieza con OSS para prototipar y luego pasa a overlays de colono a los clientes que necesiten presets o alojamiento gestionado.

### Qué significa aquí código abierto

- **Apache 2.0.** Puedes ejecutar, modificar y vender servicios sobre el código, según los términos de la licencia en `web/LICENSE`.
- **Lo que sigue siendo privado aparece en la tabla.** Es decir, infraestructura, CI, módulos de operador y paquetes de presets. Un clon de colono también puede guardar sus propios módulos privados en su overlay.

### For developers

## Mapa de capas (rutas verificadas)

| Capa | Repositorio | Contenido |
|-------|------|----------|
| L1 comunidad | `connectplatform/ring` en GitHub, espejo de la forja de Ringdom | `web/`, `cli/`, `scripts/`, `install.sh`, `package.json` de la raíz |
| L2 paquetes | `ring-presets/` en la forja | Presets verticales |
| L3 overlay | `ringdom-clones/` en la forja | Sobrescrituras de `web/` (marca, documentación, Order Lab, calculadora), `k8s/`, `scripts/ci/`, `.forgejo/` |

## Cómo se garantiza la separación

| Mecanismo | Archivo | Qué hace |
|-----------|------|--------------|
| Espejo de GitHub | `scripts/push-github-oss.sh` | Genera un único commit desde la punta de la forja sin `.forgejo/` y lo envía a `github/main` |
| Control de fugas | `scripts/check-no-org-leak.sh` (`npm run check:org-leak`) | Falla si `k8s`, `cli` (dentro de `web/`), `.forgejo`, `.env.local`, Order Lab, la calculadora o las rutas `my-orders` / `my-jobs` son rutas reales en `ring/web` en lugar de estar ausentes o ser enlaces simbólicos. También exige que `ring-config.json` sea un archivo normal versionado |
| Stubs de la comunidad | `scripts/ensure-community-stubs.sh` | Restaura las versiones de la comunidad, como `lib/payments/conductor/handlers/project-order.community.ts`, cuando faltan los enlaces del overlay |
| Reglas de ignorado | `web/.gitignore` | Mantiene `web/k8s/`, `web/cli/`, `web/scripts/`, `web/propagation/` y `.forgejo/` fuera de los commits de Layer 1 |
| Informe de sombreado | `npm run compose:shadow` | Lista las rutas de Layer 1 que sustituye un overlay, para que las sobrescrituras se vean en la revisión |

> **Tip**
> Los `cli/` y `scripts/` de la raíz del repositorio son públicos. Solo se ignoran las rutas `web/cli`, `web/k8s` y `web/scripts`, porque en las máquinas de Ringdom son enlaces simbólicos locales al overlay privado.

## Contribuir

**Trabaja solo sobre Layer 1**

Haz los cambios para la comunidad en `ring/web` o `ring/cli`. Nunca hagas commit de archivos ni enlaces simbólicos del overlay.

**Ejecuta los controles**

{`npm run check:org-leak
npm run type-check
npm run lint`}

**Mantén fuera los secretos**

Las plantillas de env solo contienen marcadores. Nunca pongas claves reales en comentarios de código, ejemplos MDX ni en `ring-config.json`.

## Preguntas frecuentes

### Impacto

#### ¿Qué le falta al OSS?

Las filas marcadas con **No** en la tabla. Order Lab, los pedidos de proyectos y las calculadoras compilan contra stubs de la comunidad, así que la build sigue funcionando. Cada clon de colono puede además incluir sus propios módulos privados en su overlay.

#### ¿Puedo usar Ring CLI sin Ringdom?

Sí para `upgrade`, `config` y `test`. `prod` necesita tus propios manifiestos de Kubernetes y tu registro. Consulta [Ring CLI](/docs/cli.md).

### Operación

#### ¿Dónde vive la documentación del portal?

El corpus completo de documentación de ring-platform.org vive en el overlay privado de Layer 3 y se sirve públicamente en `/docs`. Layer 1 mantiene una pequeña base para la comunidad en `web/docs/`.

## Documentación relacionada

  
- [development/community-tooling](/docs/development/community-tooling.md) — Siguiente paso: las herramientas públicas de configuración y mantenimiento en detalle.

  
- [deployment/self-hosted](/docs/deployment/self-hosted.md) — Mismo flujo: ejecutar la build OSS en tu propio servidor.

  
- [customization/ringization-playbook](/docs/customization/ringization-playbook.md) — Ver también: el camino del colono, de un overlay ligero a un clon alojado.

  
- [cli](/docs/cli.md) — En profundidad: qué comandos de la CLI funcionan fuera de Ringdom.
