Hay dos tipos de software: el de código propietario y el de código abierto. El primero se usa comercialmente en muchas ocasiones, en donde una empresa que desarrolla un sistema lo vende, o lo licencia, pero no dice cómo es que funciona. Esto es el caso de Windows o Photoshop, por poner un par de ejemplos. Y se entiende pues estas compañías han puesto muchos recursos para estos desarrollos y finalmente es su negocio.

Sin embargo, existe el código abierto, en donde los desarrolladores entregan todo al usuario y no solamente el código ejecutable. A partir de esto, otros programadores pueden ver cómo funcionan estos programas, mejorarlos en algún momento o bien tomar las ideas que o bien podrían usar en sus propios desarrollos. Esta idea va más allá de la parte comercial y de hecho, también se puede vivir de hacer software de código abierto, por ejemplo, dando soporte a los sistemas de esta naturaleza y cobrando por estos servicios.

Pero más allá de estas posibilidades, el código abierto permite que todos aprendamos del trabajo de otros y que eventualmente se tengan mejores sistemas. De hecho, muchos programadores habrán aprendido mucho de lo que saben leyendo código de terceros.

Pues bien, Google es una empresa muy importante, la cual por muchos años ha trabajado con la idea del código abierto. Sus servidores usan el kérnel de Linux, por ejemplo. Además, ha liberado millones de líneas de código abierto gracias a programas como Google Summer of Code y Google Code-in. También la empresa patrocina a comunidades y a proyectos de código abierto como Software Freedom Conservancy, Apache Software Foundation, entre otras.

El traductor de Google ahora también será tu diccionario

Ahora Google está lanzando un nuevo sitio, opensource.google.com, que reúne todas las iniciativas de la compañía con información sobre cómo usan, liberan y apoyan al código abierto. El sitio -dice Google- contendrá nuestros programas, organizaciones a las que apoyamos y una lista completa de proyectos de código abierto que hemos liberado. Pero también contiene algo más interesante y poco visto: el cómo Google hace el código abierto.

Para Google, «más es mejor», que es la filosofía de la empresa sobre la liberación de código abierto. Es claro que muchos proyectos quizás encuentren resonancia en muchos programadores, tal vez otros tengan una audiencia menor. Pero como sea, Google puede ayudar a estos desarrolladores a liberar el código siempre que esto sea posible. De hecho, Google ha liberado el código de miles de proyectos grandes y pequeños como TensorFlow, Go y Kubernetes o bien, a proyectos más pequeños, como Light My Piano, Neuroglancer y Periph.io.

Algunos de los proyectos en este sitio tiene todo el soporte de Google. Otros son proyectos experimentales que muchas veces se crearon por curiosidad o diversión. Obviamente hay mucho de dónde buscar y por ello Google lanza un directorio de proyectos de código abierto, el cual será ampliado con el tiempo. En muchos de estos proyectos se agrega la información de cómo se utilizan dentro de Google y se espera que esta tendencia se mantenga.

Para muchos puede ser que lo interesante esté no solamente en el código abierto, sino en cómo Google hace el código abierto. Se trata pues de dar información sobre el proceso de generación de código. Así, Google está ahora publicando la documentación interna sobre cómo ellos hacen código abierto.

Así es cómo Google planea terminar con la popularidad de WhatsApp

Estos documentos explican el proceso que sigue Google para liberar nuevos proyectos de código abierto, enviar parches para los proyectos de otros y cómo se gestiona el código abierto que el mismo Google usa internamente. Pero además del cómo, detalla por qué hacen las cosas de la manera en que lo hacen como por qué sólo usan código bajo ciertas licencias o por qué requieren acuerdos de licencia de contribución para todos los parches que se reciben.

Hay que señalar que la iniciativa de Google no es la única y que hay otras manera de manejar el código abierto y el asunto de las licencias que lo controlan no es siempre la misma para todos. Pero en cualquier caso, la experiencia de una empresa como Google y su actitud para compartir su código con los demás es muy interesante como esfuerzo que vale la pena seguir. Estaremos muy al pendiente de esta iniciativa del gigante de las búsquedas.

Referencias: Open Source Google