Entradas etiquetadas en ‘OpenID

Web 2.0 y Software Libre: una relación de amor-odio

7 Comentarios »

El miércoles pasado, en la semana paréntesis de mis vacaciones, di la charla “Web 2.0 y Software Libre. Una relación de amor-odio“, dentro de los cursillos de julio del e-ghost. Las sensaciones tras la misma fueron muy positivas, dado que hubo un interesante debate entre los asistentes (Mario, muchas gracias por tu activa participación :D ).

Como siempre, aquí tenéis la presentación y un poco de letra para que se entienda:

Arrancamos poniendo cara a cara a dos de los baluartes de ambos mundos: Tim O’Reilly por la web 2.0 y Richard Stallman por el mundo del software libre, con dos posiciones bastante diferenciadas y extremistas.

Por un lado Tim, que en la única conferencia en la que le he visto en directo, preguntó al auditorio si usaba software libre. Se trataba de un evento organizado por Empresa Digitala y los asistentes eran de lo más variopinto, así que pocos fueron los que levantaron la mano. Justo después preguntó quién usaba google para hacer búsquedas. Ahí sí se levantaron todas las manos. Entonces, dijo Tim, todos usáis software libre, porque los servidores de google están montados con herramientas libres. Es un planteamiento cogido con pinzas (es como decir que tú ayudas a los indígenas del Amazonas porque compras un producto que destina el 1% de sus ventas a ayudarles), pero viene genial para analizar las tripas de la Red. Por ejemplo, si miramos las estadísticas de netcraft de junio de 2009, vemos como Apache sigue siendo el servidor web más usado (a pesar de que, desde 2006, momento en que Goddady decidió cambiar sus servidores apache por IIS, no ha dejado de bajar).

Y en el otro polo tenemos a Richard Stallman, que en septiembre de 2008, hizo unas declaraciones para The Guardian en las que indicaba:

[...] “Una razón por la cual no deberían usar aplicaciones web es porque se pierde el control. Es tan malo como usar software propietario. Haz tu trabajo en tu propio ordenador con un programa que respete tus libertades. Si utilizas un software propietario o el servicio web de otra persona, estás sin defensas. Estás en las manos de la persona que desarrolló ese software.”

Como decía antes, una posición un poco extremista pero no falta de razón (como indicó Mario, en ocasiones, necesitamos este tipo de tirones de orejas, que aunque son un poco alejados del realismo, nos hacen plantearnos cosas).

Está claro que estamos ya metidos en el ciclón del cloud computing y es muy difícil salir de él. Nos reporta tremendas ventajas: acceso a nuestros datos desde cualquier parte, necesitando sólo una conexión a Internet y un navegador, usando servicios que son más fiables que nuestro propio ordenador (con su propio sistema de backups y mayor disponibilidad)… O al menos eso creemos, porque luego suceden casos como el de Magnolia, un sistema de marcadores sociales que hizo crack y perdió todos los datos de sus usuarios, dando de lado a los que tenían cuenta gratuita y devolviendo el dinero a los de pago (pero… ¿cómo se recompensa el tiempo y el conocimiento generado hasta entonces?). Además, siempre hablamos de cajas negras (nadie sabe cuál es el código fuente de google ni qué hace por debajo… igual que sucede con windows). Tampoco conocemos quiénes son los administradores de una plataforma ni cuáles son sus intenciones. Yo, como bofh de Nireblog, tengo acceso a los usuarios y contraseñas y estoy convencida de que más del 50% de ellos usarán ese mismo login y password en otros sitios. Por tanto, nadie nos puede asegurar que se monte una plataforma-trampa para recoger esos datos. Tampoco podemos cambiar esas plataformas y amoldarlas a nuestras necesidades (una de las razones que hicieron a Richard Stallman ponerse en pie de guerra e iniciar el proyecto GNU). La única libertad es la que nos otorgan las APIs. Por tanto, cada vez somos más esclavos de las plataformas: ¿y si cierran? ¿y si cambian de manos y por tanto, de filosofía? ¿y si pierden nuestros datos? ¿y si cambian las condiciones de uso? (bueno, de algunas plataformas, no hace falta que cambien porque ya hemos aceptado términos abusivos desde el inicio). No hay más que echar un vistazo a Twitter cuando se cae GMail para ser conscientes de nuestro nivel de dependencia. De hecho, es la mejor forma de ilustrar la diferencia de significado de la palabra inglesa free. El software libre es free como la libertad de expresión. La web 2.0 es free como la cerveza gratis. Aunque lo que es indudable es que ambos tienen la misma filosofía por detrás: la de generar conocimiento abierto y compartir con la comunidad.

