A Garret Serrack, desarrollador del área Open Source de Microsoft, se le ha ocurrido una idea realmente genial. El proyecto se va a llamar CoApp, y su finalidad es proveer un sistema de gestión de paquetes para las aplicaciones de código abierto en Windows.
Estas aplicaciones de código abierto, sobre todo las que se han desarrollado para Linux, suelen tratar de no reinventar la rueda, dividiendo el programa en partes pequeñas, y apoyándose en librerías, que luego se incluyen como dependencias cuando se crean los paquetes.
Sin embargo, en Windows esto lleva algunos problemas, y su instalación se vuelve un poco más tediosa, ya que las aplicaciones que proveen sólo el código requieren compilar todas las librerías y luego compilar la aplicación en sí. Para los que proveen los binarios compilados, suelen incluir librerías con diferentes versiones, que no están preparadas para ser compartidas con otras aplicaciones.
Lo que intenta el proyecto CoApp es proveer un sistema parecido al de Linux, con repositorios mantenidos por la comunidad desde donde se puedan descargar los programas, compilarlos e instalarlos automáticamente, evitando también de este modo problemas de dependencias y librerías duplicadas.
Además, Serrack cuenta con todo el apoyo de Microsoft:
Los compañeros en Microsoft han reconocido el valor de este proyecto, y me han ofrecido amablemente trabajar en esto a tiempo completo. Estoy ya trabajando en el proyecto, y Microsoft me apoya en esto al 100%. El diseño es trabajo mío y de la comunidad de CoApp, y no necesito la aprobación de nadie de dentro de la compañía.
Algo interesante del proyecto CoApp es que no planea llevar el sistema existente en sistemas Linux a Windows, sino que se trata de desarrollar una nueva aplicación siguiendo ese concepto pero aprovechando todas las herramientas de Windows, como WinSxS para trabajar con DLLs compartidas, o MSI para los paquetes de instalación, y usando además los lugares comunes de Windows, sin crear nuevas estructuras de archivos.
CoApp puede abrir también otra vía muy interesante: la creación de repositorios mantenidos por la comunidad para todo tipo de aplicaciones o repositorios oficiales de Microsoft para sus aplicaciones; de forma que pudiésemos instalar los programas de uso más común con un solo clic, sin preocuparnos de orígenes dudosos, ni de virus, ni de actualizaciones. Por desgracia, el carácter cerrado de estas aplicaciones probablemente haga imposible esta idea, que se quedará como una utopía.
Sin duda, un proyecto realmente llamativo, que facilitará mucho la instalación de programas de código abierto en Windows. Además, el hecho de que este programa sea también de código abierto potenciará más su uso y desarrollo.
Vía | FayerWayer
Más información | Garret Serrack | OS News
Sitio oficial | CoApp
Imagen | Flickr – Hendry
Ver 41 comentarios
41 comentarios
gsardou
En realidad, si este proyecto tuviera exito, y se extendiera a todo el sistema; Microsot resolvería uno de los problemas más graves y dificiles relacionados con la seguridad.
Es de todos conocido que las aplicaciones en Windows suelen instalarse incluyendo sus dependencias. En otros sistemas, cuando se instala algo; el gestor de paquetes chequea si las dependecias ya existen; y de ser así; solo se instala lo que falta para que la aplicación pueda operar.
Esta costumbre en las aplicaciones de Windows (incluir e instalar todas las dependencias, sin chequear nada, cada vez que se agrega una aplicación) termina generando librerías (o bibliotecas) redundantes y en distintas versiones. Esto trae consecuencias catastroficas.
Doy un ejemplo de lo que puede pasar: Supongamos que instalo la última versión de Photoshop. Este programa necesita para su funcionamiento una serie de bibliotecas (las famosas .dll) que se desparraman por el sistema.
Supongamos que una de las bibliotecas, a la que llamaremos por ejemplo "manejadordepng.dll" tiene un bug, que al ser utilizado maliciosamente permite una escalada de privilegios (un fallo de seguridad grave).
Supongamos que la gente de Photoshop saca un parche que remplaza la biblioteca y el problema queda resuelto definitivamente.... pero....
Supongamos que ahora me bajo e instalo una aplicación gratuita para manejar imagenes. Esta aplicación necesita para su funcionamiento de nuestra imaginaria "manejadordepng.dll".
Siguiendo la costumbre en Windows, la nueva aplicación se instala junto con sus dependencias, y sobreescribe (o instala en un lugar diferente) una versión propia de "manejadordepng.dll". Una versión que además es antigua; y que mantiene el bug del que hablabamos antes.
A pertir de este momento, nuestro Photoshop parcheado es vulnerable nuevamente, porque aún si las .dll corregidas siguen en una carpeta; bastará con engañar a la aplicación para que utilice las versiones vulnerables.
Este tipo de problemas pasa constantemente, y es aplicable a navegadores, herramientas multimedia, de programación; y al propio Windows (muchas aplicaciones instalan bibliotecas propias del sistema haciendo reaparecer agujeros de seguridad que la propia Microsoft se esfuerza por solucionar).
Corregir este problema de diseño es a mi criterio mucho más importante que poder actualizar en forma centralizada; o poder disfrutar (o sufrir) una hipotética tienda virtual de MS.
Manuel
Esa 'genial idea' la llevo pidiendo desde hace años en Windows.
Es lo que tiene cuando uno se acostumbra a lo bueno XD.
Aunque para Windows lo haría de otra manera:
Crearía una carpeta 'a parte', llamadla Programas CoApp, en la que se instalarían los programas divididos por carpetas, cada aplicación con su respectivo directorio (esto no soluciona el problema del ahorro de las librerías, pero como a Windows no le ha importado este problema en la vida, no sé porque ahora quieren arreglarlo).
De ese modo, y con una base de datos que registre todos los programas instalables y maneje también los programas instalados y demás (al más puro estilo Linux), se podría hacer un gestor de paquetes bastante decente.
De esa misma base de datos y mediante sencillas ordenes de 'borrar' y 'descargar e instalar', si el usuario quiere instalar o desinstalar una aplicación, el programa solo tendría que acceder a la base de datos y proceder a la instalación/desinstalación dependiendo del caso.
Este procedimiento me parece mucho más sencillo que el que se plantean los de Microsoft.
(Todo esto dicho sobre la marcha).
Miguel Branco
El valor de CoApp estaría mas bien en "despliegue" de complejos paquetes de software en servidores y no en un beneficio directo para usuario finales (creo recordar que el señor este explcia este punto). Ah!, curiosamente, Coapp está alojado en Launchpad ^^
btw, aunque esto sea así, Windows sigue siengo una caja negra privada y privativa que a ningún desarrollador de software libre le debería interesar (si es que de verdad comprende el valor del movimiento de software libre).
nemilk
"Los compañeros en Microsoft han reconocido el valor de este proyecto, y me han ofrecido [a cambio de mucho, muchiiisimo dinero :-D] trabajar en esto a tiempo completo"
4octavio4
Bueno, no es que sea una idea novedosa (está basado en un sistema existente desde hace tiempo con muy buenos resultados) pero implementarlo en windows me parece que es acertado, aunque creo que sería mejor hacerlo totalmente, de forma integral, para intentar solucionar el caos de archivos y programas que se suele producir en windows a lo largo del tiempo.
technoblue
Solo era cuestion de tiempo para que Microsoft haga uso de los sistemas Linux en Windows, y solo por el simple motivo de que funcionan y mas eficientemente.
Por fin solucionarian el CAOS que muchas veces supone en Windows tener 5 o 6 aplicaciones que podrian compartir hasta el 90% de sus librerias. Ademas de esta forma harian el software gratuito mas seguro en Windows.
No soy anti Windows, soy victima de mucho de sus errores que me hicieron cambiar. El dia que Windows cambie a funcionar de una forma mas eficiente dire OLE OLE y OLE.
aplatanado
Yo me parto. Tanto tiempo criticando la gente de Windows el que en Linux no se pueden hacer las cosas de la forma "fácil". Es decir, yendo a la web, descargando y haciendo doble clic para instalar. Y ahora viene gente de M$ y reconoce que es más sencillo así he inicia un proyecto para copiar la forma "complicada" de los sistemas libres. Y lo más gracioso es que a la peña, que se ha estado quejando de Linux, le gusta. Hay que ver el poco criterio que tenemos.
Entrambosmares
Mi impresión es que esto no va a pasar de ser una especie de softonic oficial... Como la sección de aplicaciones de la web de Apple, pero accesible desde el propio sistema a través de una interfaz propia.
Saludos,
raike
no lo veo yo muy claro, con la de programas que son de pago y se benefician de que la mayoria de la gente no sabe que existen alternativas gratuitas... imaginate, te vas al CoApp y buscas "edicion de video" y te aparecen 3 gratuitos, instalas uno te gusta y allá van las ganancias de pinnacle del power director, etc, no se no se, para mi que no va a llegar a ningun lado... pero ojala lo hiciera, xD
albertux
Hace 1 año hice un gestor tipo apt-get no es la gran cosa es solo un script de perl: http://win-get.ayalasoft.com
aama-88
Bien Microsoft Bien, así sí se hacen las cosas. Acercandote al publico y no al dinero, vendiendo sencillez, transparecia, utilidad para el usuario, etc etc y no engañando. A base de palos pero está aprendiendo. Microsoft lleva dos años que en general, hace las cosas muy bien y toma buenas decisiones: crear un antivirus gratuito, betas publicas gratuitas, la xbox triunfa, Windows 7 triunfa, ésto también... :)
y seguro que se me olvida algo..
Hector Macias Ayala
Pues siempre que no me instale cosas que no deseo, es decir, que primero detecte lo que tengo instalado y se avoque a actualizar ese software, de otra forma me va a llenar la PC de mucha mierda que no quiero ni deseo tener, o que me permita seleccionar primero.
¿Y como va a saber la comunidad ni MS que es lo que tengo ni que es lo que quiero?
Creo que esto va a pasar seria y sanamente desapercibido.