¿Es una buena idea utilizar el código abierto para su equipo?
Socialism.tools Admin
2021-02-10

En los últimos meses, he dedicado mucho tiempo a investigar las opciones para los equipos que quieren trabajar con un ecosistema de aplicaciones totalmente de código abierto y autoalojable. Al igual que muchos otros proyectos que lo intentaron, quería una manera de que la gente trabajara junta y al mismo tiempo fuera dueña de sus datos. Sin embargo, nuestro equipo tenía una necesidad adicional única en comparación con la mayoría de estos proyectos: queríamos que todo lo que hiciéramos pudiera ser utilizado por todo el mundo, incluso por las personas que no se sienten muy cómodas con el uso de software, sobre todo el que no conocen. ¿Podríamos encontrar una solución?



El problema

Quería que tanto la configuración del software del servidor como el uso de los clientes fueran tan fáciles que cualquier persona con conocimientos básicos de informática pudiera hacerlo. El software tenía que ser seguro por defecto, venir con todas las funciones que los usuarios necesitan y hacer que su actualización fuera lo más sencilla posible. Esto es lo que me propuse encontrar, sabiendo que tendría que conformarme con lo «suficientemente bueno» en muchas áreas.

Para ser honesto: la mayoría de las veces he fracasado. Hay muy poco software por ahí que resuelva incluso una fracción de las necesidades de un equipo «lo suficientemente bien», y mucho menos tan bien como las soluciones de pago. Mientras el software de código abierto florece en los centros de datos, se tambalea en los dispositivos que la gente realmente toca. Es una historia tan antigua como el propio ecosistema de código abierto, pero fue decepcionante ver lo poco que se ha avanzado en las décadas transcurridas desde el despegue del núcleo de Linux.

Estas son mis notas de una exploración de campo de la perspectiva de dirigir un equipo moderno y generalizado con sólo software de código abierto (Las cosas básicas que se esperan de Office/G Suite, básicamente – Correo electrónico, Calendario, edición de documentos, sincronización de archivos, usted consigue la idea).

Si está decidido a apostar por el código abierto sin importar el coste, puede encontrar información útil aquí. Si estás en el jardín amurallado de Google, Microsoft o Apple, te encuentras maldiciendo sus deficiencias y buscando alternativas, creo que encontrarás unas cuantas razones para quedarte.

¿Qué sentido tiene la libertad del software si sólo las empresas son libres de utilizarlo?


Una ilustración del problema: elegir un sustituto de Slack

Empecé buscando programas de chat, queriendo un sustituto de Slack. Me gusta mucho Slack, y hay un número sorprendente de alternativas sólidas de código abierto. Seguro que uno de ellos encaja a la perfección.

He mirado estas opciones:

Todos, excepto dos, no han sido admitidos. Estas son las aplicaciones que no pasaron el corte a la segunda ronda:

Zulipán

Zulip fue fácil de instalar y el cliente oficial de Zulip puede conectarse a servidores autoalojados, lo que fue un gran comienzo. Zulip utiliza un sistema de roscado único al que hay que acostumbrarse, pero que algunos encuentran muy útil y yo pude ver su utilidad. Para las personas que no están familiarizadas con su funcionamiento, no es un obstáculo para el uso básico. Zulip es de código abierto y parecía acoger contribuciones, pero no era un repo ocupado.

El problema final con Zulip es que era simplemente demasiado simple. La actualización parecía una tarea, no había E2EE (un administrador del servidor podía exportar muy fácilmente todos los mensajes), no había federación, no había videollamadas integradas, y la lista continúa. Zulip era demasiado restrictivo; estaríamos pidiendo a los usuarios de Slack que renuncien a demasiadas cosas al cambiar. La experiencia de usuario única de Zulip también era una preocupación. Si trabajas con un equipo muy técnico, y necesitas algo rápido o a la gente le gusta el modelo de chat único de Zulip, puede valer la pena echarle un vistazo.

Mattermost

Descalifiqué Mattermost con cierta rapidez, a pesar de sus muchas características y aparentes beneficios. Un vistazo a la guía de instalación de Mattermosts asegura básicamente que la persona que tenía en mente para instalar el software -alguien sin experiencia en Linux- fracasaría en el proceso de instalación. Me decepcionó, ya que Mattermost parecía estable y con muchas funciones, y puede que vuelva a visitarlo más adelante para ver si hay una forma mejor de instalar y mantener todos esos componentes actualizados (encontré un script bash para hacer exactamente lo que tenía en mente, pero era de hace dos años), pero por ahora, estaba fuera de la lista.