Y entonces, ¿cuál es la solución ante esto? Sólo hay una salida: los estándares abiertos que nos permitan la portabilidad de nuestros datos de un lugar a otro. De esta forma, seremos capaces de movernos de una plataforma a otra, sin tener ese yugo. Para hablar de esa portabilidad, tenemos que diferenciar entre tres tipos de información que generamos en la Red: los contenidos propiamente dichos, la identidad con la que nos autenticamos en los lugares y las interacciones o relaciones que establecemos. Aunque pudiera parecer que los tres nos pertenecen, casos como el de Robert Scoble nos alertan de lo contrario. A este conocido bloguero americano le cerraron su cuenta en Facebook por intentar exportar los nombres, emails y cumpleaños de SUS contactos a plaxo mediante un script. En un alegato a la incoherencia, Facebook puede rastrear la libreta de direcciones de tu cuenta de correo para buscar contactos pero te prohíbe que los saques de allí (es lo que se conoce como walled garden o jardín cerrado). Y es que el mejor truco del ilusionista 2.0 es hacernos creer que nuestros datos nos pertenecen. Por ejemplo, diariamente alimento mi cuenta de last.fm con las canciones que escucho, participando en una base de conocimiento global que ayudará a otros usuarios a descubrir grupos relacionados. Hasta ahora, todo muy bonito y con un lazo rosa. Pero, ¿puedo obtener mis datos para, por ejemplo, pasárselos a Amazon y que me muestre esos discos y así poder comprarlos? NO.

DataPortability

Se trata de una plataforma que trata de plantear una serie de estándares abiertos para generar redes sociales abiertas:

  • OpenID: sistema de autenticación descentralizada. Ya en un post anterior contaba los pros y contras de esta tecnología que nos evita volver a introducir nuestros datos cada vez que nos queremos dar de alta en un servicio.
  • OAuth: protocolo de autorización. Una aplicación web puede acceder a la información de un usuario en otra sin tener que informarle del login y contraseña. Twitter, recientemente, ha adoptado oauth para comunicarse con otras plataformas que usan su api. De esta manera, podemos usar servicios como el de twitterfeed sin pasarle nuestra contraseña de Twitter.
  • OPML: formato xml para esquemas que nos permite exportar colecciones de RSS. Por ejemplo, podemos exportar todos los blogs a los que estamos suscritos en nuestro bloglines y luego importar ese fichero a Google Reader.
  • APML: mapa de intereses de un usuario. Es decir, una forma de almacenar todo lo que nos resulta interesante en una web: una canción en blip.fm, un estado en facebook, un enlace en del.icio.us, …
  • Microformatos: agregando significado semántico a los contenidos. Una forma de que las máquinas puedan interpretar como lo haría una persona. Ejemplos: hCard, XFN, …

Existen otras tecnologías como OpenSocial que, aunque en su nombre lleva la parte de Open, no nos puede llevar al engaño, puesto que no es un protocolo de comunicación entre redes, sino un estándar para el diseño de gadgets, de forma que si se crea uno, pueda funcionar en Google, LinkedIn, MySpace, Plaxo, Yahoo, … Pero como comentaba antes, lo de open lo limita luego cada plataforma. Por ejemplo, en LinkedIn se reservan el derecho de admisión de gadgets hechos con OpenSocial (por ahora sólo permiten una serie de aplicaciones).

