sábado, 15 de mayo de 2010

Ubuntu + Unity = Ubuntu Ligh

Según anunciaba Mark Shuttleworth en su blog, el propósito de Ubuntu Light y de su interfaz Unity es mostrar al usuario un entorno de escritorio rápido para netbooks, con las aplicaciones más usadas a un clic, y además preparado para interfaces táctiles. Un escritorio con conexión a internet y navegador listo en menos de 10 segundos.

Ubuntu Light representa también la importancia que se le está dando a la nube con competidores como Chrome OS o Jolicloud: su propósito principal no es tener un editor de texto rápido, ni una suite ofimática, sino un navegador con conexión listo en un tiempo mínimo.

Canonical ofrece la posibilidad de probar Ubuntu Unity en nuestros equipos con Lucid Lynx instalado. Lo primero es agregar el repositorio e instalar Unity en nuestro sistema.

sudo add-apt-repository ppa:canonical-dx-team/une
sudo apt-get update && sudo apt-get install unity

Una vez instalado salimos de nuestra sesión y antes de acceder de nuevo seleccionamos iniciar con "Ubuntu Unity Netbook Edition".

He probado Ubuntu Light y la verdad es que me parece interesante. Para los usuarios que únicamente buscan navegar por la red y tener más a mano las aplicaciones que más utilizan me parece perfecto.

domingo, 9 de mayo de 2010

Fundación CopyLeft y sus tipos de licencias

El objetivo principal de la Fundación CopyLeft es potenciar, afianzar, organizar, incentivar, dirigir, realizar, proteger y defender la producción de cultura Copyleft, defendiendo los intereses de creadores, intérpretes, artistas, productores, usuarios y cualquier otro colectivo interesado en la misma, y acercarla a la población en general, realizando para ello cuantas actividades considere necesarias. Por cultura Copyleft se entiende aquella cultura en la que el autor permite en diferentes medidas la libre reproducción, distribución, difusión y transformación de su obra.

En el apartado de licencias de esta Fundación aparecen las conocidas licencias GPL y Creative Commons, pero además se describen otras tres licencias más:

- Coloriuris: dirigida a los creadores de contenidos – literarios, musicales, audiovisuales y fotográficos – que utilizan el world wide web para su difusión. Esta página te permite acceder a contenido cedido por los usuarios y que han licenciado bajo Coloriuris. Aquí vemos un ejemplo de licencia para un software.

- Licencia Aire Incondicional: esta licencia se alimenta básicamente de las licencias GNU de la Free Sotware Foundation, de las licencias de Creative Commons y de las licencias de la Electronic Frontier Foundation, creadas en el ámbito anglosajón de los derechos de autor, y concretamente el norteamericano, y pretende trasladar el mecanismo de funcionamiento y los principios que tratan de alcanzar, al derecho continental y concretamente, al español.

- Licencia Arte Libre: la razón de ser de la Licencia Arte Libre es promover y proteger prácticas artísticas liberadas de las reglas exclusivistas de la economía de mercado.

Los motivos de la aparición de estas licencias entiendo que son al menos dos:
- La creación de la tecnología digital, así como la invención de Internet y el software libre señalan la aparición de un nuevo marco de creación y producción.
- El uso del derecho de propiedad literaria y artística tiende a imponer restricciones de acceso a los usuarios.

Además, cada país posee sus propias leyes y en muchos casos hay que adaptar las licencias.

jueves, 6 de mayo de 2010

Meritocracia en el software libre

Muchas comunidades de software libre, por no decir la mayoría, siguen la meritocracia, una forma de gobierno basada en el mérito. Esto quiere decir que las decisiones importantes en los proyectos al final son tomadas por aquellas personas que han contribuido de manera importante y han ganado credibilidad en su trabajo.

Así lo han anunciado responsables de proyectos de gran envergadura:

"This is a difference between Ubuntu and several other community distributions. It may feel less democratic, but it's more meritocratic, and most importantly it means (a) we should have the best people making any given decision, and (b) it's worth investing your time to become the best person to make certain decisions, because you should have that competence recognised and rewarded with the freedom to make hard decisions and not get second-guessed all the time." Mark Shuttleworth, fundador de Canonical Ltd.

"Mozilla no es una democracia, es una meritocracia, son personas que han demostrado una habilidad para resolver problemas. El propietario del módulo debe adoptar una postura, tomar una decisión... por tanto hay una jerarquía", explica Tristan Nitot, cofundador de Mozilla Europa, quien ha querido matizar en todo momento la forma de trabajo de Mozilla.

"We call this basic principle meritocracy": literally, government by merit." Apache foundation.
(Mike Bates on the meritocratic process at The Apache Software Foundation - Youtube video)

jueves, 29 de abril de 2010

Google Summer of Code

Google Summer of Code es un programa anual que se dio por primera vez durante el verano de 2005 y que se ha ido repitiendo a partir de ese año. La empresa Google remuneró a los estudiantes que completaron un proyecto de programación de software libre durante ese período.

Los estudiantes enviaron proyectos a un grupo de organizaciones que seleccionaron los mejores. Más de 8000 propuestas fueron recibidas para las 200 vacantes disponibles. Debido a la respuesta masiva, Google ha ido ampliando el programa a hasta llegar en 2009 a 1000 vacantes y 150 organizaciones mentoras. Este año se espera el mismo número de asistentes.

Las organizaciones fueron responsables de revisar y seleccionar propuestas, y luego guiar a los estudiantes para ayudarlos a completar sus propuestas a través de mentores. Los que completaron el programa recibieron $4500 USD y una camiseta. Aproximadamente un 80% de los proyectos se completaron.

El primer Summer of Code fue criticado por no dar suficiente tiempo a las organizaciones de código abierto para planear proyectos para el evento. A pesar de las críticas, 39 organizaciones se involucraron, incluyendo FreeBSD, Ubuntu, Blender, Mozdev, y el propio Google.

Animar a los jóvenes desarrolladores a participar en diversos proyectos de software libre me parece una gran iniciativa por parte de Google. Como vimos hace poco en clase de teoría, el perfil de desarrollador de software libre es eminentemente joven. Incentivar a los estudiantes a que desarrollen sus propias propuestas con ayuda de mentores y remunerarles tras completar el proyecto para mí es un acierto.

martes, 27 de abril de 2010

Importancia del marketing en el software libre

Pensando en publicar una entrada con un estudio sobre quién utiliza software libre me puse a reflexionar sobre mi entorno cercano. Me doy cuenta de la cantidad de veces que he propuesto a amigos y familiares que prueben un sistema operativo libre y siempre me he encontrado con las mismas respuestas:

- No puede tener la misma calidad que Windows.
- No sabré utilizarlo.
- Me quedo con lo que estoy acostumbrado a utilizar.

Detrás de todas estas respuestas hay una única: el desconocimiento. Yo hasta que no entré en la carrera nunca había visto y posiblemente ni había oído hablar de Linux.

Es obvio que Windows es un producto y como tal tiene su campaña de marketing. Ante esto me planteo qué importancia tiene el marketing en el software libre. Un caso que me viene a la mente es el sistema operativo Android, que cada vez es más conocido y utilizado por todo tipo de usuarios de móviles en su mayoría. No creo que los usuarios comunes decidan obtener un móvil Android por sus convicciones respecto al software libre ni porque les parezca de mejor calidad que el Symbian, por ejemplo. Creo que la campaña de publicidad y el nombre de Google tienen mucho que ver en ello.

Mi conclusión es que la gente compra lo que le ponen delante de los ojos, que hoy por hoy creo que en eso sigue reinando la televisión.
Internet debería ser el canal más idóneo para el marketing de software libre, buenos ejemplos son Mozilla y concretamente Firefox.
Pienso que si por ejemplo Ubuntu consiguiera llegar a mucha gente a través de internet con una buena campaña aumentaría claramente su número de usuarios.