El otro gran problema de Mattermost es que la mayoría de las herramientas de moderación están bloqueadas tras los planes de pago. Otras alternativas ofrecen herramientas de moderación mucho más robustas y gratuitas.

Agitar

Twake me llamó la atención el día que se abrió el código fuente. Es un recién llegado, pero tiene muchas funciones muy atractivas, como un calendario integrado, un tablero de tareas/kanban, la posibilidad de compartir archivos y algo que no tiene ninguna otra opción de esta lista: una interfaz de usuario atractiva. Al parecer, no sólo resolvió nuestro problema de chat, sino también varios otros problemas, lo cual fue muy emocionante.

Desafortunadamente, la novedad viene con algunos dolores de crecimiento – los documentos son casi inexistentes, los pocos documentos que había eran erróneos para la instalación (que por otra parte era fácil), y me encontré con varios errores mientras lo usaba. A pesar de estos problemas, creo que Twake es muy prometedor. Si se pueden eliminar los errores, será una opción muy atractiva, y el equipo de desarrollo fue muy receptivo a las solicitudes de problemas que presenté. Hay que seguirla de cerca a medida que vaya madurando.

Cable

Al igual que Mattermost, Wire es una aplicación de chat centrada en la empresa. El proceso de instalación es simplemente demasiado complicado y oneroso para su uso gratuito. Lo siento, Wire.

Matriz

Realmente quería que me gustara Matrix. Está en auge en el mundo del código abierto, cuenta con un amplio ecosistema de herramientas y soporte, y al estar centrado en la encriptación y la federación parecía un ajuste fantástico. Pero primero establezcamos de qué estamos hablando en esta sección, porque Matrix no se parece a ninguna de las otras opciones

Matrix es un protocolo abierto, lo que significa que es una especificación disponible públicamente que describe cómo otras piezas de software deben hablar entre sí. Para que quede claro, Matrix no es un software. Mucha gente utiliza «Matrix» para referirse al ecosistema de software de la aplicación compatible con Matrix. La fundación que administra Matrix produce la implementación de servidor más popular (¡pero no la única!) del software Matrix, llamada Synapse. También producen clientes Matrix para las principales plataformas, llamados Element. Los clientes de Element se conectan al servidor de Synapse, y así es como se intercambian los mensajes.

Por desgracia, el proceso de instalación de Synapse no es divertido. Hay múltiples métodos de instalación y no me sentiría cómodo confiando en un no-técnico con cualquiera de ellos. Sin embargo, la comunidad de Matrix vino al rescate aquí – hay varias opciones de alojamiento muy asequibles para los servidores de Matrix o métodos de instalación de terceros que son mucho más fáciles. Decidí que Matrix tenía un conjunto de características lo suficientemente convincente y suficientes alternativas baratas alojadas para compensar el obstáculo de la instalación, así que continué con las pruebas utilizando el método de Ansible. Varias horas después, tenía una instalación que funcionaba. No recomendaría tratar de instalar Synapse manualmente a menos que tenga una experiencia técnica significativa.

Tras el cambio de marca del cliente oficial de Matrix.org de Riot.im a Element, la UX ha mejorado significativamente. El ecosistema de plugins, las características de seguridad y la federación de servidores es una trifecta extremadamente convincente de características únicas que no tienen otras opciones, y si (cuando) se hace más fácil gestionarlas, Matrix será una opción extremadamente convincente.

Chat de cohetes

Rocket Chat es más similar a Mattermost o Zulip que las otras opciones aquí, pero tiene varias ventajas. La instalación es fácil, su documentación es completa, la UX de escritorio y móvil es bastante buena, tiene E2EE y la federación en la hoja de ruta, y la mensajería roscada casi siempre funciona.

Cumplía con todos los requisitos, y le di una vuelta con otro usuario de prueba para probarlo. Rocket Chat es una opción sólida y la recomendaría con seguridad junto a Matrix, dependiendo de los detalles que busques. Desgraciadamente, los mismos problemas de calidad que afectaron a Matrix y Twake también se manifestaron aquí, pero de forma menos severa. Los permisos y los administradores ilimitados y los roles personalizados están incluidos y el registro es fácil. Yo anticiparía muchos menos problemas tanto para los administradores como para los usuarios con el uso de Rocket Chat que las otras alternativas enumeradas aquí. Creo que Rocket Chat logra el mejor equilibrio entre una herramienta de código abierto, lo suficientemente fácil de instalar para los que no son expertos, y lo suficientemente funcional y atractiva para que los usuarios se pasen a ella.