En la línea de la interoperabilidad también está el open cloud manifesto, firmado por grandes nombres como AMD, eyeOS, Sourceforge, Sun, IBM, … pero sin el apoyo de Google, Microsoft, Amazon, … Y es que el gigante Google suele darnos cal y arena. Está claro que lo que hace, lo hace muy bien. Y su aportación al mundo del software libre no se puede desdeñar: su navegador google chrome basado en chromium (licencias BSD y CC-by 2.5), el sistema operativo para móviles android (apache license 2.0 y GPLv2) y muchas otras aplicaciones que podemos encontrar en google code (gears, jaiku, …). Por no hablar del próximo tsunami de Internet: Google Wave, que nos indican que será libre (cualquiera lo podrá instalar en su servidor), usará un protocolo libre (cualquiera podrá hablar con él) y tendrá una api abierta para desarrollar gadgets usando OpenSocial. De hecho, harán una apuesta arriesgada apostando por el HTML5 (que ahora mismo no funciona en Internet Explorer). Pero a pesar de todos estos regalos que nos hacen los chicos de Mountain View, tenemos que ser conscientes de que un único dueño y señor de Internet es nefasto.

Licencias en la web

  • GPL: es una licencia copyleft que está más pensada para el mundo del software que para el de la web. Lo que se cree derivado de algo con GPL tiene que mantener la misma licencia. Sin embargo, se pueden hacer modificaciones y no ponerlas a disposición del mundo, dado que al usuario final, lo que le llega es el código HTML. Paquetes con esta licencia: WordPress, MediaWiki, Drupal, Joomla, …
  • Affero Public License (AGPL): a diferencia de la GPL, todas las modificaciones que se hagan deben ser puestas a disposición de todo el mundo. Es curioso como Google tiene vetada esta licencia en Google Code (cada uno ate sus cabos ;-) ).
  • Apache License: es la que utiliza la Apache Foundation. No es copyleft (los productos derivados no tienen por qué tener esa licencia) y es mucho más laxa que las anteriores. Las obras se pueden modificar, se pueden redistribuir y se puede usar para cualquier propósito. Productos con esta licencia: Lucene, Android, …
  • MIT, BSD, … : licencias aún más laxas que permiten usar, copiar, modificar, integrar con otro software y sublicenciar.

Alternativas web libres

Excelentes enlaces recibidos a través de Twitter sobre el tema (gracias @txipi y @gallir :D ):


OpenID, una auntenticación para gobernarlos a todos

15 Comentarios »

Últimamente están saliendo a la palestra muchos casos de robos de cuentas gracias a la ingeniería social, es decir, el engaño de toda la vida. Ni las plataformas más potentes se libran, porque, como se suele repetir en el mundo de la seguridad, ésta es tan fuerte como el más débil de sus eslabones: el usuario. Así que si alguien os vende un día la moto de la seguridad total, desconfiad de inmediato. Eso no es posible.

Una tecnología que lleva un tiempo interesándome para la autenticación es OpenID. A continuación veremos sus puntos fuertes y sus puntos débiles.
openid

¿Qué es OpenID?

Según la wikipedia es un sistema de identificación digital descentralizado, con el que un usuario puede identificarse en una página web a través de una URL o un XRI. Es decir, una forma de autenticarse en las páginas web sin necesidad de tener un usuario por cada una de esas plataformas. Algo así como mandar a todas las webs a un lugar central a pedir nuestras credenciales. Ese servidor central se denomina proveedor de identidad o IdP. ¿Os imagináis no tener que exprimiros más los sesos cada vez que tenéis que iniciar sesión en esa página de la que no recordáis ni el nombre de usuario ni la contraseña? Se acabó también usar la misma contraseña para todo (con el peligro que eso entraña). Basta con meter nuestra url de identificación para que se ponga en contacto con nuestro IdP. Incluso podremos decidir qué datos compartimos con esa página en concreto.

