2 de noviembre de 2009

Tiendas de aplicaciones: El panorama linuxero

Despues de escribir sobre la posible generalización de las tiendas de aplicaciones en todas las plataformas debido a sus ventajas económicas, solo queda examinar cómo se enfrente Linux a este fenómeno.

Mucha gente ha dicho, yo tambien, que las App Stores son una imitación de los sistemas de gestión de paquetes de Linux como APT y Yum. Hay que reconocer que, en gran medida, son exactamente eso. Ubuntu lleva ya un tiempo con una aplicación gráfica donde el usuario puede instalar miles y miles de aplicaciones a golpe de click.

Al ser, además, parte integral del sistema, tambien gestionan las actualizaciones no solo de las aplicaciones sino del software del propio sistema. Eso hace, entre otras cosas, que las actualizaciones entre versiones de una distro sean -en mi opinión- mucho más fiables que en otras plataformas, que sin bien pueden actualizar entre versiones sin demasiados problemas, lo hacen a ciegas, blandiendo la espada y dejando que Dios reconozca a los suyos. En una actualización importante de una distro Linux puedes tener un problema de dependencias debido, por ejemplo, a algún paquete instalado a mano. O a un paquete rebelde de algún repositorio no prioritario. O cualquier otro problema. Pero eso tambien forma parte del concepto de fiabilidad: Hay un problema y el sistema te lo señala claramente, y te dificulta y hasta prohibe actualizar hasta que no lo resuelvas; intenta, en resumen, impedir que el sistema entre en un estado indefinido, trata de evitar el problema antes de que ocurra. Hay gente que maldice los gestores de paquetes de Linux y su sistema de dependencias, pero no se dan cuenta de los problemas posteriores que evitan.

Hay muchas razones para amar nuestros gestores de paquetes; suponen un adelanto de 10 años (apt 0.0.1 nació el 31 de Marzo de 1998) al App Store de Apple. Durante este tiempo han supuesto un inconveniente para la distribución de software a base de programas individuales, pero si el modelo de los repositorios se generalizara, sería algo del pasado. Seríamos, por tanto, unos pioneros en el tema.

Sin embargo, no todo es tan bonito. El App Store es algo más que un mero repositorio. Como decía en el artículo anterior, en realidad es un supermercado que permite ejercer los mecanismos de oferta y demanda. Es un lugar virtual para ofrecer productos y pagar cómodamente por ellos. Los sistemas como APT son ajenos a eso, no se pueden comprar ni vender aplicaciones, no son un mercado, y por lo tanto los programadores no tendrán ningún incentivo para poner programas de pago en ellos, tendrían que construirse su sistema anticopia y de cobro online.

La cuestión, claro, es si Linux quiere o debe crear un mercado de aplicaciones. Choca frontalmente con el concepto de software libre. Desde ese punto de vista, APT no necesita ni permitir cobrar ni permitir vender aplicaciones. Además, aunque se permitiera la existencia de ofertas comerciales, la orientación del software libre tiende a reemplazar toda oferta comercial con alternativas libre, asi que quedarían pocos resquicios para construir aplicaciones por las que la gente esté dispuesta a pagar dinero. Asi que Linux en principio no necesita tal sistema...para pagar por aplicaciones.

Otra cuestión es la de pagar por otros servicios, como video, música, o cualquier otra cosa. Si la compraventa tiene dificultades en Internet, y si la solución es crear un sistema que permita a la gente pagar/cobrar dinero de/a su cuenta fácilmente, la ausencia de tal sistema para Linux supone una desventaja que solo una empresa basada en web 2.0 y protocolos abiertos, como google, podría suplir.

Un detalle importante que Linux puede aprender de las tiendas de aplicaciones es la barrera de entrada. En la App Store, un desarrollador puede registrarse, pagar su cuota de 99$ y subir su aplicación en relativamente poco tiempo; tras una revisión, Apple decide si la incluye, si hay algún problema serio con ella no la acepta o la borra cuando lo detecta. El proceso es relativamente sencillo. Sin embargo, para poder incluir una aplicación en un repositorio como los de Ubuntu o Debian hay que convertirse en desarrollador de la distro y atravesar un intrincado laberinto de burocracia. No se diferencian a los mantenedores de la distro y a los que quieren subir y mantener una pequeña aplicación, aunque ésta sea libre. Esto desalienta que, por ejemplo, alguien de Facebook suba y mantenga un programa para acceder a su página, o que un desarrollador de cierta aplicación libre suba y mantenga su aplicación en los repositorios de Ubuntu o Debian: siempre hay que esperar a que lo haga un mantenedor.

