Alan Kay: “the computer revolution hasn’t happened yet”

Un breve biopic de Alan Kay, a través de su conferencia en la OOPSLA 1997 y una entrevista para la ACM.

Alan Kay es uno de los pioneros de la informática. Uno de los fundadores de XEROX PARC, ha llevado el premio Turing por sus contribuciones al mundo del software con las ideas detrás de la orientación a objetos implementadas en Smalltalk y en la última década está muy enfocado en sistemas que permitan la enseñanza (y creación) siguiendo métodos constructivistas (como el OLPC).

Os recomiendo que leáis esta entrevista A conversation with Alan Kay, y que veáis el video de su charla en OOPSLA (1997): The computer revolution hasn’t happened yet (transcripción).

Habla en su charla sobre cómo las ideas evolucionan y qué podemos aprender de eso a la hora de construir software: habla de diseño y evolución, de cómo los principios de la biología fueron fuente de inspiración para la orientación a objetos o de cómo la idea de encapsulación es la idea principal de todo diseño de software. Es un buen orador.

Aunque Kay es una fuente inagotable de ideas. En la charla encontraréis cosas como:

  • la apología de vivir arrebatados por el cambio, favoreciendo el florecimiento de nuevas ideas:

«If you had to pick one cause, of both particular difficulty in our field, and also a general difficulty in the human race, it’s taking single points of view and committing to them like they’re religions. This happened with Smalltalk. There’s a wonderful quote by Schopenhauer, a German philosopher of the nineteenth century, who said, “Every idea goes through three stages. First, it is denounced as the work of madmen.” […] and then later, it’s remarked as being totally obvious the whole time, and then the last stage is when the original denouncers claim to have invented it. [Laughter] That’s when it gets in its religious stage. To me, the most distressing thing that happened to Smalltalk when it came out of Xerox PARC, was, for many respects and purposes it quit changing. I can tell you, at Xerox PARC there are four major versions—completely different versions of the language—over about a ten year period, and many dozens and dozens of significant releases within those different versions. I think one of the things we liked the most about Smalltalk was not what it could do, but the fact that it was such a good vehicle for bootstrapping the next set of ideas we had about how to do systems building. That, for all intents and purposes—when Smalltalk went commercial—ceased.»

  • de la orientación a objetos:

«Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves. […] I would compare the Smalltalk stuff that we did in the ’70s with something like a Gothic cathedral. We had two ideas, really. One of them we got from Lisp: late binding. The other one was the idea of objects. Those gave us something a little bit like the arch, so we were able to make complex, seemingly large structures out of very little material, but I wouldn’t put us much past the engineering of 1,000 years ago.»

  • o de cómo él cree que muchas ideas en el desarrollo de software todavía no han llegado a su potencial:

«For a Scientific American article 20 years ago, I came up with a facetious sunspot theory, just noting that there’s a major language or two every 10/12 years, and in between those periods are what you might call hybrid languages. These could be looked at as either an improvement on the old thing or almost a new thing. I chronicled Fortran as an improvement on an old thing or almost a new thing, and Algol and Lisp were the new thing.

Then there was Simula, which the designers thought of as an extension of Algol. It was basically a preprocessor to Algol the way C++ was a preprocessor for C. It was a great concept and I was lucky enough to see it as almost a new thing. Smalltalk and Prolog happened in the early 1970s. The predecessor of Prolog was a wonderful thing that Carl Hewitt did in the late 1960s called Planner.

Perhaps it was commercialization in the 1980s that killed off the next expected new thing. Our plan and our hope was that the next generation of kids would come along and do something better than Smalltalk around 1984 or so. We all thought that the next level of programming language would be much more strategic and even policy-oriented and would have much more knowledge about what it was trying to do. But a variety of different things conspired together, and that next generation actually didn’t show up. One could actually argue—as I sometimes do—that the success of commercial personal computing and operating systems has actually led to a considerable retrogression in many, many respects.

You could think of it as putting a low-pass filter on some of the good ideas from the ’60s and ’70s, as computing spread out much, much faster than educating unsophisticated people can happen. In the last 25 years or so, we actually got something like a pop culture, similar to what happened when television came on the scene and some of its inventors thought it would be a way of getting Shakespeare to the masses. But they forgot that you have to be more sophisticated and have more perspective to understand Shakespeare. What television was able to do was to capture people as they were.

