Atalaya: desde la tela de araña

Cultura en la red, reflexiones, relatos, tutoriales y paridas diversas

Software de interfaz abierto

2003-07-20 16:45 Definición: software de interfaz abierto es aquél que tiene uno o varios interfaces bien definidos y puede usarse libremente a través de esos interfaces.
A lo largo de los últimos meses, me he dado cuenta que que el concepto de software libre, o software de fuentes abiertas (open source software) se está quedando obsoleto. En muchísimos casos, el software no se utiliza en el ordenador local, no se baja, sino que está instalado en un ordenador remoto. En el caso de que esté en el ordenador local, no te interesa, ni se te ocurre, mirar a los fuentes para ver qué diablos va mal, por su misma complejidad (a mí si me casca el Evolution, lo último que se me ocurre es meterlo en el debugger, y mandar un parche). Por lo tanto, no es tan importante que el software sea libre, sino gratuito, ni que las fuentes estén disponibles, salvo en casos de que sean programas pequeños y manejables.
Sin embargo, el software de interfaces libres se está desarrollando cada vez más. Un interfaz libre permite, si no modificar un programa, al menos modificar su comportamiento, y, en muchos casos, permite hacer cualquier cosa con un programa.
Por ejemplo, esta misma Blogalia. Blogalia permite el acceso a través de web, y puedes bajarte o subir contenidos de forma automática desde tu propio programa (en Desarrollo, Cacharreando y Blogaliómetro hay diferentes ejemplos). Permite además, interaccionar con él a través del interfaz XML-RPC, al menos en muchas cosas (y este programa que estoy usando, el Blogatex, hace precisamente eso), y puedes bajarte los contenidos en RDF, y agregarlos a tu página web, si te apetece. Sin embargo, no podemos acceder a los fuentes; aunque no es software de fuentes abiertas propiamente dicho, sería un software de interfaz abierto. Más abierto, en ese sentido, que Slash, que sólo tiene diferentes interfaces de "bajada" (XML, RDF, RSS) y uno solo de subida: a través del formulario (aunque esto también se puede hacer mediante un programa, no es tan fácil como hacerlo a través del XML-RPC).
Miles de sitios, aún sin saberlo, están abrazando esta filosofía del software de interfaz abierto: Google ofrece un API que usa SOAP, Amazon trabaja con interfaces en XML y SOAP, Technorati ofrece un interfaz basado en REST (es decir, en pasar órdenes mediante una dirección web) y XML... en fin, muchísimos sitios son de interfaz abierto, en menor o mayor grado.
Pero también muchos programas no libres lo son. El mínimo grado de interfaz abierto es el permitir skins; es decir, cambiar la apariencia externa; eso, en principio, no cambia la funcionalidad. Sin embargo, juegos como el Quake o el Half-Life permiten mods, modificaciones del comportamiento completo, hasta el punto que un mod, Counter-Strike, es más famoso que el juego original; y en otros casos, como el Unreal, tienen un lenguaje de programación que permite cambiar el comportamiento de los propios bots, los personajes que salen en el juego dispuestos a matar al usuario.
Como se ve, el software de interfaz abierto es un concepto técnico, pero es también una actitud: no sólo hay que hacer ganchos para que la gente pueda usar el software fácilmente, sino que también hay que publicitarlo, y explicar fácilmente como usarlo; si es posible, dando algún programa cliente de ejemplo.
En fin, sirva esta historia para presentar lo que creo que es un nuevo concepto, y para animar a la gente a hacer sus programas y sitios web, si no de fuentes abiertas, al menos de interfaz abierto. Ahora solo me falta un logo y una página web exclusiva. ¿Alguien se anima?

Referencias (TrackBacks)

URL de trackback de esta historia http://atalaya.blogalia.com//trackbacks/9974

Comentarios

1
De: fernand0 Fecha: 2003-07-21 00:04

Tengo mis dudas sobre la obsolescencia del software libre, pero tengo una cosa bastante clara: si los abanderados del soft cerrado hubiera proporcionado interfaces mejores y más claramente documentadas, probablemente no se hablaría tanto del soft libre.



2
De: JJ Fecha: 2003-07-21 04:03

No es que sea obsoleta: es que hay otros conceptos que creo que tienen más importancia. Pero en lo otro, tienes toda la razón.



3
De: jcantero Fecha: 2003-07-21 17:15

Lo que llamas "software de interfaces libres" no es más que el viejo concepto de API, así que me temo que estás redescubriendo el Mediterraneo...

En cuanto a: "or lo tanto, no es tan importante que el software sea libre, sino gratuito, ni que las fuentes estén disponibles" piensa que si eso fuera así, no existiría la Knoppix, que no es más que una adaptación de otra distribución al gusto del autor, basándose en que tienes los fuentes para poder hacerlo.