Pero todavía hay un problema. Todavía no es lo suficientemente bueno a menos que estés ideológicamente comprometido con el software de código abierto. Imagina que hablas con un equipo de 500 personas en Slack. Quieres que pasen todos a un nuevo sistema que tienen que pagar, trabajar constantemente para mantenerlo y aprender desde cero. A cambio, lo que obtienen es el control de sus datos, una idea muy vaga e intangible y un producto peor. Rocket Chat tiene muy pocas características convincentes que no tenga Slack; no hay ninguna razón de peso para utilizarlo si no estás totalmente comprometido a dejar Slack por una opción de código abierto.

Este era un tema común, como me daría cuenta más tarde.

¿Quieres un servidor de calendario de código abierto? Puedes elegir Radical o Nextcloud. Radical es un sistema muy básico, mientras que Nextcloud está muy inflado.

Nextcloud parecía que podía cubrir todas nuestras necesidades con un solo paquete, pero me di cuenta de que, en el mejor de los casos, lo hace todo más o menos bien y, en el peor, apenas es funcional. La interfaz de usuario es compleja -como está basada en plugins, muchas cosas están enterradas en menús y menús- y el proceso de instalación es un dolor, pero es rica en características en comparación con otras opciones y no hay muchas alternativas. Si tuviera que dar un premio al «menos peor», es a Nextcloud. Pero hay una excepción notable en la suite Nextcloud: la capacidad de crear documentos, presentaciones y hojas de cálculo.

No existe un buen programa de código abierto para crear documentos, hojas de cálculo y presentaciones. Ninguna. Repasemos nuestras opciones una vez más:

Editores fuera de línea

Tengo respeto por el proyecto LibreOffice. El software de oficina es ferozmente complejo y las dos mayores empresas de software del planeta no dejan de retocar y mejorar el suyo. Desgraciadamente, el software de LibreOffice tiene errores, es feo y palidece en comparación con el Microsoft Office de hace diez años. He intentado repetidamente usar LibreOffice porque tengo muchas ganas de que funcione, pero ha fallado en cada tarea que le he lanzado. LibreOffice ha anunciado la adición de una cinta a su interfaz recientemente, pero la experiencia del usuario sigue siendo muy poco intuitiva y poco atractiva en comparación con Office o los editores de Google Drive. De nuevo, es la opción «menos mala» debido a que básicamente no hay alternativas, pero no es buena. Me sorprendería que muchos miembros no técnicos de un capítulo estuvieran dispuestos a aceptar los numerosos inconvenientes de LibreOffice en comparación con Docs.

OpenOffice también fue grande en un momento dado, pero ahora está básicamente muerto; es una versión zombi de LibreOffice para masoquistas. ¿Hay algo más en el mercado que sea nativo de la nube y esté construido para el futuro en lugar del pasado?

Suites de edición en línea

LibreOffice Online es una versión basada en la web de LibreOffice, desarrollada principalmente por una empresa – Collabora (Collabora es el nombre de la empresa consultora de código abierto y Collabora Online es el nombre de su fork de LibreOffice Online). Tiene todos los problemas de UX de LibreOffice, con problemas adicionales que provienen de una UX de escritorio trasplantada a la web con pocas modificaciones. Por defecto, te avisará si tienes más de 20 usuarios. Puedes compilarlo tú mismo para eliminar esta advertencia, pero hay varias otras características que sólo están en la versión de pago, y nadie va a querer compilar esto (ni debería – ver «asegúrate de que otras personas puedan usar tu pila» más arriba).

OnlyOffice construyó su propia solución empresarial de código abierto, con un conjunto completo de editores de documentos y mucho más, pero también tiene un límite de 20 usuarios en la versión de código abierto. OnlyOffice está más pulido y es muy similar a Microsoft Office, lo que facilita la transición. Si es absolutamente necesario elegir una opción aquí, OnlyOffice es la apuesta más sólida – sólo hay que saber en qué se está metiendo. OnlyOffice, al igual que Nextcloud y Collabora, es una bestia para poner en marcha, y sus usuarios, sin duda, se encontrarán con problemas de compatibilidad y características que faltan.OnlyOffice también tiene un programa de Groupware (correo electrónico, software de CRM, otras herramientas de negocio, etc) que se integra muy bien, pero no lo he probado todavía.

Otra opción, CryptPad, parecía prometedora: tiene documentos, hojas de cálculo, diapositivas, encuestas, tableros kanban y pizarras blancas, todo construido en torno a una interfaz similar a la de Google Drive, ¡y todo está cifrado! ¿Y cuál es la trampa? Pues bien, el editor de diapositivas está totalmente basado en texto, lo que lo hace inutilizable para básicamente todo el mundo y extremadamente engorroso para quienes conocen la sintaxis de tipo HTML. Sus hojas de cálculo parecen ser sólo la versión incrustada de OnlyOffice, así que no son muy buenas. El editor de documentos está bien, pero no está pulido y tuve problemas para usarlo en dispositivos móviles.