So I think the lack of a real computer science today, and the lack of real software engineering today, is partly due to this pop culture.»

Actualización 16:00

Actualización 02/05

  • Este fin de semana he estado leyendo y viendo más material de Alan Kay. No os perdáis este texto: The early story of smalltalk. No sólo es un repaso a la historia del lenguaje y la metáfora de la orientación a objetos, sino también una panorámica colateral de algunas de las leyendas fundacionales de la informática y los ordenadores tal y como los conocemos.

Semco: democracia empresarial en una manufacturera

La historia de la reconversión de una empresa industrial, en base a la gestión participativa de sus empleados. Un video y un artículo de Ricardo Semler, el impulsor de este cambio que se fundamenta en 3 valores: democracia en la toma de decisiones, reparto de beneficios por igual e información transparene a todos los empleados.

Hace unos días, llegué a un video de Ricardo Semler en la MIT Sloan School (una de las más reputadas escuelas de negocios del mundo) hablando de liderazgo y modos de organización en la empresa: Leading by omission. El video tiene 2 partes: en la primera hace un recorrido sobre los problemas de las organizaciones jerárquicas, para después contar medidas que se han tomado en Semco en favor de la gestión participativa.

Semco es una empresa de manufactura que en el año 1982 estaba a punto de entrar en bancarrota, tenía alrededor de 100 empleados y trabajaba para la industria astillera. Dos décadas despues, en 2003, tenía en torno 3.000 empleados, había diversificado su actividad en varios sectores y había crecido a un ritmo del 40% anual. Todo ello gracias a las reformas en la gestión que promovió Ricardo Semler. Reformas que giraban en torno a lo que llamó los 3 valores de la empresa:

«Participation gives people control of their work, profit sharing gives them a reason to do it better information tells them what’s working and what isn’t.»

— Ricardo Semler

Esta tríada se describe en Managing without managers, un artículo para la Hardvard Business Review de 1989, el mismo año en que publicó “Virando a própia mesa” donde daba cuenta de la transformación de la primera década de la empresa. Impactante es la profunda concepción de la democracia en una empresa como ésta, en el núcleo del sector industrial de Ford y Taylor. Impactactante la claridad y transparencia con que lo dice:

«We send our child to fight for democracy at other countries. But no democracy is given in the workplace, where we spent 66% of our time.»

El video es inspirador. Altamente recomendable. Escucharás cómo una empresa de ese tamaño tiene procesos para que todas las personas implicadas participen en el proceso de selección de nuevos empleados, decisiones estratégicas, etc. Me ha impactado una cita que debería hacernos pensar sobre la ética hacker y la relación con el tiempo más profundamente de lo que lo estamos haciendo:

«How many of you have sent work emails on sunday night? Most of you, I see. And how many of you have seen a movie with your girlfriend on monday afternoon, from 14 to 16? No one. That’s a problem. It’s unbalanced. You got the work on your private space with nothing in return.»

Análisis de comunidades de Software Libre (I): resultados de un estudio sobre GRASS, gvSIG y QGIS

El primer post de una serie, que presenta los resultados de analizar cuantitativamente 3 comunidades de proyectos de software libre, de cara a comprender mejor cómo funcionan.

A la hora de seleccionar una aplicación se valoran habitualmente factores tecnológicos -qué nos permite hacer la aplicación- y económicos -cuánto nos cuesta lo que necesitamos. Y se nos olvida un tercer factor muy a tener en cuenta: los aspectos sociales del proyecto, la comunidad de usuarios y desarrolladores que lo mantienen vivo.

A lo largo de una serie de post que inicio hoy voy a presentar un análisis de las comunidades de 3 proyectos de referencia en el mundo SIG: GRASS, gvSIG y QGIS. Durante el proceso de selección nos hemos quedado con estos 3 porque consideramos que son los más importantes y maduros SIG de escritorio, están además bajo el paraguas de la Fundación OSGEO y presentan diferencias en los actores que los gestionan.

¿Qué hemos hecho?

