Por qué es mejor Open Source para proyectos IoT
La razón fundamental
La primera y principal razón que tenemos para elegir sistemas y herramientas de fuente abierta para proyectos de IoT es la misma que para todas las demás categorías de la producción de software:
El modelo de Open Source no se opone a los atributos y valores intrínsecos del software sino que por el contrario se nutre de ellos y los potencia .
- Por su naturaleza, el software puede ser reproducido y distribuido con facilidad.
- Por su naturaleza, el software puede ser conocido, estudiado, entendido y auditado.
- Por su naturaleza, el software puede ser modificado, corregido y actualizado.
- También por su naturaleza, el software se presta a un prolífica evolución exponencial de derivados en la que cada nueva creación reutiliza las piezas previas.
El modelo de Open Source toma ventaja de todos estos atributos el software y no carga con el desperdicio de esfuerzo, tiempo, energía, y dinero que el modelo de software propietario exige para oponerse a ellos.
Esos esfuerzos, tiempo y energía desperdiciados en luchar contra los atributos naturales del software no sólo no le agregan ningún valor al producto final, sino que con frecuencia los mecanismos que se implementan con el fin de ocultar los principios de funcionamiento o en intentar crear mercados cautivos lo complican mucho más allá de lo necesario, volviéndolo inestable y más proclive a bugs, vulnerabilidades y fallos.
En el caso particular de IoT , en donde se involucra el control o la supervisión de máquinas, vehículos y dispositivos de seguridad como cámaras o alarmas, los incidentes y fallas debidos a vicios del software ocultos, sean o no intencionales, adquieren una gravedad mucho mayor que en el caso del software administrativo convencional. Se vuelven vitales la transparencia y la capacidad de conocer, entender y auditar las los componentes de una arquitectura de IoT y cómo , con qué o quién se conectan.
Sustentabilidad
Ambos modelos de producción de software enfrentan grandes desafíos de sustentabilidad:
- Por un lado el modelo propietario está en obvia inferioridad de condiciones frente a la competencia del modelo Open Source, como se explicó en los párrafos anteriores, debido a la naturaleza misma del software. No es lo mismo jugar con la naturaleza de las cosas a favor que tenerlas en contra.
- Por el otro lado, el modelo Open Source enfrenta el problema de la monetización, que también amenaza la sustentabilidad de los proyectos ¿Cómo ganan dinero y sostienen sus empresas los desarrolladores de un producto de software si no cobran licencias de uso?
Pero nuevamente, pensamos que se inclina la balanza hacia la sustentabilidad del modelo de Open Source , porque al insistir en un modelo de monetización por licenciamiento del software que en última instancia se basa en obstaculizar por medios fácticos o legales la libre difusión, el conocimiento, la confianza y la utilización de su producto, el fabricante descuida la búsqueda de modalidades de compensación menos reñidas con la naturaleza intrínseca del software y de la evolución de la tecnología. Recordemos lo que le pasó a Blockbuster.
Mientras tanto, las empresas fundadas sobre el modelo Open Source desarrollaron formas de monetización como el servicio de soporte técnico o consultoría de pago, las modalidades “freemium” , el Software como Servicio (SaaS), los servicios que se pagan en forma de microtransacciones y demás mecanismos que esencialmente consisten en cobrar por un servicio o valor concreto que recibe el usuario del producto de software..
Así, y haciendo foco en IoT, los creadores de un producto Open Source de excelencia para automatización como Node-REDofrecen FlowFuseque es un servicio SaaS pago para administrar múltiples instancias de ese software con opciones de alta disponibilidad y una cantidad de funciones adicionales, como el desarrollo asistido por IA. Otro gran ejemplo es el fabuloso proyecto Open Source de domótica : Home Assistant cuyos creadores monetizan por medio del servicio de suscripción Nabu Casa que ofrece conexión remota con la casa y la interfaz con los asistentes por voz como Amazon Alexa o Google Assistant.
Ventajas y desventajas de cada modelo en relación a IoT
Aspectos principales a tener en cuenta:
- Flexibilidad y Personalización
- Costos
- Seguridad
- Innovación y evolución
- Integración y compatibilidad
Flexibilidad y Personalización
Open Source
- Ventajas:
- Posibilidad de modificar y personalizar el código fuente según las necesidades del específicas proyecto.
- Amplia comunidad de desarrolladores que contribuye con mejoras y actualizaciones permanentes.
- Desventajas:
- Puede ser más difícil de implementar y mantener si no se cuenta con el soporte calificado.
Propietario
- Ventajas:
- Generalmente ofrecen soluciones enlatadas con el soporte técnico pago al fabricante.
- Desventajas:
- Limitada capacidad para personalizar o modificar el software.
- Cautividad de las actualizaciones y decisiones del proveedor.
- Falta de transparencia y documentación de la implementación.
Costos
Open Source
- Ventajas:
- Sin costos de licenciamiento. Reduce significativa del costo inicial.
- Posibilidad de reutilizar y compartir soluciones creadas por la comunidad.
- Desventajas:
- Posibles costos relacionados con la formación y contratación de expertos.
Propietario
- Ventajas:
- Aunque generalmente mayores, los costos pueden ser más predecibles y planificados a largo plazo.
- Desventajas:
- Licencias costosas, especialmente para grandes despliegues.
- Costos adicionales por funcionalidades avanzadas, actualizaciones, o integraciones.
- El riesgo de quedar técnicamente cautivo del proveedor y por lo tanto también de su lista de precios .
Seguridad
Open Source
- Ventajas:
- Transparencia en el código, lo cual hace posible la auditoría y revisión de seguridad por parte de la comunidad.
- Rápida detección y corrección de vulnerabilidades debido a la revisión continua y abierta por parte de la comunidad.
- En relación a IoT e IIoT (IoT iIndustrial), la seguridad la transparencia son realmente cruciales.
- Desventajas:
- No creemos que exista ninguna desventaja del modelo Open Source en relación a la seguridad.. En este rubro son todas ventajas.
Propietario
- Ventajas:
- Dependiendo del fabricante, puede incluir medidas de seguridad avanzadas, desarrolladas y mantenidas por expertos dedicados. Pero es cuestión de fe.
- Responsabilidad clara y determinada del proveedor sobre la seguridad del sistema.
- Desventajas:
- Menos transparencia, lo cual dificulta o impide por completo la evaluación independiente de la seguridad.
- Riesgo de vulnerabilidades no reveladas por el fabricante que pueden ser explotadas.
Innovación y Evolución
Open Source
- Ventajas:
- Evoluciona exponencialmente como consecuencia de la colaboración abierta y a las contribuciones de una comunidad global.
- Incorpora las últimas tendencias y tecnologías emergentes.
- Desventajas:
- En la evolución de los proyectos Open Source, a veces se dividen en distintas ramas del mismo código generando nuevos proyectos que compiten entre sí. Algunas personas encuentran un problema con esta diversidad de ramas. Nosotros en cambio creemos que es un fenómeno positivo que produce buenos resultados.
Propietario
- Ventajas:
- El proveedor tiene control sobre la hoja de ruta y garantiza una evolución coherente y planificada. Algunas personas pueden ver ésto como una ventaja.
- Desventajas:
- Muchos menos incentivos para incorporar rápidamente las últimas innovaciones.
- Dependencia de la visión particular del proveedor, que puede no prestar suficiente atención a las necesidades del usuario.
Integración y Compatibilidad
Open Source
- Ventajas:
- Mayor interoperabilidad con otros sistemas y plataformas debido al uso de protocolos y estándares abiertos. En el caso de IoT, la interoperabilidad y compatibilidad con protocolos y estándares abiertos es crucial.
- Fácil integración con otros proyectos y herramientas Open Source.
- No se queda técnicamente cautivo del fabricante, ni de su lista de precios.
- Desventajas:
- Si ya se depende de otros sistemas cerrados, puede ser más complejo integrarlos cuando esos sistemas cerrados no usan protocolos y estándares abiertos establecidos.
Propietario
- Ventajas:
- Si ya se depende de otros productos del mismo proveedor, puede ser mas sencillo integrarlos.
- Desventajas:
- Menos flexibilidad para integrarse con soluciones de terceros o Open Source.
- Bloqueo de proveedor (vendor lock-in), limitando la elección de futuras tecnologías.
Conclusión:
El Open Source aprovecha las características intrínsecas del software, como su facilidad de reproducción, modificación y distribución. No se enfrenta a las limitaciones del software propietario, que a menudo lo hacen más complicado, inestable y propenso a fallos. En IoT, donde la transparencia es vital, estas fallas pueden ser críticas.
Ambos modelos enfrentan desafíos, el modelo propietario compite en desventaja al luchar contra la naturaleza del software, mientras que el modelo Open Source, aunque enfrenta problemas de monetización, encuentra soluciones viables, como SaaS, suscripciones y servicios pagos, que están bien alineados con la naturaleza del software.
El modelo Open Source facilita la personalización pero requiere soporte experto, mientras que el modelo propietario ofrece soluciones estándar pero limitadas en personalización.
El modelo Open Source no presenta costos de licencias, pero puede haber costos de soporte, suscripciones, microtransacciones o servicios SaaS, que se relacionan en forma clara y directa con un beneficio concreto y objetivo recibido por el usuario. mientras que el modelo propietario implica costos elevados no tan claros en relación al valor recibido y el riesgo de quedar cautivo del proveedor.
En seguridad , el modelo Open Source claramente ofrece mayor transparencia y posibilidad de auditoría. mientras que en el modelo propietario la seguridad cerrada y requiere un acto de fe en el proveedor.
Finalmente, el modelo Open Source asegura una evolución rápida gracias a la comunidad que sigue la cresta de la ola en tecnología, mientras que el modelo propietario tiende a ser más lento y dependiente del proveedor.
Por estas razones preferimos Open Source para los proyectos de IoT.