Para los que crean webs, también puede ser de gran ayuda porque ya no tienen que encargarse de la gestión de usuarios.

Pero cuidado, que no todo el campo es orégano. Esto también hace que tengamos un único pie de apoyo. Si logran hacerse con nuestra contraseña en el IdP, habremos comprometido toda nuestra identidad digital. Y hacer phising de esta cuenta puede llegar a ser realmente fácil. Por ejemplo, puedo crear una página “tarro de miel” (es decir, para atraer a los incautos) que necesite logueo con OpenID. Cuando lo haga el usuario, le redirigiré a una página falsa para que meta sus credenciales. Y es que el problema es que soy yo quien hace la redirección al IdP.

Además, estamos dando un inmenso poder a ese servidor central (que sabrá incluso por donde navegamos). La ventaja es que nosotros mismos podemos tener nuestro propio servidor y así no depender del manido cloud computing (es la ventaja que tienen los estándares web abiertos).

Más son los problemas que aún aquejan a este sistema, así que mi recomendación es que no se haga uso de él para cosas muy importantes ;-)

¿Cómo hacemos que nuestro blog haga de IdP?

No es que haga de IdP tal como lo he explicado anteriormente, sino que sirve de intermediario (algo así como lo hace Feedburner con nuestros rss). Dado que es más difícil que cambiemos la dirección de nuestra página personal que la plataforma que nos da las credenciales, me parece la mejor solución.

Para que esto funcione, copiamos las siguientes líneas dentro de las etiquetas <head> (en este ejemplo se hace uso de el IdP openid.blogs.es, pero tendrás que buscar las líneas correspondientes al tuyo):

<link rel=”openid.server” href=”http://openid.blogs.es/index.php/serve” />
<link rel=”openid.delegate” href=”http://openid.blogs.es/NOMBREDEUSUARIO” />

Si en un momento dado cambiamos de IdP (o éste cierra la persiana), sólo tendremos que modificarlo en la cabecera de nuestro blog y no se irán al garete nuestras credenciales en otras plataformas. De esta forma independizamos la dirección que nos representa en línea del servicio IdP.

¿Cómo hacemos para que nuestros lectores puedan dejar comentarios con su cuenta OpenID?

Gracias a OpenID se podría acabar con las suplantaciones en los comentarios, puesto que es una forma clara de decir: ésta soy yo. Existen varios plugins para WordPress que permiten que los comentaristas se identifiquen mediante OpenID: OpenID Comments, OpenID for WordPress, WordPress Delegate Plugin, … Y como el camino se aprende andando y es mejor predicar con el ejemplo, yo he instalado OpenID, que permite que cualquiera deje un comentario sin necesidad de rellenar su nombre y dirección de correo. Además también se puede acceder al back-end de wordpress con esta identidad. Por cierto, si tenéis instalado WP Contact Form III, tendréis que hacer unos arreglitos para que convivan ambos.

Incluso a plataformas como Mediawiki se les puede instalar una extensión para que se use la autenticación vía OpenID.

Lugares donde puedes crearte una cuenta OpenID:

Si tienes tu blog alojado en blogger, LiveJournal, WordPress.com, …. , tu propia url ya te sirve de identificador.

¿Qué grandes plataformas permiten el uso de OpenID?

Technorati, Blogger, Zoomr, Bloguzz, Live Journal, Wikispaces, … y muchos más. Incluso hay sites en los que es la única manera de loguearse, como por ejemplo, Twitterfeed o blogs donde sólo se puede comentar así, como el de David de Ugarte.

Otros enlaces de interés:

Related Posts Plugin for WordPress, Blogger...