En los más de 25 años que tiene el movimiento del software libre, se ha demostrado la gran capacidad de creación que tiene un modelo centrado en la comunidad. Un modelo que, además, ha mostrado su viabilidad expandiéndose a otras áreas: creación de contenidos (wikipedia), creación de datos cartográficos (openstreetmaps), traducción de libros, etc. Pero si bien conocemos su potencia, poco sabemos sobre “cómo crear y gestionar una comunidad“. Lo único que podemos hacer es observar qué han hecho los demás y cómo les ha ido. Probar. Tratar de extrapolar heurísticos de la experiencia de otros.

Para contribruir al entendimiento de cómo funcionan las comunidades de software libre –Francisco Puga, otra gente del Cartolab y yo- hemos realizado un análisis de las comunidades en base a la información pública que generan. Los actores de una comunidad interactúan entre sí, y, cuando eso ocurre a través de internet, las interacciones dejan rastro:

  • Listas de correo: los mensajes contienen la fecha, el autor, etc.
  • Wiki: es posible obtener información sobre el autor, la fecha de creación, el número de ediciones de una página, etc.
  • Sistemas de control de errores: información sobre quién y cuándo se reportó, si está resuelto o no, etc.
  • Sistemas de control del código: podemos obtener la actividad sobre la aplicación basándonos en el número de cambios (commits), conocer quién los hizo, la fecha, etc.

Con la base de esta información pública disponible, lo que hemos hecho ha sido un estudio cuantitativo sobre las comunidades que rodean y sostienen a estos proyectos.

¿Cómo lo hemos hecho?

Gracias a la disponibilidad de ciertas herramientas que nos facilitaron el proceso de obtención de información, además de tener en cuenta la calidad de los datos para poder hacer comparativas entre los proyectos, lo que finalmente logramos hacer fue lo siguiente:

  • Sistemas de control de código: hemos volcado toda la información disponible al sistema de control de versiones git para luego parsear su histórico. Esto nos ha permitido estudiar toda la historia de desarrollo de los proyectos hasta diciembre del 2010. Datos para grassgvsigqgis
  • Listas de correo: hemos usado para ellos la herramienta mailingliststats -que construyó principalmente Israel Herráiz, thanks bro!– con datos desde marzo de 2008 hasta diciembre de 2010, en base a:

Algunas aclaraciones sobre el estudio de las listas de correo:

  • Los 3 proyectos tienen muchas más listas para diversos aspectos (traducciones, dirección del proyecto, listas locales, etc). Nos hemos centrado en éstas porque creemos que son suficientes para marcar la tendencia, que realmente es lo que nos interesa; no los números gordos que serían engañosos.
  • En el caso de las listas de usuarios, para gvsig hemos estudiado además de la lista internacional, también la española. Ésta última es donde nació el proyecto y muestra todavía la actividad principal. No hacerlo introduciría sesgos.
  • Por desgracia, la calidad de los datos nos ha limitado el período de estudio: hemos conseguido analizar desde Marzo de 2008 hasta diciembre del 2010.

¿Para qué nos vale?

El estudio de una comunidad tiene diferentes enfoques. El nuestro se basa en el modelo que divide a la comunidad en 3 niveles de participación e implicación:

  • Leaders: aquellos que construyen el producto.
  • Power users: aquellos que lo adaptan a sus necesidades y lo usan intensivamente.
  • Casual users: aquellos que lo usan para una tarea concreta.

Esta aproximación facilita la comprensión de cómo funciona realmente la comunidad, ya que no es lo mismo la aportación de una persona a través de un único mensaje en una lista de correo a la de alguien que se ha pasado 6 meses creando la aplicación. Nos aporta además, información sobre la adopción de las herramientas así como patrones de participación y actividad entre los distintos actores.


Con este enfoque y metodología hemos conseguido realizar los siguientes indicadores:

  • Tendencias de adopción entre usuarios: basado en las listas de correo.
  • Tendencias de adopción entre desarrolladores: basado en las listas de correo.
  • Actividad y fuerza de trabajo: basado en contribuciones de código (commits).
  • Análisis de composición de la comunidad: basado en contribuciones de código.
  • Análisis generacional: basado en contribuciones de código.

En las siguiente semanas iremos publicando los resultados del estudio, de cara a comprender mejor cómo funciona una comunidad de software libre. Stay tunned!

IS11S15

En este informe semanal: el proyecto bugzilla y las comunidades de software libre, el concepto de NoGIS, Google restringe el acceso a google maps, videopoema de Tim Burton y más!