Etherpad, Ethercalc y Hacker Slides son alternativas basadas en la web que tampoco se ajustan a lo que buscamos. Etherpad funciona bien como editor colaborativo de Markdown, pero yo no tocaría para nada Ethercalc o Hacker Slides.

¿Y qué?

Usted, el lector, puede preguntarse: ¿por qué te quejas tanto de la UX? ¡Creo que está bien! Estás siendo malo con los desarrolladores de código abierto sin ninguna razón. Si crees que la UX es tan mala, arréglala tú mismo o paga por un software de verdad.

En primer lugar, no pretendo menospreciar a ninguna de las personas que trabajan en estos proyectos. Trabajar en cualquier proyecto de código abierto suele ser un trabajo difícil e ingrato.

Pero creo que la experiencia del usuario es muy importante y, según mi experiencia, los desarrolladores de código abierto no suelen dar prioridad a la experiencia del usuario, o al menos no a una experiencia del usuario que no sea experta en tecnología. En el mejor de los casos, son usuarios del software, por lo que no lo notan tanto o hacen pequeños cambios para reducir sus propios puntos de dolor. En el peor de los casos, son de los que se oponen activamente a cualquier tipo de esfuerzo de modernización, criticando los diseños modernos como infantiles, ineficientes o tontos. A los usuarios avanzados les suelen gustar las pantallas con mucha información, repletas de funcionalidades y opciones, pero la mayoría de las personas que no son usuarios avanzados pueden sentirse molestas en el mejor de los casos o abrumadas hasta el punto de abandonar inmediatamente el programa, en el peor.

Un gran diseño de UX requiere un grado de centralización y enfoque en el usuario final que muchos proyectos de código abierto no tienen, por una multitud de razones. Me interesa el software de código abierto, quiero utilizarlo más, pero tampoco quiero lidiar con un software que sea feo y no me facilite hacer lo que quiero. En lo que respecta a esta entrada del blog, no puedo recomendar software a personas a las que les costará instalar, entender y utilizar. El software debería mejorar nuestras vidas, no introducir más dolor.

No hay ninguna solución para esto que yo pueda ver. Llegar al nivel de pulido que tiene algo como macOS, Stripe, Gmail, Word, Docs u otros sistemas de software bien diseñados requiere una increíble cantidad de tiempo y un costoso esfuerzo de ingeniería. No se puede reunir eso sin respaldo financiero. La mayoría de las aplicaciones de chat de la lista anterior cuentan con financiación de capital riesgo y obtienen un importante apoyo financiero de las empresas que utilizan su software. Y para que quede claro, cuando digo «importante», quiero decir «suficiente para pagar los sueldos de los empleados». El kernel de Linux, MySQL, Postgres y muchas otras fantásticas y populares piezas de software de código abierto sobreviven y prosperan porque reciben donaciones de grandes empresas que utilizan su software.

En cuanto a la razón por la que sólo las aplicaciones de chat de código abierto parecen obtener financiación de VC y nunca los editores de documentos de código abierto, no lo sé. Mi suposición es que construir un sistema de edición de documentos desde cero significa que hay que conseguir compatibilidad con los últimos 20 años de formatos de Microsoft, y ese ancla de interoperabilidad sofoca la competencia, mientras que las aplicaciones de chat pueden empezar de cero con poco o ningún bagaje. La notable excepción, OnlyOffice, parece dirigida principalmente a los mercados emergentes y a los mercados de Europa del Este y Asia, a los que empresas estadounidenses como Microsoft y Google a veces les cuesta atender bien.

Microsoft y Google también tienen un dominio absoluto del espacio de colaboración en la oficina. Incluso los proyectos de código cerrado, financiados con fondos de capital riesgo o con otros recursos, como Notion, Airtable o Quip de Salesforce, están luchando por romper el duopolio. Google sólo ha sido capaz de romper el dominio de Microsoft ganándole la partida a la computación en la nube y a la edición colaborativa, y aprovechando los enormes flujos de caja de su negocio de anuncios para construir Google Workspace (y sus componentes, como Gmail y Docs) durante años antes de que esas cosas fueran rentables.

Esto nos deja con un grupo variopinto de rebeldes también, proyectos de código abierto que se mantienen unidos por el trabajo de los rebeldes y sus donaciones. Pero volviendo a la cuestión más general, quiero conseguir un equipo con una pila de software totalmente de código abierto.

