Manifiesto Made

III. Fuente abierta, actitud abierta

16 de mayo de 2017

Siempre que es posible, Made favorece las plataformas de código abierto y las normas abiertas para el desarrollo y la entrega.

Eso no quiere decir que no haya lugar para la tecnología patentada. A veces, una visión singular de un producto puede diluirse con la colaboración, y quizá los productos de Apple sean el mejor ejemplo histórico de ello. El software dirigido a mercados virtuales y comerciales, como la venta de entradas, puede estar mejor servido por la tecnología propietaria. Pero cuando se trata de la fontanería de Internet, creemos que el código abierto ganó la discusión hace tiempo.

Con las pilas de desarrollo de código abierto, la barrera de entrada para "patear los neumáticos" es baja

Cuando se considera desde una perspectiva presupuestaria, la diferencia más obvia es el precio de etiqueta. Puede que haya que indagar un poco para averiguar cuál es el precio propietario, y a menudo es desorbitado comparado con los 0 dólares del equivalente en código abierto. Pero centrarse exclusivamente en esa cifra es ingenuo. El código abierto no siempre es tan fácil de usar y hay que tener en cuenta el coste total de propiedad, que incluye la instalación y el mantenimiento.

La verdadera ventaja del código abierto es que puedes participar en el proceso de desarrollo. Tal vez se trate de incluir una función imprescindible en la lista de tareas pendientes de un producto. O puede que necesites participar en la corrección de un error en un canal de Slack a las 3 de la madrugada, cuando estás intentando mitigar la pérdida de paquetes en una red en algún lugar. Mientras que los departamentos de TI pueden preferir la tranquilidad de un contrato de soporte empresarial, en realidad es sólo un seguro. Para nosotros, las comunidades de código abierto son más receptivas y creativas. Las comunidades de código abierto prósperas quieren hacer de Internet un lugar mejor para los usuarios y los desarrolladores.

Cuando se trabaja con pilas de desarrollo de código abierto, la barrera de entrada para "patear los neumáticos" es baja. No hace falta dar los datos de la tarjeta de crédito, ni evaluar la relación coste-beneficio, ni siquiera rellenar un formulario corporativo para empezar a trabajar. GitHub es el medio por defecto para ponerse manos a la obra. Esto anima a los desarrolladores a considerar sus opciones para resolver los problemas de desarrollo del momento. Cuando estás atado a una pila de desarrollo propietaria, buscas que ese proveedor resuelva todos tus problemas. Cuando todo lo que tienes es un martillo, cada problema empieza a parecer un clavo. Te alejas de los patrones de desarrollo y arquitectura utilizados por la comunidad de desarrolladores en general. Se produce una especie de síndrome de Estocolmo centrado en el proveedor.

Las cuestiones de escala están en el centro de los proyectos de código abierto que alimentan la infraestructura de Internet

Otra ventaja clave del código abierto, y más cercana a las preocupaciones de nuestros clientes, es que es más probable que se amplíe. Esto se debe a que los problemas de escala están en el centro de los proyectos de código abierto que impulsan la infraestructura de Internet. Aunque IIS es un buen servidor web y .Net es un buen marco de software, el mercado objetivo de Microsoft son los departamentos de TI de las empresas. Su configuración por defecto está pensada para las intranets de las empresas, con un tráfico medio y constante. En cambio, los sitios web de nuestros clientes se caracterizan por un tráfico moderado intercalado con niveles de tráfico extremos, sin periodo de calentamiento. No encontrarás una gran cantidad de conocimientos accesibles sobre el escalado de la pila de Microsoft en una búsqueda casual en Google, porque no es un problema al que se enfrenten la mayoría de esos desarrolladores. No es que la pila no pueda escalar, es que no está realmente en la cultura.

Aunque es posible ejecutar sistemas operativos propietarios sobre Amazon Web Services, va en contra de la corriente, porque la lingua franca de las tecnologías en la nube son las pilas de código abierto. Te resultará mucho más fácil adoptar los patrones de AWS si utilizas alguna variante de la fiable pila LAMP.

Bajo su nueva dirección, Microsoft es cada vez más favorable a los desarrolladores y ha ido adoptando algunas de las prácticas del código abierto. Al mismo tiempo, el creciente uso del software como servicio y las arquitecturas de microservicios han llevado a la comunidad de sistemas operativos a ser menos celosa en su búsqueda de licencias GPL en todos los ámbitos. Así que el panorama está cambiando. Es posible que la "apertura" se refiera cada vez más a la voluntad de documentar y publicar las API, en lugar de distribuir el código fuente per se. En cualquier caso, preferimos utilizar tecnología abierta.

Lecturas obligatorias

  • CentOS es una iniciativa de software libre impulsada por la comunidad y centrada en ofrecer un sólido ecosistema de código abierto.
  • Nginx le ayuda a ofrecer sus sitios y aplicaciones con rendimiento, fiabilidad y escalabilidad. 
  • SilverStripe es el sistema de gestión de contenidos intuitivo y el marco flexible que adoran tanto editores como desarrolladores.
  • Varnish es un acelerador de aplicaciones web también conocido como proxy inverso HTTP de caché.
  • Symfony La base estándar sobre la que se construyen las mejores aplicaciones PHP. 
  • AngularJS es un marco de trabajo de código abierto para aplicaciones web front-end.
  • React es una biblioteca JavaScript para crear interfaces de usuario.

Próximo mes: Agile, Delivery, Robust Governance