Esta semana, en el mundo tecnológico

 

Mientras, en el mundo fractal que nos rodea…

Bola extra:

IS11S14

Este informe semanal explora: el concepto de ambición horizontal según 37signals, el castillo de google, varias historias sobre el desarrollo y cómo éste se produce y más!

Esta semana en el mundo de los negocios
  • Jason Fried explica uno de los conceptos claves de 37signals: la ambición horizontal. Un artículo brillante que, junto con el crecimiento orgánico, marcarían lo que para mí son 2 de las claves de sostenibilidad de una empresa informacional, que genere riqueza en base a la venta de su conocimiento especializado. Y que, por lo tanto, su éxito dependa de saber o no atraer y mantener el talento de las personas que la componen.
  • Un post que revisita la estrategia de Google como una vez Buffet definió a los negocios rentables: el castillo de google son las búsquedas, todo lo demás (android, chrome, …) miles de fosos que impiden acceder al castillo.

In business, I look for economic castles protected by unbreachable ‘moats’. –Warren Buffet

mientras, en el mundo tecnológico

En el mundo del desarrollo

«Technologies can enrich lives; democracy can be preferable to dictatorship; and market capitalism can be an equitable economic engine, no doubt. But, we fetishize technocratic devices and forget that it’s our finger on the “on” switch and our hands at the controls.»

En el mundo que nos rodea

IS11S12 e IS11S13

Este informe semanal viene centrado en el trabajo y la cultura del emprendimiento. También se habla de ciberguerras, entrevistas a Salvador Rueda, un enlace de contexto sobre las licencias libres en juicios de propiedad intelectual … y más!

La última semana, he estado de vacaciones en Holanda y, aunque es la segunda vez ha sido para mí un verdadero descubrimiento. Todas mis sensaciones están aún madurando y se merecen otro post entero.

Además, he podido participar en las V jornadas de SIG Libre presentando un estudio sobre las comunidades que rodean a los proyectos GRASS, gvSIG y QGIS. Esto creo que se merecerá otra serie de artículos en cuanto tenga un rato. El resumen de las jornadas: aunque no había participado desde las segundas, veo que el buen ambiente y la calidad se mantienen.

Y aquí algunas cosas destacadas de mis RSS en estas 2 últimas semanas:

«Como todas las ciudades, A Coruña participa de la idea de que el derecho de paso por prácticamente todas las calles de la ciudad debe garantizarse. Pero esto no es exclusivo de A Coruña, sino que sucede en todas las ciudades del mundo. Esto viene de que el automóvil se concibió como un artefacto para ir lo más rápidamente posible de un lado a otro de la ciudad, objetivo que chocaba con la forma de ocupar el espacio público hasta entonces, ya que las personas que iban a pie o en tracción animal lo hacían sin restricciones. Cuando entró en liza el coche, al que iba a pie se le asignaron unas cintas al lado de los edificios que son las aceras, de forma que el ciudadano perdió esa condición para convertirse en peatón. La propuesta que estamos preparando para A Coruña consiste en devolverle a la persona la naturaleza de ciudadano que nunca debió perder.»

Y a continuación varios enlaces que reflexionan sobre el trabajo diario:

  • Lo primero: eliminar el ruido. La multitarea es una de las principales enfermedades del siglo XXI. A este respecto me han parecido interesantes los posts de 2 programadores a los que respeto mucho: David Bonilla y Víctor Olaya. Mi camino es diferente al suyo, pero comparto con ellos la base: eliminar el ruido.
  • Lo segundo: el esfuerzo es el único camino. En este blog se ha listado una serie de empresas que no salen en las páginas amarillas de los periódicos. Y sin embargo son grandes protagonistas en los negocios de internet. Me parece que las 2 tienen algo en común: una cultura de hacer con mimo tu trabajo. Son muchas cosas las que quería decir aquí, pero XKCD lo resume mucho mejor:

«I never trust anyone who’s more excited about success than about doing the thing they want to be successful at.»

«Ese desagradable intervencionismo (apaga ya la luz, que horas son estas de llegar, etc) se convertirá en una molestia asumida resignadamente con tal de no atravesar ese corredor oscuro y frío hacia el mundo exterior, con tal de no jugar el papel que a cada uno le toca, que es hacerse cargo de la propia vida y de los propios sueños.»