Linear 250 → 10 miembros: por qué migrar ahora
En febrero de 2026, Linear modificó las condiciones de su plan gratuito: el límite de miembros pasó de 250 a 10. Los equipos ya constituidos que superan ese umbral recibieron una notificación y un periodo de gracia antes del cambio. Pasar al plan de pago de Linear cuesta según la tabla de precios publicada en linear.app
Lo que cambia concretamente el autoalojamiento
- Ningún límite de miembros — agregue tantos colaboradores como permita su infraestructura, sin modificar su facturación.
- Datos bajo su control — tickets, comentarios, historial de estados y archivos adjuntos permanecen en su propia base de datos, en su propio disco.
- Actualizaciones a su ritmo — usted decide cuándo aplicar una nueva versión; ningún proveedor modifica su entorno de producción sin su consentimiento.
- Integraciones libres — usted conecta sus propias herramientas (CI, webhooks, scripts) sin pasar por un marketplace de pago.
- Costo previsible — un VPS correctamente dimensionado cubre a todo el equipo; el costo no varía con el crecimiento.
- Cumplimiento interno más sencillo — alojar los datos en su propia infraestructura simplifica las auditorías y las políticas de seguridad internas.
¿Plane o Vikunja? Elegir según su necesidad
Ambas herramientas cubren el seguimiento de issues y los sprints, pero sus perfiles son distintos. Plane es el sucesor natural de Linear para los equipos que quieren reencontrar los mismos conceptos —ciclos, módulos, inbox, páginas wiki— en una interfaz parecida. Vikunja es más ligero, orientado a tareas y listas, con una huella de sistema muy baja que lo hace adecuado para VPS de gama de entrada o para equipos que no necesitan una gestión formal de sprints.
Plane frente a Vikunja: tabla comparativa
Desplace la tabla
| Criterio | Plane | Vikunja |
|---|---|---|
| RAM mínima | 4 GB (AIO community) | < 512 MB |
| Licencia | AGPL-3.0 | GPL-3.0 |
| Gestión de backlog | Issues, estados personalizables, prioridades, etiquetas | Tareas, listas, buckets, prioridades |
| Sprints / ciclos | Ciclos nativos (fecha de inicio, fecha de fin, progreso) | Sin sprints nativos — hay que simularlos con listas |
| Integraciones | GitHub, GitLab, Slack, Jira (importación), API REST | API REST, webhooks, importación CSV/JSON |
| Curva de aprendizaje | Media — interfaz rica, varios conceptos que dominar | Baja — se maneja en unos minutos |
| Importación desde Linear | CSV importado manualmente desde las Issues | CSV o JSON desde la interfaz de importación |
| Caso de uso recomendado | Equipos técnicos de 5–50 personas, gestión formal de sprints | Equipos pequeños, uso personal o proyectos ligeros |
Exportar desde Linear: procedimiento exacto
Linear permite exportar sus issues en formato CSV desde los ajustes del espacio de trabajo. La exportación cubre las issues activas y archivadas, sus estados, prioridades, etiquetas, asignados y comentarios en formato texto. Los archivos adjuntos (archivos subidos directamente a Linear) no se incluyen en la exportación CSV — descárguelos manualmente si son críticos.
Migrar de Linear a Plane o Vikunja en siete pasos
Exportar sus issues desde Linear
En Linear, abra Settings (rueda dentada abajo a la izquierda) → Workspace → Export. Seleccione el formato CSV y lance la exportación. Linear envía un correo con el enlace de descarga en unos minutos. El archivo CSV contiene:
title,description,status,priority,assignee,labels,created_at,updated_at,completed_at,cycle,project, y los comentarios en una columna dedicada. Conserve este archivo — es su fuente de migración.Desplegar Plane o Vikunja en su VPS
Para Plane: un VPS con 2 vCPU y 4 GB de RAM es el mínimo requerido por la documentación oficial para la imagen AIO. Lance el contenedor con
docker run -d --name plane --restart unless-stopped --env-file /opt/plane/.env -v plane-data:/app/plane-data -p 127.0.0.1:8080:8080 makeplane/plane-aio-community:stable. Consulte la guía completa sobre el despliegue de Plane en VPS para los detalles del reverse proxy HTTPS.Para Vikunja: basta con un VPS de 1 vCPU y 512 MB de RAM. Cree un archivo
docker-compose.ymlcon los serviciosvikunja(imagenvikunja/vikunja:latest) y una base de datos (MariaDB o PostgreSQL). Exponga el puerto3456detrás de su reverse proxy. Vikunja arranca en menos de treinta segundos en un host mínimo.Preparar el archivo CSV para la importación
Antes de importar, abra el CSV en una hoja de cálculo y revise la columna de los estados: Linear usa sus propios nombres de estado (
Backlog,Todo,In Progress,Done,Cancelled). Plane y Vikunja tienen sus propios estados por defecto. O bien los renombra en el CSV para que coincidan con los estados de destino, o bien crea los estados correspondientes en su nueva herramienta antes de la importación. Un estado no reconocido suele ignorarse o asignarse al estado por defecto — verifíquelo después de importar.Importar las issues en Plane o Vikunja
En Plane: abra su proyecto → Settings → Imports → CSV. Suba el archivo y mapee las columnas:
title→ Nombre,description→ Descripción,status→ Estado,priority→ Prioridad,assignee→ Asignado,labels→ Etiquetas. Plane crea las issues de forma masiva y conserva las fechas de creación si la columnacreated_atestá mapeada.En Vikunja: abra su lista → icono de importación → CSV. Vikunja espera las columnas
Title,Description,Done(booleano),Due Date,Priority. Si su CSV de Linear usa nombres distintos, renombre los encabezados de columna antes de importar. Vikunja también ofrece una importación JSON para una migración más fina mediante la API.Verificar la integridad después de la importación
Tras la importación, compare el número de issues importadas con el número de issues de su exportación CSV. Si faltan issues, probablemente tengan un estado o una prioridad no reconocidos. Filtre las issues por estado en su nueva herramienta para detectar las anomalías. Compruebe también que las issues asignadas a miembros tengan efectivamente un asignado — los miembros deben existir en la herramienta de destino antes de la importación; de lo contrario, el campo queda vacío sin ningún error.
Invitar a los miembros del equipo
En Plane: abra Settings → Members de su espacio de trabajo → Invite Members. Envíe las invitaciones por correo. Los miembros aceptan la invitación y crean su cuenta en su instancia. Después asígneles los roles adecuados (Admin, Member, Viewer) a nivel de proyecto.
En Vikunja: abra Settings → Users (accesible desde la interfaz de administración) → New User, o deje que los miembros se registren directamente si ha habilitado los registros. Después comparta las listas o proyectos con cada miembro desde los ajustes de compartición.
Configurar las integraciones y probar
Si su equipo usaba la integración de GitHub de Linear, conecte el equivalente en su nueva herramienta: Plane ofrece una integración con GitHub en Settings → Integrations → GitHub. Vikunja expone una API REST y webhooks — conecte su pipeline de CI mediante los webhooks entrantes. Haga una prueba end-to-end: cree una issue desde su pipeline de CI, compruebe que aparece en la herramienta, cambie su estado y verifique que la notificación (correo o webhook) llega correctamente.
Empiece por un proyecto piloto
No migre a todo el equipo de una sola vez. Elija un proyecto secundario o un equipo voluntario para probar la importación, validar el mapeo de los estados y formar a un primer grupo de usuarios. Una vez que el proyecto piloto sea estable — una o dos semanas — migre los proyectos restantes. Este enfoque progresivo permite detectar los problemas de mapeo o de integración sin bloquear toda la producción.
Solución de problemas: fallos frecuentes en la migración
Plane no arranca con menos de 4 GB de RAM. La imagen AIO agrupa Django, Celery, PostgreSQL y Redis en un único contenedor. Por debajo de 4 GB, el worker de Celery compite con PostgreSQL por la memoria disponible y el contenedor se reinicia en bucle. Compruébelo con docker stats plane: si la memoria RSS supera el 90 % de la RAM disponible ya desde el arranque, amplíe el VPS antes de investigar cualquier otra cosa.
La importación CSV en Plane termina sin error, pero las issues no aparecen. Plane valida el CSV en silencio: si una columna obligatoria (title) está vacía en una fila, la fila entera se ignora. Abra el CSV en una hoja de cálculo y filtre las filas con el título vacío — suelen ser filas de subtareas de Linear que no tienen título propio en la exportación.
Vikunja pone las prioridades a cero después de la importación. Vikunja espera valores numéricos para la prioridad (0 = ninguna, 1 = baja, 2 = media, 3 = alta, 4 = urgente). La exportación de Linear usa etiquetas de texto (Low, Medium, High, Urgent, No priority). Sustituya esas etiquetas por los valores numéricos correspondientes en el CSV antes de importar — basta con un buscar/reemplazar en una hoja de cálculo.
Los miembros invitados no reciben el correo de invitación. Compruebe que las variables de correo saliente estén correctamente definidas en su archivo .env (EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD). En Plane, pruebe con docker exec plane python manage.py sendtestemail [email protected]. En Vikunja, la configuración SMTP se encuentra en el archivo config.yml, bajo la clave mailer.
Gestionar sus proyectos en su propia infraestructura
La reducción del plan gratuito de Linear ilustra un riesgo estructural de las herramientas SaaS: las condiciones cambian, los límites bajan y los equipos que han construido su flujo de trabajo en torno a una herramienta de terceros se ven obligados a pagar o a migrar con urgencia. Plane y Vikunja ofrecen ambos una alternativa estable, con un modelo de datos comparable al de Linear y licencias de código abierto que garantizan la perdurabilidad de los datos. La elección entre los dos depende principalmente de la RAM disponible en su VPS y de la necesidad de una gestión formal de sprints — Plane para los flujos de trabajo cercanos a Linear, Vikunja para una configuración más ligera. Para profundizar en la consolidación de sus herramientas de gestión, consulte la guía sobre Huly (issues, documentos y chat en una sola herramienta) y la guía sobre la migración de sus SaaS al autoalojamiento.