Microsoft compra GitHub y se rompe el equilibrio

Tras varios días de rumores, GitHub comunicó el día 4 que habían sido adquiridos por Microsoft. Para quien no lo sepa, GitHub se puede describir principalmente como un servicio de respositorios para almacenar código en el que diferentes desarrolladores trabajar de forma simultánea en él mediante un control de versiones. Pero su valor real es principalmente una gran comunidad de desarrolladores, principalmente de software libre y de código abierto, intercambiando ideas, ofreciendo sugerencias y mejorando el código entre todos. Se trataba de un espacio neutro con no solo proyectos de desarrolladores individuales o pequeñas compañías, sino que 4 de los 5 gigantes estaban allí: Microsoft, Apple, Google y Facebook. Al colocarse uno por encima del resto, el equilibrio está roto y pase lo que pase ya nada será lo mismo.

El cartel conmemorativo de GitHub

Lo que sí podemos asegurar es que el movimiento de Microsoft tiene sentido por varios motivos:

  1. “Estrategia de nube”: Microsoft ha dejado de lado Windows como proyecto estrella para centrarse en la nube con Azure. GitHub es (o al menos el día 4 era) el repositorio mas grande del mundo, por lo que es goloso tenerlo en sus servidores.
  2. “Developers, developers, developers”: Microsoft tiene escasez de desarrolladores para su ecosistema. Es algo que se nota en sus aplicaciones de Windows 10, donde la dejadez es espectacular y en su mayoría se trata de las aplicaciones web progresivas en una ventana de Microsoft Edge que ni siquiera se integran debidamente en el sistema de notificaciones del sistema. Hay una clara expectativa de conseguir atraer desarrolladores hacia sus herramientas.
  3. “Microsoft ama el código abierto”: Satya Nadella está repitiendo ese mantra una y otra vez, y haciendo serio esfuerzo por hacernos ver que “Microsoft ha cambiado”. Ahora hay herramientas de .NET o Typescrypt a las que podemos acceder de manera gratuita, y Visual Studio Code es de código abierto.

Reconozco que ante las noticias el fin de semana yo me quedé, como supongo que les pasó a muchos, petrificada. ¿Cuál es mi opinión personal? Pues que yo no confío en Microsoft.

  • Microsoft se ha esforzado durante mucho tiempo en ganarse la antipatía de la comunidad de software libre, con su anterior CEO llamándola “un cáncer”. En el pasado ha atacado agresivamente a los sistemas Linux y en el presente sigue usando patentes para sacarle dinero a los fabricantes de dispositivos Android, cosa que no parece que vaya a parar. Con su nuevo CEO ha habido un cambio y ha comenzado a abrazar Linux, pero sinceramente si quieren ser competitivos en la nube, va a tener que jugar con las reglas de OpenSource, que le lleva años de ventaja, por haberse perdido ese tren con su dirección anterior.
  • El haber hecho buena parte de sus herramientasde código abierto también viene de la mano de intentar recuperar a los desarrolladores en formación. Yo pertenezco a una generación que cuando empezó la carrera Visual Studio 6.0 era el IDE de facto en la universidad, pero Microsoft se volvió codicioso y subió el coste de las licencias a la universidad, por lo que todo el temario de repente cambió a Java y para el C mas duro a nivel de drivers, para lo que utilizamos KDevelop. Esta situación alienó a Microsoft durante todo el resto de lo que duraron mis estudios. La situación de abrir Visual Studio Code la veo como un intento de enmendar esa situación porque la generación de desarrolladores a la que pertenezco prescinde directamente de sus herramientas.
  • Temo por Atom, mi herramienta preferida para trabajar con Javascript y PHP. Era de GitHub, pero con la adquisición la veo relegada al ostracismo por su compañía padre, aunque siendo de código abierto siempre se puede hacer un fork y que la desarrolle la comunidad. Estoy convencida de que todos los recursos que GitHub empleaba en ella ahora irán a Visual Studio Code.
  • Recuerdo Skype (que después pasó con el legal interceptor, una época de anuncios de video cortando las videollamadas y anuncios por todas partes), Nokia (ese Lumia que no había manera de vender), Wunderlist (la cerraron), Linkedin (que ellos reordenaron y ahora es una fuente de mensajes de recruiters en lugar de ofrecer networking de calidad)… y Minecraft no era santo de mi devoción con la cantidad de memoria que comía, pero la versión reescrita de Microsoft, aunque mas rápida, es exclusiva para Windows 10. La versión interoperable Java sigue viva para el resto, pero con un desarrollo mucho mas deficiente. Mi esperanza ante el deterioro de GitHub y otra “triple E” por cuestiones púramente históricas es baja. Recordad que el core de GitHub no es de código abierto, por lo que no está protegida contra la “E de extinción”.
  • Sufro Windows 10 desde hace casualmente 10 meses, y su fiabilidad ha demostrado ser la mas escasa de todos los Windows que he tocado debido a sus actualizaciones forzadas: cada vez que llega una es una ruleta rusa que puede acabar con tener que reinstalar el sistema operativo, y además cada iteración instala lo que le da la gana cuando le da la gana (no importa lo que estés haciendo, lo hace y te fastidias) cambiando las opciones de privacidad (con telemetría y lo peor, anuncios, cuando he pagado por el sistema operativo) a su gusto, lo que requiere un tiempo por mi parte teniendo que reajustar todo el equipo. Esto hace que prefiera desarrollar en mi viejo equipo con un Linux sólido a intentarlo siquiera en esa pesadilla que es Windows 10. Será el número 1 en juegos, pero es porque para jugar a muchos títulos no tenemos otra alternativa.

