Zed Shaw y sus razones para usar GPL

Zed_ShawZed Shaw, autor del webserver Mongrel, que le da vida al popular framework web RoR es uno de los programadores más importantes de los últimos años, sin embargo son pocos los que lo conocen. Si logró alguna notoriedad en los medios fue cuando rompió con la comunidad RoR desde su blog en un  post titulado "Rails Is A Ghetto", el post en su blog ha sido "moderado" con respecto al original, el cual leí hace año y medio y realmente tenía muy serías críticas en contra de la comunidad RoR y Ruby en general. Pueden leer algunas partes del mismo en este post de TechCrunch en donde copiaron parte del contenido inicial de dicho post. Luego de esa temperamental ruptura, Shaw abandonó incluso Ruby y se unió a la comunidad Python.

Ahora Shaw nos da las razones por las cuales el ha adoptado la licencia GPL para todos sus nuevos proyectos, el más notable de ellos actualmente es Lamson, un servidor de correos escrito en Python. Al parecer ha recibido lagunas críticas por liberar el código bajo la licencia GPL, dado que Shaw no se caracteriza por sus respuestas temperadas, es interesante leer todo su post titulado "Why I (A/L)GPL", pero aquí les resumo sus razones:

  • Porque el quiere, si no estas de acuerdo con la licencia GPL no uses el software, tan simple como eso.
  • Ya no desea ser ignorado, si usas su software el desea que lo admitas públicamente.
  • La introducción de capitales especulativos en las Start Up ha hecho que se pierda todo incentivo para seder gratuitamente tu trabajo.
  • Dado que todo programador es un plagiador, el uso de la licencia GPL, evita la tentación de que pongas tu nombre en un código que no has desarrollado, como es el caso de las licencias BSD.
  • Si el código es bueno paga por él. El nuevo lema de Shaw es "Open Source por Open Source, Corporación por Corporación". Si desarrollas Open Source, Shaw te apoyará en tu proyecto sin cobrarte nada. Pero si eres una empresa que hará dinero con el software desarrollado, paga por las personalizaciones.
  • La razón final para usar GPL en sus proyectos, es que él piensa que sus proyectos tienen cierto valor. Por lo tanto el apuesta que una licencia como GPL, cuyos méritos legales aún no están completamente demostrados, sirva para alejar a aquellos que no están dispuestos a aportar algo al proyecto. Como Shaw dice, si él hubiera querido que su software fuera popular hubiera adoptado la licencia BSD y todo el mundo lo usaría.

Las razones que nos da Shaw para adoptar la licencia GPL en proyectos Open Source, son realmente prácticas y están bastante lejanas del idealismo Stallmaniano. Shaw lo dice simple, quieres conseguir un trabajo o hacer negocios siendo un desarrollador independiente de software, pues usa licencia GPL para que todos los que usen tu software para hacer dinero, tengan que poner tú nombre en los proyectos que desarrollen usando el código que tu escribiste.

Google y su promesa de un OS sin virus

No hay duda que una de las declaraciones de Google sobre su futuro Sistema Operativo (OS) que más polémica ha levantado ha sido su promesa de que Google Chrome OS resolverá el problema de virus para los usuarios. Dicha afirmación ha sido llamada "idiota" por algunos expertos de seguridad informática como es el caso de Bruce Schneier, Jefe de Tecnologías de BT (British Telecom), cuyas declaraciones difundidas a través de sendos artículos en ReadWriteWeb y PCWorld han levantado tanta polémica en la blogósfera sobre el hecho de que si es posible o no construir un OS a prueba de virus, que el mismo Schneier ha respondido a través de un post en su blog personal titulado "Making an Operative System Virus Free".

El punto principal esgrimido por Schneier para defender la respuesta que diera al periodísta por teléfono, y habiendo aceptado el hecho de no haber leído el comunicado oficial de Google respecto a Chrome OS, es el trabajo de Tesis de Ph. D de Fred Cohen, que en 1986 demostró matemáticamente que es imposible crear un programa de detección de virus perfecto. Pero más importante que las explicaciones dadas por Schneier en su blog, son los comentarios dejados alli.