Digamos que calmo las preocupaciones de mi equipo, los obligo a todos a usar LibreOffice, Nextcloud, Rocket Chat, y les digo que vamos a hacer que funcione. Esto funciona en la empresa: tu jefe es tu jefe, así que haces lo que te dicen pase lo que pase, te pagan durante el tiempo de formación, puedes llamar al departamento de TI siempre que tengas un problema y no tienes que configurar el software tú mismo. No es un mal negocio. Para las universidades alemanas o los municipios franceses, puedo ver cómo funciona este modelo y por qué es beneficioso.

¿Pero qué pasa con una organización de voluntarios? Uno sin presupuesto para nada más que los servicios de VPS, si es que lo tiene. ¿Una sin servicio de asistencia, sin jefes, sin normas que puedan realmente hacer cumplir? ¿Quiere sentar a la gente durante 10 horas de formación sobre LibreOffice antes de que puedan contribuir? ¿Quieres tener que explicar cómo funciona cada pieza de tecnología de tu pila? Tienes una buena explicación para cuando alguien pregunta «¿Por qué no podemos usar Google Drive? Es gratis y no tenemos nada súper seguro y estas cosas son demasiado difíciles!» ¿Está dispuesto a afrontar la tasa de deserción que provocará su elección de software? ¿Qué causa es más importante, la que quieres luchar, o la que estás luchando con sólo para poder trabajar? ¿Qué harás si todo el mundo abandona el material personalizado y vuelve a Slack y Google Docs?

Seguí buscando una respuesta a esto – algo para arreglar el problema, alguna pieza mágica de software para salvar esta brecha. No hay ninguno. Sandstorm.io hizo un valiente esfuerzo por resolver el problema de la instalación, murió y resucitó en un estado apenas funcional. Otros servicios son en su mayoría envoltorios de scripts y una interfaz de usuario web, no lo suficientemente robustos como para manejar cambios y actualizaciones sin un administrador involucrado que esté allí cuando algo inevitablemente va mal. Cloudron es la mejor solución que he encontrado para este problema, como se trata en otro artículo, pero de nuevo, sólo resuelve el problema de la instalación.

¿Hay alguna solución?

La mejor solución totalmente gestionada que encontré para esto fue collective.tools. Alojan Nextcloud, Rocket Chat y un tablero kanban para ti por unos 23 dólares al mes para un servidor pequeño (50 usuarios totales, 10 activos a la vez) o 56 dólares al mes para uno grande (500 usuarios o 50 usuarios activos). Si superas esos límites, básicamente no tienes suerte. Incluso con esta solución sigues usando Nextcloud, que como se ha comentado antes, no es una gran experiencia comparada con Drive, Dropbox, OneDrive, Box, etc.

Si no te importa ejecutar un software muy pequeño por ti mismo, Cloudron hace que la instalación de aplicaciones sea un esfuerzo de un solo clic y también maneja el correo por ti. Puedes instalar NextCloud y OnlyOffice/Collabora en unos minutos de forma bastante sencilla. Empecé a usar Cloudron después de encontrarlo tras buscar soluciones a este problema, y funciona muy bien. Para los capítulos grandes, con un buen continente de gente de tecnología, podría resultar atractiva esta opción, quizás mezclada con Google Docs.

Sin embargo, con cualquiera de estas opciones, sigue enfrentándose al problema constante y desafiante de la formación de los usuarios, los errores y los demás problemas diversos que se plantean con este tipo de software. Dicho esto, si estás comprometido con el uso de código abierto, tengo una guía aquí que te dará una gran ventaja.

Reflexiones finales

No hay dinero en los proyectos de código abierto orientados al consumidor. Si una empresa no puede utilizarte, te arruinas o cojeas con las donaciones o las ventas de los técnicos. No es suficiente para vencer a los gigantes multimillonarios en su propio juego.

Para agravar el problema de la falta de dinero, hay poco interés, fuera de unas pocas empresas selectas en un puñado de países europeos, en romper el dominio de Microsoft/Google sobre el paquete de software de oficina/grupo. La mayoría de las empresas y personas, por lo que veo, no están pidiendo una alternativa. La falta de financiación es un problema que se puede arreglar con soluciones organizativas y tecnológicas, pero no sé cómo se arregla la falta de interés en un espacio problemático.

Sólo deseo la mejor de las suertes a la gente que trabaja en Libreoffice, Nextcloud y el resto, de verdad. Por mucho que los critique, estoy deseando que tengan éxito. El mundo necesita más y mejores proyectos de código abierto para los usuarios habituales y la gente que los construye. Sólo deseo que el mundo los quiera tanto como los necesita.

Pin It on Pinterest