Así que por todos esos contras, he migrado todos mis repositorios de GitHub, donde tenía mi código público, a Gitlab, donde tenía algún desarrollo en repositorio privado. El hecho que proyectos como Gnome o GIMP estén allí me dá confianza de que será un buen lugar neutro. Yo en particular no me siento traicionada por GitHub, pues nunca me generaron una expectativa contraria a Microsoft, pero en ese movimiento de “adquisión de una comunidad de desarrolladores a golpe de talonario” no van a contar conmigo. Para ganarse a los desarrolladores hay que ganarse su simpatía, y van a necesitar un cambio de actitud, ética y estabilidad de sus sistema mucho mayor si esperan que me acerque a ellos de buen grado.

Anuncios

Desencadenando el GitKraken

En el pasado he hablado de Git para gestionar las versiones del código, pero hoy voy a volver al tema para hablar del cliente que estoy usando de forma regular: GitKraken. La interfaz gráfica de la casa siempre dejó que desear y he paseado por unas cuantas, habiendo estado durante mucho tiempo con SmartGit, pero recientemente me dió por probar esta no solo porque había leído buenas referencias, sino porque también me hizo gracia el nombre.

Desencadenando el GitKraken

Las ventajas de usar un cliente gráfico son obvias (aunque obviamente la línea de comandos consume menos recursos y una vez se tiene el vicio es rapidísima):

  • es mas fácil de usar, pues no hay que memorizar comandos, además de que ver el resultado en una imagen es mas sencillo de procesar, pues “una imagen vale mas que 1000 palabras”.
  • la posibilidad de condensar procesos en un par de clicks, ahorrándose muchas líneas complicadas.
  • la posibilidad de tener cómodamente almacenadas las credenciales.

Cada uno tiene sus gustos, pero para mí este cliente supera a SourceTree (que es el referente clásico) por su claridad de visualización de las ramas, lo que lo pone a la cabeza de todos los que usado hasta ahora en este terreno… y además es multiplataforma, asi que funcionalmente hay poco mas que se pueda pedir… La única lástima es que aunque su base sea de código abierto, no comparte esa filosofía.

Gist, o los snippets rápidos de GitHub

GitHub es una de las plataformas de referencia para compartir código online. Habitualmente cuando trabajamos con control de versiones solemos toparnos con Git o SVN, realizando subidas o “commits” en nuestros proyectos. Sin embargo, hay ocasiones en las que solo queremos compartir un peuqeño trozo de código, o snippet, de una funcionalidad con un compañero, y todo esto del repositorio nos queda grande… y allí es donde entra Gist.

Gist, o los snippets rápidos de GitHub

Gist nos permite dejar ya sea o bien código, o bien notas, de una manera similar a lo que suele hacer pastebin, pero con control de versiones, y ahorrándonos todo el atrezzo habitual del repositorio Git. De esta manera no tengo que instalarme un cliente de Git, sino que puedo ir “a lo bestia” desde el cliente web, lo que es estupendo cuando hablamos de tocar únicamente un fichero con un pedazo de código que no tiene ni por qué ser plenamente funcional. Además algunos editores como SublimeText se integran también directamente con este sistema, al iual que plataformas de blogging, como WordPress o Medium. Si bien se pueden crear Gists de forma anónima, también se pueden asociar a cuentas de Github para tenerlos de forma pública o privada.