Y en cuanto a lo de gratuito, me parece a mí que la gente no tiene ningun impedimento por pagar por un producto o servicio de calidad un precio razonable. Por poner un ejemplo próximo: Bloxus.



4
De: fernand0 Fecha: 2003-07-21 17:16

bloxus no es de pago (ni nada, aún, pero creo que de pago no va a ser). Sólo está en fase de pruebas.



5
De: jcantero Fecha: 2003-07-21 18:56

Vaya, pues los mensajes que aparecieron en la noticia de su apertura me hicieron deducir lo contrario...

DTM, era sólo un ejemplo "cercano" que quería poner. Podría hablar de los CDs de Red Hat o SuSE, del Mandrake Club, y de mil cosas más.



6
De: JJ Fecha: 2003-07-21 21:42

jcantero: sí es el API, pero también el software libre es solo software, o si me apuras, software gratis. O no? Es un redescubrimiento del mediterráneo?



7
De: jcantero Fecha: 2003-07-22 01:54

Que el software libre es software, desde luego que es un redescubrimiento del Mediterraneo... }:-)

No te lo tomes a mal. Simplemente que me parece que se le da una importancia actualmente a los sistemas distribuidos (llámese .NET, Mono o como se quiera) excesiva, máxime cuando llevan inventados más de veinte años, y todavía no se les ha visto la gracia.

Para empezar, se necesita una infraestructura de red que sigue sin existir. Y estoy pensando en Estados Unidos, no en esa nación de banda ancha patrocinada por un tal Piqué. ;-).

Aun así, la computación distribuida tiene sentido cuando tiene sentido (cuando las aplicaciones no se pueden ejecutar en el cliente porque, por ejemplo, no tienen potencia suficiente -un móvil-). Pero resulta que es al revés, que cada vez tenemos más y más potencia en equipos que no hacen nada, sino esperar paquetes.

Con los pedazos de maquinones que existen hoy en día, la única razón por la que a unos cuantos les puede interesar ejecutar las aplicaciones en remoto, en vez de permitir su instalación en local está clara: el dinero. De esta forma se puede controlar, y por lo tanto tarificar. Alquilar programas. Eso choca frontalmente con lo que estabas contando del software gratis...

Por otro lado, los que usamos softwar libre, no necesitamos ejecutarlo en remoto si podemos hacerlo en local. Una ventaja más. :-)

Me estaban tratando de convencer hace un rato de las ventajas del LDAP, y francamente me pasa lo mismo. Los sistemas distribuidos están bien, pero no puede el uso local del computador, salvo que terminemos en los viejos sistemas centralizados con terminales Facit. O, ya más modernos, en televisores más o menos interactivos.



8
De: JJ Fecha: 2003-07-22 04:07

No estoy hablando solo de computación distribuida, sino de, por ejemplo, feeds RSS, o del atalayillo que ves a la izquierda de esto: ahí donde lo ves, está haciendo peticiones a una BD, a Amazon y al propio Blogalia. Si no fuera por los interfaces abiertos, no podría hacerlo.
NO estoy hablando de que sea un concepto que vaya a sustituir al software abierto, sino a complementarlo, de la misma forma que la LGPL complementa a la GPL. Se podría crear una IGPL que considerara qué debe tener un interfaz para que se considere abierto; por ejemplo, que a su vez la información que agregue la ofrezca mediante interfaz abierto.
Por ejemplo AllConsuming, el sitio que se baja libros de bitácoras: usa feeds RSS, los servicios web de Amazon, y a su vez ofrece un interfaz REST y mediante servicios web; a eso es a lo que me refiero con interfaz abierto.



9
De: jcantero Fecha: 2003-07-22 17:05

Se ha estado especulando que la GPL v3 iba a tener en cuenta el "linkado" (o el uso) de partes de programa a través de la red. Pero dudo mucho que sea únicamente con interfaces abiertos (se perdería la claúsula vírica).

Para mí, es computación distribuida, puesto que parte de tu programa se está ejecutando en distintas máquinas. La computación distribuida no se reduce sólo al concepto de cluster o sistema multicomputador.



10
De: jomaweb Fecha: 2003-07-22 18:52

Yo siempre he tenido la sensación de que en lo que se refiere a la arquitectura del software vamos hacia atrás.
Lo primero que yo ví eran aquellas terminales tontas de fósforo verde con programas en modo texto contra un mainframe AS400.
Después pasamos a la época de los equipos con chorrocientos megahercios y programas de chorroypico megas de ram. Y ahora volvemos a lo de antes.



11
De: fernand0 Fecha: 2003-07-22 18:59

jomaweb: en realidad no es hacia atrás, más bien me parece que es cíclico centralizado -> descentralizado -> centralizado -> .....



12
De: JJ Fecha: 2003-07-22 23:55