domingo, 18 de abril de 2010

Open Source: The Model Is Broken

En esta entrada voy a hablar de un artículo publicado en diciembre de 2008 y que tiene que ver con el tema de los modelos de negocio del software libre. El artículo está escrito por Stuart Cohen, antiguo director del Open Source Development Labs.

El autor en su artículo afirma:
«Cualquiera que haya estado prestando atención a la industria del software últimamente: tengo malas noticias. El modelo de negocio del software libre no funciona. Durante mucho tiempo, las empresas han deseado hacer dinero del software disponible libremente, haciendo que los clientes paguen por el soporte y nuevas características. Algunos han tenido éxito. Muchos otros han fallado o se tambalean, y habrá otros que se unan a sus filas con la crisis económica. Esto requerirá que muchos cambien la forma de pensar, y que vean el software libre más como un medio que como un fin en si mismo».

Como ya he dicho, Stuart Cohen es el antiguo director del Open Source Development Labs. Siguiendo el planteamiento que expone en este artículo formó la compañía Collaborative Software Initiative, que se centra en construir software necesario que aún no existe de manera no competitiva entre varias empresas compartiendo los gastos. El beneficio que se obtiene es el bajo coste de producción en comparación con las compañías que desarrollan su propio código libre o colaboran en uno ya existente y después siguen del modelo de Software as a Service.

También llama la atención que esta compañía ha sido fundada por OVP Venture Partners y tiene como partners a IBM, Hewlett-Packard y Novell.

Aunque la compañía trabaja con la idea de open source como metodología, hoy en día puede verse que no se han decantado por licencias open source ya aprobadas para ofrecer sus productos. Si visitas la sección de productos en su página actual y pinchas en la opción de comprar uno de los productos puedes descargarte en pdf la licencia bajo la cuál te están distribuyendo el producto.

He leído unas cuantas opiniones de esa época sobre esta iniciativa. Hay gente que entonces ya creía que era otra forma más de acabar cobrando por licencias de software y que el artículo era una buena manera de hacerse publicidad.

En cuanto a afirmar rotudamente que el modelo de Software as a Service no funciona y que sólo unos pocos gigantes como Red Hat han conseguido tener éxito me parece equivocado, ya que en ese sentido en el mundo del software privativo se podría hacer la misma afirmación.

martes, 6 de abril de 2010

Madrid On Rails

En Junio de 2009 se presentó de la mano del Ayuntamiento de Madrid y el Ministerio de Industria, Madrid On Rails, que se define en su web como un centro de Innovación, Dinamización, Formación, Promoción y Difusión del Software Libre y nuevas tecnologías para la pyme.

Las actividades del centro están orientadas según los principios del software de fuentes abiertas y proporciona aplicaciones en internet desarrolladas basándose en Ruby on Rails bajo la filosofía de Menos es Más. Concentrarse en las funcionalidades clave, en las que de verdad aportan valor al negocio de la empresa, es el mejor método para conseguir el software de gestión más adecuado.

Madrid On Rails también defiende el Software como Servicio (SaaS, del inglés Software as a Service) es un modelo de distribución de software en el que la compañía de IT se encarga del mantenimiento y soporte de los programas y aplicaciones utilizados por el cliente. En otras palabras, el cliente tiene el sistema hospedado en la compañía de IT, por lo que dispone de las aplicaciones y servicios a través de Internet, y no necesita realizar instalaciones, ni preocuparse de la configuración, el mantenimiento y la solución de problemas.
La consecuencia principal de este modelo es que el usuario ya no tiene que preocuparse por la tecnología, y puede concentrarse de lleno en las tareas que realmente aportan valor a su negocio. Esto se traduce en una mayor eficiencia, y en unas mejores oportunidades de crecimiento.