De los comentarios dejados alli la forma de conseguir un sistema operativo libre de virus pueden catalogarce en 4 grandes ramas:

  • Construir un OS que siga las especificaciones de la NSA SELinux, que se basan en parte en las recomendaciones del famoso "Libro Naranja", que a su vez es la respuesta a la directiva 5200.28-STD del Ministerio de Defensa Americano.
  • Almacenar el OS en un medio de sólo lectura (ROM) cuya única misión es carga el navegador (en este caso el Google Chrome), y todas las aplicaciones residen en la web, lo mismo que los datos.
  • Un sistema de firmas digitales que identifique inequivocamente al autor del software y al propietario de la computadora, ningún software puede ejecutarce si no esta firmado por el dueño de la computadora.
  • Finalmente, la última propuesta dice que no se puede diseñar un OS a prueba de virus porque el lado más débil de la cadena es el usuario, quien suele ser descuidado porque no es responsable del daño que puede causar una computadora infectada y que pasa a formar parte de una botnet. Proponen entonces una solución basada en educar a los usuarios y hacerlos legalmente responsables por el daño causado a otros si su computadora infectada es usada como plataforma para atacar a otros.

Cada una de las propuestas tiene su justicación, pero en lo personal creo que una alternativa en la cuál el SO no es más que el mínimo software necesario para correr el navegador que se vuelve en sí mismo en la plataforma es la manera más segura de evitar infecciones, pues en caso de que el equipo se infectara por alguna razón, la forma más simple de limpiarla sería reiniciar la computadora. Pero en este escenario la responsabilidad de la seguridad se traslada del usuario al proveedor del servicio, lo cuál resulta un problema mucho más fácil de resolver desde el punto de vista de las tecnologías involucradas.

Google Chrome OS día 2

Chrome MacLeodBueno ayer fue el día en que todo el hemisférido occidental se enteró que Google oficialmente declaró la guerra contra Microsoft, algo que debería de ocurrir tarde o temprano ya que como en la famosa película Highlander,  "sólo puede haber uno". Han corrido rios de bits en la blogosferá comentando qué es y que no es Chrome, su impacto en el futuro, como afectará o no a los grandes actores de las TIC, etc.

Opiniones al margen, Google el día de hoy ha posteado un pequeño FAQ sobre que es Chrome, que obviamente a iniciado otra ola de espculaciones, pero lo que esta claro es que por el momento Google ha logrado convocar a su lado a las siguientes empresas: Acer, Adobe, ASUS, Freescale, Hewlett-Packard, Lenovo, Qualcomm, Texas Instruments y Toshiba. El gran ausente es como habremos notado Dell.

Dado que esta batalla de inmortales recien comienza y no termina hasta que uno pierda la cabeza, me pregunto si esta interpretación libre de quien es el Kurgán sera la correcta, ¿Uds. que opinan?

Ballmer Kurgán

Google Chrome OS

Al fin, el día de ayer (7 de julio de 2009) en su blog, Google anunció un nuevo proyecto que tiene por objetivo desarrollar un sistema operativo para la era web, el nombre del proyecto es Google Chrome OS. El mercado objetivo de este OS serán las netbooks con procesadores x86 o ARM y estará basado en un kernel Linux, con un GUI ligero y optimizado. Este será difinitivamente un rival serio para todos los otros OS orientados a netbooks como Moblin o JoliClould, pero especialmente será el rival de Windows 7.

Al parecer la entrada de Bing! al mercado, ha terminado de convencer a Google de que tiene que pelear con Microsoft en donde más daño le puede hacer, su lucrativo mercado de OS. No me extrañaría que el día de hoy en respuesta a esta noticia las acciones de Microsoft bajen de forma significativa, pues la única fuente de ingresos consistentes del gigante de Redmond es justamente su OS y la suite de oficina Office. Todos las demás áreas de la compañía producen muy poco o ningún ingreso.

Aunque no hay en estos momentos un website oficialmente del proyecto, lo más probable es que pronto lo veremos. Hasta ese entonces sólo podremos especular sobre los detalles del nuevo OS que vendrá a redefinir el market share que hasta el momento tenía a Microsoft como el amo y señor absoluto. Al parecer pronto Linux estará en un porcentaje significativo de equipos, aunque no de la forma que muchos de sus usuarios esperaban.

Debo confesar que esta movida de Google me ha sorprendido, yo esperaba que ellos siguieran el camino de promover Android y buscar hacerlo popular en netbooks. Pero el anunciar un proyecto nuevo, enfocado específicamente al sector de las netbook, que es donde actualmente se concentran las ventas, sin lugar a dudas es una apuesta muy alta. Además la promesa de trabajar conjuntamente con los fabricantes OEM para optimizar el OS, es tambien una medida audaz.

UPDATE:
La noticia del lanzamiento del proyecto Chrome OS ha tenido inmensa repercusión en la blogosfera, aquí algunos URLs para leer diversos comentarios:

TechCrunch: "Google lanza una bomba nuclear sobre Microsoft. Y esta hecha de Chrome"
TechCrunch: "Google Chrome: Redefiniendo el sistema operativo"
TechCrunchIT: "Dividan GoogleSoft"
ReadWriteWeb: "10 cosas que morimos por saber sobre Chrome OS"
ArsTechnica: "Google Chrome OS: que significa y por qué es importante"
Bloomberg: "Google desafía a Microsoft con sistema operativo"
AlleyInsider: "Google le declara la guerra a Microsoft (y a Apple)"

¡No al SQL!

Al parecer ese es el grito de guerra de un conjunto de proyectos Open Source que desean liberarce de la presencia casi ineludible de las bases de datos relacionales como soporte de almacenamiento de datos en los proyectos web 2.0. Al menos ese fue el espiritu de la reunion que tuvo la comunidad NoSQL hace poco menos de un mes en San Francisco.

En el evento que ha pasado casi desapercibido por los principales medios TIC, hasta hace poco cuando ComputerWorld publicó un artículo sobre la comunidad NoSQL, se presentaron los representantes de 10 proyectos Open Source que nos ofrecen escalabilidad y confiabilidad, a una facción del costo de las alternativas DBMS, como pueden ser MySQL, PostgreSQL u Oracle. Como punto de comparación hay que mencionar que uno de estos proyectos NoSQL llamado Cassandra, ofrece la capacidad de poder escribir hasta 50GB de datos en tan sólo 0.12 milisegundos, esto es 2500 veces más rápido que la perfomance ofrecida por MySQL (la DB relacional más rápida).

El romper con el pasado no es fácil, dejar atras viejos paradigmas que han demostrado sus limitaciones en la era del Petabyte en la cual nos encontramos, será una decisión difícil para los gerentes de los departamentos TIC, mientras no exista una empresa que respalde la nueva tecnología, o inclusive un estándar único para los proyectos de almacenamientos de datos de alta disponiblidiad clave-valor. Hay que tener en cuenta que ninguno de estos proyectos NoSQL se llama a sí mismos "base de datos", sino sistemas de "almacenamiento valor-clave" distribuido.

Todos estos proyectos NoSQL comparten las siguientes características:

  • Los datos son automáticamente replicados en múltiples servidores.
  • La falla de algún servidor es manejada de forma transparente y sin interrupción del servicio.
  • Todos los nodos que constituyen el sistema son independientes y no existe un único punto de falla.
  • El sistema maneja internamenta la consistencia de los datos.
  • La escalabilidad es prácticamente infita.
  • Utilizan como bloques de construcción PCs baratos con grandes discos duros.
  • Son proyectos Open Source.

Parecería un sueño, pero es cierto. Son proyetos Open Source que ofrecen hacer por una fracción del costo, aquello que Oracle cobraría millones de dólares por implementar, configurar y afinar a nuestras necesidades de alta disponibilidad y escalabilidad.

Aquí la lista de los proyectos que fueron presentados en la conferencia de la comunidad NoSQL, los videos de las presentaciones y las presentaciones en formato PDF donde ha sido posible obtenerlos.

Proyecto
Expositor
Empresa Presentación
Videos
 Introducción a la Reunión

 Todd Lipcon Cloudera  PDF
 Voldemort  Jay Kreps LinkedIn  PDF
 Video1,
 Cassandra  Avinash Lakshman Facebook  PDF  Video
 Dynomite  Cliff Moon Powerset  PDF  Video
 HBase  Ryan Rawson StumbleUpon  PDF  Video
 Hypertable  Doug Judd Zvents  PDF  Video1,
Video2
 CouchDB  Chris Anderson couch.io  PDF  Video1,
Video2
 VPork  Jon Travis Springsource  PDF  Video
 MongoDb  Dwight Merriman 10gen    Video
 Google BigTable  Jonas S Karlsson  Google    Video

 
Es bastante fácil de entender por qué en una web donde el contenido multimedia se multiplica a una velocidad jamas vista antes, el seguir almacenando datos en bases de datos relacionales, es una forma ineficiente y costosa de hacerlo, es por ello que los proyectos NoSQL son definitivamente la forma como deberíamos manejar la información en el futuro. Estos proyectos son ideales, donde la estructura de datos es simple, pero se necesitan manejar grandes volúmenes de datos y es importante el tiempo de respuesta del sistema.

Luego de haber visto los videos de las conferencias, estoy convencido de que el futuro del almacenamiento en grandes volúmenes, esta en los sistemas NoSQL. Así que si alguien está buscando donde estará la siguiente revolución en la industria TIC, este es definitivamente un campo al cuál prestarle mucha atención.