Tal vez fuera útil que las distros como Ubuntu y Debian concibieran una nueva clase de colaborador, un colaborador que no pretende ser desarrollador de la distro sino mero mantenedor de un pequeño programa, que pueda empezar a hacerlo fácil, casi automáticamente, que todo lo que haga no pueda afectar más que a su paquete, que haya un sistema para borrar su aplicación si su programa comete alguna infracción. Los repositorios PPA de Ubuntu son un gran paso en ese sentido, pero quizás haga falta algo más.

13 comentarios:

  1. "Tal vez fuera útil que las distros como Ubuntu y Debian concibieran una nueva clase de colaborador, un colaborador que no pretende ser desarrollador de la distro sino mero mantenedor de un pequeño programa, que pueda empezar a hacerlo fácil, casi automáticamente, que todo lo que haga no pueda afectar más que a su paquete, que haya un sistema para borrar su aplicación si su programa comete alguna infracción."

    Tengo entendido que Ubuntu está reestructurando la asignación de permisos para que los desarrolladores se puedan meter solo en un paquete, o en un conjunto de paquetes, para poder colaborar.

    ResponderEliminar
  2. dieresis: suena muy interesante

    ResponderEliminar
  3. En Arch Linux tienes el repositorio de la comunidad y el AUR.

    En el AUR cualquiera puede subir nuevos paquetes. Los más votados pasan a formar parte del repositorio de la comunidad.

    ResponderEliminar
  4. el build service de openSUSE permite hacer paquetes para todas las distros y plataformas. Es un paso, solo habría que usarlo como dice el del primer comentario.

    ResponderEliminar
  5. Diego, dices que "[...] el mercado de aplicaciones choca frontalmente con el concepto de software libre." ¿Por qué? ¿por cobrar? recordemos que el software libre también se paga (al menos parte) y no veo ningún inconveniente en ello.

    Es más, desde que vi el centro de soft. de Ubuntu me pregunté cuánto tardaría en ver los botones "Donar" y "Comprar".

    ResponderEliminar
  6. En gentoo también se está intentando crear la figura de colaborador-proxy, tu te encargas de uno o unos paquetes pero son responsabilidad de algún colaborador. De todas formas también hay repositorios comunitarios como sunrise en el que cualquiera puede subir y mantener su paquete.

    ResponderEliminar
  7. Otro buen artículo.
    Efectivamente los gestores de paquetes de linux son los pioneros de las appStores pero nunca tuvieron un planteamiento monetarista y quizás radique ahí el motivo por el que Linux sigue sin despegar en los escritorios... pero, oh WAIT?!!! Parece que los linuxeros sí que están dispuestos a pagar!!! De hecho recuerdo que hace poco una empresa de soft que publicó un juego obtuvo buenos beneficios de su versión linux (siento no disponer del enlace). Y ¿Qué pasa con Android? Tiene un marquet que funciona y es un Linux.

    Efectivamente... pronto llegará Google y veremos.

    /*Autobombo On*/
    Hablé del mismo tema en mi blog no hace mucho.

    ResponderEliminar
  8. compañero Diego C. su post aunque interesante tiene unos fallos:
    en primer lugar el software libre no es necesariamente software gratuito, distribuciones como red hat, o elive cobran por su software o por sus servicios al igual que lo hace canonical por ejemplo, una aplicación como apt o mejor, como synaptic, puede ofrecer perfectamente un soporte de pago, recuerde que Rhythmbox tiene una tienda online donde vende música con licencia creative commons, así mismo se podría crear una aplicación que realizara lo mismo solo que con aplicaciones, además, un sistema así no afectaría en lo más mínimo al software libre, igual es una forma de compartir software; si pagas, te doy el software y el código fuente, de igual forma, muchas personas pagarían antes que tener que compilar un simple tarball, ahora por la parte de los repositorios, una aplicación es mantenida por su desarrollador o un tercero que lo deseé, que cada distribución tenga en sus repositorios dicha aplicación, es responsabilidad o bien de la misma distribución porque ve necesaria o útil la aplicación o por los usuarios que la demandan o bien porque el desarrollador pide que se encuentre en los repos de dicha aplicación, en tal caso o se acepta o se refuta sin ningún problema, y se explica el porque de la respuesta, además con montar un simple servidor ftp, cada desarrollador puede tener sus propios y personales repositorios.

    ResponderEliminar
  9. Estoy de acuerdo con Orphen, muy interesante el articulo pero con fallas garrafales. Y es una lastima pues era el broche de oro de la trilogía.

    Libre no es sinónimo de gratuito, y es algo que se debe repetir una y otra vez para que la gente termine de entenderlo y lo tenga claro. El Software Libre no esta en contra del negocio, esa es una mentira que muchos utilizan para desprestigiarlo. Aquí les enlazo la opinión oficial de GNU al respecto:

    http://www.gnu.org/philosophy/selling.es.html

    En cuanto a las trabas burocráticas para ser colaborador, estoy muy de acuerdo. Hay algunas distros que facilitan las cosas, pero la gran mayoría no permite tal flexibilidad.

    ResponderEliminar
  10. Anónimo3:09 p. m.

    #underme. Efectivamente, no por ser linuxero no se esté dispuesto a pagar. Yo, cuando los programas eran absolutamente caros y abundaban las copias piratas (antes de que internet comenzara a se lo que es), pagué por una distribución Red Hat 5 distribuida por Marcombo. A mi no me importa pagar por algo que es bueno, no por algo que no hay por dónde cogerlo y que sobre todo es puro marketing, como solía ocurrer con los upgrades de Microsoft. Si el producto merece la pena y el precio está acorde con el producto, la gente paga. Eso es así.

    ResponderEliminar
  11. marcos hipe4:48 p. m.

    muy buen post!!
    creo que linux tendria que brindar la posibilidad de comprar cosas desde su misma plataforma (manejadores de paquetes), abriria las puertas a mucha gente, tanto a la que quiere vender como a los que quieren aplicaciones de pago. no lo veo para nada mal. tambien me gustaria que este el boton donar, me parece algo mas... nose, justo (obvio que se necesita concientizar a la sociedad, pero... yo por lo menos donaria plata a alguien que me ayuda dandome un buen programa)
    estaria muy bueno que las distros sean las que dan la oportunidad de comprar, porque, como mensionaste en un post anterior, da mucha mas seguridad y facilidad.

    estoy de acuerdo en que lo de los colaboradores esta demasiado dificil, y que los programadores necesitan poder ofrecer los programas a todas las distros. me parece que aca falla la comunicacion entre las distintas distros. para mi tiene que haber algun standar entre ellas, o alguna aplicacion (realmente bien hecha) que, teniendo vos el ejecutable (o lo que sea) lo convierta a los distintos paquetes de las distros.

    ResponderEliminar
  12. Anónimo6:22 p. m.

    Estimado Sr,
    Veo que cuenta con una web, de muy buena calidad y le agradeceria realizar un intercambio de enlaces
    con mi pagina web de tematica DISEÑO WEB, si se encuentra de acuerdo espero su respuesta a mi correo tucontactoweb@gmail.com Gracias.

    ResponderEliminar
  13. Creo que en este artículo Diego no confunde SW libre con SW gratis. Está claro que libre != gratis, eso lo sabemos todos e, imagino, que él más aún.

    Creo que la idea es que en el caso de una App Store donde el SW se compre, comprarás el binario, no el código fuente. La idea de una App Store no es darte el código fuente, porque entonces no le auguro mucho futuro como "Store".

    De ahí la preocupación de "¿Que sentido tiene una App Store en un mundo libre? ¿Cómo se ubica un sistema que vende programas, pero no código fuente en un entorno libre?"

    Creo que la reflexión va por ahí.

    ResponderEliminar