Además, como centro de conocimiento, promueve la colaboración con las universidades (entre ellas la Universidad Rey Juan Carlos) y centros formativos, y con otros centros de conocimiento de ámbito nacional e internacional. Otra actividad es el asesoramiento a las pequeñas y medianas empresas que decidan utilizar las tecnologías emergentes y desarrolla cursos especializados de formación.

En resumen, Madrid On Rails ofrece:

* Lo necesario desde el punto de vista tecnológico para poner en marcha tus ideas y proyectos.
* Instalaciones para ayudarte.
* Software, sin coste y en modo servicio, para que puedas hacer tu facturación, gestiones tus gastos, organices tus ventas y manejes tus tareas.
* Formación en nuevas Tecnologías.

Hace tiempo que conocí esta organización a través de la televisión y me pareció una gran iniciativa. Yo comparto la filosofía del Software como Servicio y que el Ayuntamiento de Madrid y el Ministerio de Industria promuevan esta idea y gasten recursos en ayudar a la pyme me parece un acierto. Aunque sólo se centren en el software de gestión, me parece un buen paso para dar a conocer el software libre y hacer ver que es una opción viable.

lunes, 22 de marzo de 2010

Sistemas de control de versiones

La principal clasificación que se puede establecer está basada en el almacenamiento del código:

* Centralizados: existe un repositorio centralizado de todo el código, del cual es responsable un único usuario (o conjunto de ellos). Se facilitan las tareas administrativas a cambio de reducir flexibilidad, pues todas las decisiones fuertes (como crear una nueva rama) necesitan la aprobación del responsable. Algunos ejemplos son CVS, Subversion.
* Distribuidos: cada usuario tiene su propio repositorio. No es necesario tomar decisiones centralizadamente. Los distintos repositorios pueden intercambiar y mezclar revisiones entre ellos. Ejemplos: Git, Mercurial.


Aquí se presentan amplias tablas comparativas de los distintos sistemas de control de versiones que existen en la actualidad. Sin embargo, voy a centrarme en comparar dos sistemas de uso extendido y muy diferentes entre sí: Subversion (SVN) y GIT.

Toda la documentación que he leído coincide en que GIT es un innovador diseño de sistema de control de versiones pensado para ganar eficiencia y confiabilidad en el mantenimiento de versiones de aplicaciones cuando estas tienen un gran número archivos de código fuente. Este sistema resulta de la experiencia del diseñador de Linux, Linus Torvalds.
La principal diferencia ya la he mencionado en la introducción y es que SVN es un sistema centralizado mientras que GIT es distribuido. Esto significa que GIT le da a cada programador una copia local del historial del desarrollo entero y los cambios se propagan entre los repositorios locales. Los cambios externos se importan como ramificaciones adicionales y pueden ser fusionados en la misma manera que se hace con la ramificación local. De este modo realiza una gestión eficiente de proyectos grandes, dada la rapidez de gestión de diferencias entre archivos, entre otras mejoras de optimización de velocidad de ejecución.
Una desventaja de GIT frente a SVN es que resulta algo más caro trabajar con ficheros concretos frente a proyectos, ya que SVN trabaja con base en cambios de fichero. Otra desventaja importante de GIT es que no puede ejecutarse de modo nativo en Windows, reduciendo quizá así su número de usuarios.

Para concluir, a pesar de alguna desventaja los sistemas distribuidos y en concreto GIT están desbancando a los sistemas centralizados tradicionales. Las principales ventajas son:

1. Se trabaja con el repositorio completo de forma local.
2. Flexibilidad total para trabajar con distintas ramas y fusionarlas.
3. Velocidad de actualizaciones: el tiempo de actualizar un repositorio remoto es superior al tiempo que tarda SVN.