¿Y cómo quedan? Pues tal que así, lo que se ve de lujo para compartir desde plataformas mas amigables a la comunidad menos técnica.

Atom como alternativa de editor de código

Una de las herramientas mas básicas en el ordenador de un programador es un software de edición de código. A nivel más básico en Windows se suele tirar Notepad++ (porque seamos sinceros, el bloc de notas y el wordpad apestan), y en sistemas Linux basados en Gnome se suele tirar de gEdit, que tiene su coloreado sintáctico pero también va cortito.

Atom como alternativa de editor de código

En general, Sublime Text suele ser de lo mejor en el mercado, pero como siempre, intento encontrar una alternativa de software libre y que esté para para cualquier sistema operativo de sobremesa, y en este caso lo mejor con lo que he dado hasta la fecha es Atom. En principio es muy parecido a Sublime, hasta tiene los paneles laterales con explorador de ficheros de proyecto y el minimapa, pero tiene 2 grandes ventajas competitivas.

La primera es el uso de plugins, de manera que se puede expandir al gusto, o eliminar los componentes que no necesitamos para optimizar el consumo de recursos y espacio. Así puedes tener diversos sistemas de revisión de sintaxis y autompletado para los distintos lenguajes a usar, el típico selector de colores si vas a hacer diseño web, diversos auto-formateadores para que nos quede el texto bonito sin tener que ir contando espacios, una terminal integrada para poder compilar

La segunda, al estar hecho por los chicos de GitHub, es su sistema de control de versiones, que va muy fino en Git, que para algo es marca de la casa.

La pega es que al estar basado en Chromium, se toma su tiempo para cargar, y el extra friki: el power mode que podéis ver en gif abajo.

Limpieza de primavera 2015 de Google: cierra Google Code

Como todas las primaveras, llega el temido momento de ver qué va a cerrar Google este año, y la nueva víctima es Google Code. ¿El motivo? El típico abandono del proyecto, y al popularidad ganada por GitHub y Bitbucket.

Limpieza de primavera 2015 de Google: cierra Google Code

Supongo que lo primero es explicar que es Git para quien no esté puesto en el tema. Git es un software de control de versiones, creado por Linus Torvalds (ese señor que es famoso por ser el creador del kernel o núcleo de software libre Linux, ¿ya os suena mas?). Cuando Linux comenzó a trabajar de forma colaborativa, recibía por correo los cambios de los demás desarrolladores, y debía integrarlos manualmente. Conforme la comunidad crecía, esto se fue volviendo insostenible, de forma que después de darle vueltas al tema, comenzó a crear un sistema que le ayudase con este cometido. Este sistema recibía los nuevos ficheros de código, detectaba los cambios, y los actualizaba, generando “nuevas versiones”. si algo iba mal, siempre se podía volver a versiones anteriores, o empezar a desarrollar nuevos proyectos basados en los anteriores (llamados branches o  ramas), que bien podían diversificarse o juntarse de nuevo en algún punto (merge o unirse). La cuestión fue dónde se almacenaba ese código, al que todo el mundo podía aportar.

Una de esas posibilidades era Google Code, que era bastante popular. Con todas las aplicaciones que tiene Google, parecía un buen lugar, con bastantes prestaciones, hasta que comenzó a dejarlo abandonado una vez mas. Si comparamos su situación con Github, su mas fiero competidor ahora mismo, la migración de sus usuarios es normal. Solo hay que mirar la facilidad de uso y la interfaz bien diseñadas y adaptativa a cualquier dispositivo de Github, sus aplicaciones para dispositivos móviles, o sus capacidades sociales frente al aspecto pre-moviles de Google Code.

A estas alturas empieza a preocuparme la posición de Google respecto a la gestión de contenidos: primero Google Reader, después Feedburner, ahora Google Code, Blogger en la cuerda floja desde hace años… por no hablar de la inexistencia de una aplicación nativa de Google Drive para Linux desde luego cada vez confío menos en ellos para gestionar mis contenidos.