De acuerdo, jcantero, es computación distribuida; pero si ofreces servicios, será cuestión de que los publicites claramente, que especifiques su interfaz, y que quede claro cuál es la política de su uso.
jomaweb, fernand0, yo diría que más que cíclica es simultánea; la arquitectura cliente-servidor convive hoy en día con arquitecturas de 3 partes y con otras P2P.



13
De: Anónimo Fecha: 2003-07-23 01:43

pero si ofreces servicios, será cuestión de que los publicites claramente, que especifiques su interfaz, y que quede claro cuál es la política de su uso

Por eso digo que es un API. Lo que estás diciendo es la deficinión de API (fíjate que ni siquiera has usado la palabra "licencia", sino "política de uso"; dudo mucho que los APIs puedan llevar copyright -otra cosa es tema de patentes-).



14
De: JJ Fecha: 2003-07-23 05:14

No llevan licencia, pero tienen políticas de uso. Por ejemplo, el interfaz google está limitado, creo que a 1000 al día. Un interfaz abierto no tendría esas limitaciones. Otro ejemplo serían los interfaces whois, que también tienen limitaciones...
Insisto, el concepto de API libre o interfaz abierto no es nuevo, igual que no lo es el software libre, pero creo que habría que luchar por liberar interfaces tanto como por liberar software.



15
De: Epaminondas Pantulis Fecha: 2003-07-23 15:33

Lo que no acabo de entender del concepto de "interfaz abierto" es: ¿acaso puede haber interfaces no abiertos? En caso afirmativo, de un ejemplo ;-)




16
De: Sara Fecha: 2003-07-24 17:03

JJ, ¿te has ido de vacaciones sin despedirte o estás recorriendo el mundo de curso en curso? En cualquier caso, que te diviertas y vuelvas pronto :-)



17
De: JJ Fecha: 2003-07-24 17:58

Sara:Estoy de bolos... pero ahora mismo estoy de vuelta a la casilla de salida
EP: una página web que haya que procesar a base de "scraping" sería un interfaz no abierto, como un blog que no ofrezca RSS. En general, todo lo que está en la web está abierto, pero a) puede tener licencias restrictivas (del tipo no deep linking) y b) hay grados... hay interfaces más abiertos que otros. Blogalia ofrece más interfaces que bp, por ejemplo.



18
De: JJ Fecha: 2003-07-24 23:56

Un ejemplo de interfaz no libre que se podria liberar es el puñetero up2date de RedHat, que cada dos por tres manda encuestas, y si no las rellenas, te quita el acceso. Hay que joese!



19
De: Esteban Fecha: 2005-04-27 12:58

Si fuese posible que se me enviase un e-mail con informacion sobre API -( Application Programming Interface ), cualquiera que lo visite, y sepa explicar el tema, acudo a su colaboracion.
Sin mas que agregar, desde ya gracias



20
De: Epaminondas Pantulis Fecha: 2005-04-27 13:09

Está claro que la gente piensa que los blogalitas en general tenemos el don de la telepatía o clarividencia.



21
De: ALEJANDRO Fecha: 2008-04-17 01:30

Cuando son los propios programas que se están ejecutando simultánea
mente los que deciden qué parte de procesador ocupan, hablamos de un sistema



22
De: alejandrino perez Fecha: 2011-10-17 14:44

mamaguevasos esta pagina no sirve



23
De: alejandrino perez Fecha: 2011-10-17 14:44

lol



24
De: alejandrino perez Fecha: 2011-10-17 14:44

putos



Se comenta en...

  • JJ en [Libro #1] Harry Potter and the Cursed Child, de JK Rowling, John Tiffany y Jack Thorne
  • Anonima en [Libro #1] Harry Potter and the Cursed Child, de JK Rowling, John Tiffany y Jack Thorne
  • JJ en [Libro #29] El guardián invisible, de Dolores Redondo
  • Jorge en [Libro #29] El guardián invisible, de Dolores Redondo
  • JJ en [Libro #30] Code simplicity, de Max Kanat-Alexander
  • rvr en [Libro #30] Code simplicity, de Max Kanat-Alexander
  • JJ en [Libro #22] Fantasía, de Emilia Pardo Bazán
  • Palimp en [Libro #22] Fantasía, de Emilia Pardo Bazán
  • marta en [Libro #21] Birchwood, de John Banville
  • JJ en [Libro #10] The son, de Jo Nesbo
  • Sobre Atalaya

    Esta es la bitácora o blog de Juan Julián Merelo. Si quieres contactar con el autor, usa su correo electrónico jjmerelo (arroba) gmail.com, o simplemente deja un comentario. Y si quieres leer alguna cosa más de las que escribe, prueba esta novela

    Listas de deseos

    A veces leo

    Otras veces escribo en

    Blogalia Blogalia