En cuanto a mi experiencia, únicamente he trabajado con subversion tanto de manera personal para gestionar mis prácticas y PFCs de la universidad así como desarrolladora de un proyecto de software libre (Jderobot) de unas 200.000 líneas de código y ahora mismo con dos ramas de desarrollo. Mi impresión en general es que de gran utilidad un sistema de control de versiones incluso para proyectos de pequeña escala. Sin embargo, sí me he encontrado con ciertas limitaciones utilizando subversion para Jderobot al ser varios desarrolladores los que introducimos cambios. La primera es que, antes de modificar nada, explícitamente hay que actualizar tu copia de trabajo por si alguien hubiera añadido cambios al repositorio. La segunda y principal es que si la versión más reciente por algún motivo no funciona correctamente, te obliga a trabajar con la copia anterior no actualizada (si es que la has guardado) y esperar que tus cambios no entren en conflicto con los nuevos cambios.
Por lo que he leído GIT resuelve este tipo de conflictos, pero aún no he tenido la oportunidad de trabajar con este nuevo sistema. Supongo que en un futuro no muy lejano migraremos al nuevo sistema distribuido.

Aquí dejo las fuentes en las que me he basado y algunos enlaces interesantes que he encontrado sobre este tema.

http://en.wikipedia.org/wiki/Source_Control_Management
http://entrevistas.barrapunto.com/article.pl?sid=07/06/02/147209&threshold=-1
http://markmcb.com/2008/10/18/3-reasons-to-switch-to-git-from-subversion/
http://versioncontrolblog.com/comparison/Git/Subversion/index.html
http://slnc.me/hola-git-sayonara-subversion/

sábado, 13 de marzo de 2010

EyeOS

eyeOS es un proyecto iniciado en agosto del 2005 por un pequeño grupo de jóvenes programadores originarios de Barcelona. Es un escritorio virtual multiplataforma, libre y gratuito, basado sobre el estilo del escritorio de un sistema operativo. El paquete básico de aplicaciones que vienen por defecto, incluye toda la estructura de un sistema operativo y algunas aplicaciones de tipo suite ofimática como un procesador de textos, un calendario, un gestor de archivos, un mensajero, un navegador, una calculadora y más. El paquete entero está autorizado bajo la licencia libre AGPL. Existe un sitio paralelo que provee aplicaciones externas para eyeOS, llamadas eyeApps.

Se trata de un nuevo concepto en almacenaje virtual, el cual se considera como revolucionario al ser un servicio clave para el Web 2.0 ya que dentro de una web que combina el poder del actual HTML, PHP, AJAX y JavaScript para crear un entorno gráfico de tipo desktop.

La diferencia entre otros entornos desktop al hacer posible iniciar el desktop eyeOS y todas sus aplicaciones desde un navegador web. No se requiere instalar ningún software adicional, ya que solo se necesita un navegador que soporte AJAX, Java y Macromedia Flash (dependiendo de las aplicaciones que se deseen ejecutar).

La idea fue todo un éxito, pues en tan solo dos meses obtuvieron gran aceptación ya que se inscribieron al servicio más de 27.000 usuarios diferentes países como Canadá, Francia, Estados Unidos e incluso países con regímenes esctrictos que regulan ciertos servicios de almacenaje como China. Desde entonces, les llovieron colaboradores los cuales crearon cantidad de software para ese servicio y tradujeron su servicio a más de 30 idiomas.

Este servicio se destaca principalmente por sus fuertes medidas de seguridad, toda la comunicación que se haga dentro del sitio, y todo el contenido almacenado por los usuarios queda totalmente cifrado y sin acceso alguno por parte de sus administradores, lo que da una ventaja adicional en cuanto a privacidad de uso.


Mi opinión personal sobre los sistemas de Cloud Computing y en concreto éste es que son el futuro del software para empresas. Desde el punto de vista de una empresa, sólo tendría que mantener los equipos de sus empleados con un navegador y muy poco disco duro, cosas que el ordenador más básico ofrece. Por tanto, la empresa ahorraría recursos en instalación y mantenimiento de equipos.
Por otra parte, este tipo de sistema también es útil para personas que viajan con frecuencia, ya que siempre van a disponer en línea de su información y trabajo.
Además, al ser código GPL permite que cualquiera pueda descargar el código e instalarlo en su propio servidor, garantizando la confidencialidad total de los datos.