Software libre vs código abierto


A propósito he puesto un título polémico y sugerente de una “guerra santa”, pero sólo con la intención de atraer a aquella gente fanática que gusta de crear polémica con este tema y compartir con ellos mi visión de como enfrentar la diversidad en las comunidades entorno al software libre.

(more…)

Entrevista Jaap Karssenberg el desarrollador de Zim


Dado que soy un fanático del programa Zim – un wiki de escritorio, donde incluso e participado traduciendo parte de la aplicación al castellano, se me ocurrió hacerle una entrevista al desarrollador del programa, el cual amablemente me ayudó hace un par de años a configurar el corrector ortográfico, cuando trabajaba con las primeras versiones de Zim.

Publicar esta entrevista es mi forma de reconocer el aporte que Jaap ha hecho por la comunidad de software libre:

Versión de la entrevista traducida al Castellano:

Empecemos hablando un poco de tí. ¿Que te llevó al mundo de la computación?

Jaap:
Difícil identificar sólo una razón. Mi padre llegó con una computadora cerca del ’89 en ese tiempo recuerdo que me muy luego permitieron jugar con ella. Una vez que empecé a entender un poco acerca de la electrónica, la complejidad de los computadores me comenzó a fascinar.

¿Cuánto tiempo llevas siendo una programador de codigo abierto?

Jaap:
Mi primer gran encuentro con la comunidad de código abierto fue cerca del 2001, cuando yo vivía en el campus y un gran encuentro de hackers se llevó a cabo en los pastos en frente de los departamentos de estudiantes. El primer código que liberé fue en el 2002, después pasé varios meses tratando de aprender como funcionaba Perl por dentro. Me conecté fuertemente con la comunidad después de hacer un viaje a la conferencia europea de Perl YAPC.

¿Cómo te sientes acerca del progreso del prouyecto Zim?

Jaap:
Usualmente estoy muy impaciente con él. De alguna manera siempre estoy trabajando en una función que necesitaba el año pasado … Sin embargo, desde una perspectiva más realista creo que se está haciendo OK. Al menos el proyecto es bastante estable ahora para uso diario y llegar a poner en una nueva característica de vez en cuando. Desde el principio yo esperaba algo más de colaboración con otros programadores, pero durante el último año parece que hay una comunidad de usuarios emergente. Estoy muy feliz por ejemplo con las personas que ponen algo de esfuerzo para mantener las traducciones actualizadas.

¿Talvez nos puedas contar que te llevó a Perl durante tu trabajo diario? y ¿Por qué ahora estás interesado en Python?

Jaap:
Puro accidente, el tipo que me enseñó a programar resultó que usaba Perl. Lo que realmente me gusta de Perl es la flexibilidad de las expresiones, lo que es genial cuando tu estás jugando. Sin embargo cuando se trata de dar soporte a un proyecto a lo largo de varios años una de las primeras cosas que haces es restringir la flexibilidad para poder mantener las cosas. Lo cual destruye el propósito. Estoy probando Python, porque ahora parece tener una comunidad más grande detrás de él, para aplicaciones de escritorio y la barrera de entrada es mucho menor para las personas que sólo quieren hacer un pequeño parche. Otra consideración es el OO framework más fuerte en Python. Por supuesto, mi esperanza sigue estando fijada en Perl6 para la gran reconciliación ;)

¿Qué piensas acerca de Ubuntu? ¿Alguna vez haz utilizado una máquina con Ubuntu? ¿Te gustó?

Jaap:
Ubuntu es mi actual distro de elección y la corro en la mayoría de mis máquinas. He pasado por media docena de diferentes distribuciones de linux en los últimos 6 años y no tengo una real preferencia para un sistema u otro. Ubuntu parece ser una de las distribuciones mejor soportadas en este momento, que es la razón por la que yo la uso.

¿Qué piensas acerca del Futuro del FLOSS?

Jaap:
Para mí es algo que hago en mi tiempo libre, yo no programo para vivir. Por lo tanto, tengo poco conocimiento en la forma en que el software libre / de código abierto lo están haciendo en el entorno corporativo. No tengo un profundo sentimiento de problema con el uso de software propietario, siempre y cuando haga lo que necesito. Sin embargo, tengo una picazón cuando el software no hace lo que necesito que haga y quiero ser capaz de arreglarlo. Supongo que el código abierto, estará presente siempre que hayan personas interesadas en mejorar el software que ejecuta, pero no me lo imagino teniendo la principal cuota de mercado en cualquier momento, sin antes el respaldo corporativo fuerte.

¿Es importante el rol del desarrollo del código abierto en el trabajo de la investigación científica?

Jaap:
La comunidad científica tiene una tradición de compartir los resultados a través de publicaciones que permita a las personas aprovecharlas en otras investigaciones. Mi punto es que, al menos en el mundo académico el código abierto tiene un perfecto sentido.
Si no confían en los resultados de las mediciones si no eres capaz de reproducirlas, ¿Por qué la confianza, por ejemplo, en una simulación sin verificar el código? El código de simulación que escribí para mi tesis de maestría se publicó bajo licencia GPL y creo que fue uno de los factores que me permitió la cooperación con otros grupos de investigación.

Saludos

Muchas Gracias Jaap por la entrevista e invito a todas las personas a probar Zim:
# Instalación en Ubuntu Hardy
$ sudo aptitude install zim

Para quienes estén interesados, pronto voy a ver la forma de habilitar la traducción al castellano, en la versión instalada a través de los repositorios. Ya que la versión descargada desde Bazaar funciona perfectamente en español.
Cualquier sugerencia sobre la traducción de la entrevista es bienvenida :P y los invito a agradecerles a los programadores de su aplicación preferida.

(more…)

Análisis de Ubuntu como proyecto colaborativo


El proyecto Ubuntu

El proyecto Ubuntu tiene muchas facetas el puntapié inicial lo dio su líder Mark Shuttleworth, el tipo tuvo gran acierto y ganó muy buen dinero gracias al software privativo. Con esa base monetaria para emprender un proyecto y dado que había participado de la comunidad de software libre y le gustaba el tema se embarcó en el proyecto Ubuntu GNU/Linux.

Desconozco las motivaciones de Mark, pero de lo que he observado está atacando algunos puntos flacos de las comunidades de software libre, que eran formadas por desarrolladores y fanáticos de linux:

  • Desarrollar una plataforma para optimizar la colaboración. ( Eso es launchpad )
  • Desarrollar aún más las comunidades, gran parte de los esfuerzos van en busca de consolidar los grupos locales ( Local Teams ) El encargado de esto es Jono Bacon.
  • Masificar en serio una distribución para desktop basada en Software Libre a nivel global.
  • Buscar una forma de hacer rentable liderar el proyecto ( Ojalá sepan implementar una forma transparente y razonable de plantear esto a los usuarios ) Hasta ahora han hecho bien las cosas, por ejemplo en el último open week fue sincero sobre este tema.
  • Mantengan y desarrollen los canales eficientes de comunicación y retroalimentación. ( Sintonía líderes y comunidad )

Yo he participado muy activamente en el proyecto local de Ubuntu-cl, pero fallé en implementar los consejos para hacer sustentable la participación en actividades colaborativas, así que tuve que congelar mi participación en la comunidad para volver a mis estudios. Sería importante que los jóvenes que comienzan a participar de las actividades de la comunidad, tengan claro estos consejos, para que aprovechen las cosas positivas y no tropiecen con la misma piedra.

Recuerdo cuando fue la primera Junta Ubuntera y algunos hablaban usando un vocabulario muy empresarial, otros un vocabulario de una agrupación tipo ONG y otros como un grupo de amigos. Con el pasar del tiempo se fueron definiendo alguno de estos temas.

Hoy tenemos nuestros objetivos, pero quizás aún falte definir mejor nuestras bases, entre antes mejor.

Hay que consolidar a los líderes que hagan sustentable a la comunidad y ojalá también lean los consejos del artículo anterior.

Les deseo mucha sabiduría y fuerza para que puedan seguir con el proyecto Ubuntu-cl.

Tecnologías abiertas o cerradas. ¿Cuando, cuál, como elegir?


Hace tiempo que se vaticina el año donde Linux en particular o las tecnologías abiertas en general, donde dominaran sobre las ya acostumbradas tecnologías cerradas.
Es errado pensar que esto sucederá en un año específico, pues la evolución del mercado no es discreta a menos que ocurra un evento puntual o una crisis, que genere un cambio tan grande en el mercado que seamos capaces de detectarlo de un año para otro. Hoy en día la economía al estar globalizada puede amortiguar mejor estos eventos, pero ese es otro tema que no voy a tratar acá, más bien en este caso vamos a suponer que no existe un evento puntual y la economía va evolucionar de acuerdo a las reglas actuales.

Observemos el mercado del software:
Considerando esto, podemos observar que existen algunos elementos que permiten vislumbrar como en el futuro dominarán las tecnologías abiertas como Linux sobre las tecnologías cerradas.

Las reglas del mercado cada día favorecen más la libertad de los usuarios:

• Empresas como Microsoft ya no funcionan en impunidad y son castigadas por los tribunales antimonopolios.
• Los usuarios cada día tienen acceso a más información, para tomar mejores decisiones al momento de elegir una herramienta computacional. (Internet ha sido clave en esto)
• Cada día se consolidan más los estándares abiertos y la interoperatividad ya no es un lujo, sino más bien es una exigencia de los usuarios.

Las comunidades de software libre cada día se consolidan más:

• Muchos dentro de las comunidades de software libre critican la popularidad de Ubuntu, por que su objetivo principal es reparar el Bug#1, es decir hacer de GNU/Linux una herramienta popular y atraer al mayor número de personas utilizando, sin excluir, todos los argumentos positivos que involucra el software libre, yo personalmente comparto esta visión: “El software libre tiene fundamentos éticos y morales humanistas muy positivos con los que me siento identificado, pero también existen muchas otras personas que pueden sentirse atraídas por los beneficios económicos, prácticos y técnicos que también están asociados al software libre. Es por eso que creo decisión de cada usuario conocer y sopesar estas variables al momento de elegir
Ya se ha alcanzado la masa crítica de usuarios y desarrolladores de software libre, es cuestión de tiempo que cada día se vaya adhiriendo más gente.
• Internet y su nueva faceta de web 2.0 impulsa a los usuarios y programadores a relacionarse entre sí, lo que acelera aún más el desarrollo del software. ( Hoy incluso existen herramientas donde los usuarios tienen la posibilidad de mejorar el software que usan sin saber programar, por ejemplo: traduciendo las aplicaciones , reportando errores , mejorando la apariencia, etc. )

Modelo evolución mercado Software libreExisten modelos simplificados como el de la figura, de como se desarrollaría el mercado del software libre, si cada día depende más de las decisiones de los usuarios. Y podemos observar que hoy nos encontramos en una época de transición (zona sombreada), donde aún las alternativa del software privativo es válida a corto plazo, pero si se requiere tomar decisiones a mediano y largo plazo el software libre es la mejor alternativa.

Desafíos para el futuro:
• Crear un sistema de mercado acorde con las características del software libre. (Propuesta Bonos GNU)
• Preparar el camino del software libre como un proyecto a largo plazo.
• Preparar a los usuarios para cuando tengan la libertad de elegir, puedan sacarle el máximo provecho a esa libertad ( Estrategia de difusión de software libre y el fundamento educativo de Ubuntu-cl )

Referencias
Modelo de evolución de las estrategias colaborativas. Me gusta citar este artículo, porque es muy didáctico y si se requiere informarse más a fondo al final están las referencia para ver las demostraciones formales del modelo.

Ecología y estrategias colaborativa


A partir de la entrevista del programa Una belleza nueva al profesor Juan Carlos Castilla, he identificado algunas ideas que expresa este biólogo marino, donde se expresan de manera implícita actividades colaborativas, que en particular ejemplificaremos con el desarrollo del software libre o el Soporte Colaborativo que damos en el Foro de ubuntu-cl.

Les advierto a los lectores de este artículo, que no es un parangón directo y proviene del trabajo diario en actividades colaborativa y un conocimiento superficial de la ecología, probablemente si usted no conoce algo de ambos temas encuentre que esta entrada es un verdadero disparate :P

(more…)

BonosGNU


¿Qué es BonosGNU?

• Es un sistema que logra establecer parámetros medibles de los cuales es posibles establecer una cuota de trabajo dentro de un proyecto colaborativo.

¿Cual es su finalidad?

• Al momento de evaluar o remunerar por el trabajo realizado individualmente es necesario establecer una serie de parámetros que midan el nivel de participación en el proyecto.

Características

• Debe considerar que el objetivo de los proyectos GNU no es únicamente generar dinero.
• Debe ser lo más transparente posible, ojalá tener toda la información disponible on-line.

Restricción del sistema: necesita una plataforma de contabilidad transparente, de libre acceso, seguro y escalable.

• Se dona por trabajo hecho, donde se ofrece un premio o “bounty”. (Dado que el desarrollador realiza mejoras marginales, los usuario percibe beneficios marginales y por lo tanto se realizan pagos marginales )
• Los donadores pueden elegir a quien donar o pueden dejar al sistema elegir como distribuir las donaciones, de acuerdo a los aportes de cada desarrollador.
• Parte de las donaciones debe ir a los proyecto de paquetes de los cuales depende la aplicación
• A corto plazo puede existir una red de entidades distribuidora sin fines de lucro y confiable, donde se deposita desde $US 10, para disminuir las altas tarifas cobradas por los métodos de pago tradicionales al momento del depósito (PayPal, tarjeta de crédito, depósito bancario, webpay, servipag) y luego se distribuyen las donaciones o pagos en porciones pequeñas desde $US 1/256. Con la finalidad de disminuir al máximo el costo por micro-transacción en sistemas on-line, donde finalmente los proyectos colaborativos pueden retirar los aportes al acumular sobre $US 10, para disminuir las altas tarifas cobradas por los métodos de pago tradicionales al momento de retirar el dinero.

A largo plazo se podría implementar una red de entidades internacionales sin fines de lucro y confiables que permitan realizar los micro-pagos sin tener que recurrir a los métodos de pago tradicionales.

Posibles Problemas

• Que aparezcan falsos desarrolladores que realicen paquetes que no contienen nuevas mejoras. (Deben existir un sistema público y transparente de información de mejoras)
• Debe existir un control de identidad de los desarrolladores y donantes. (Debe haber un registro de cuanto recibe por concepto de donaciones y los donadores pueden verificar si su donaciones se llevó acabo mediante una llave verificadora) Un método ya utilizado es gpg y OpenID.
No existe un sistema de transacciones a nivel mundial, que sea utilizable para realizar micro pagos a gran escala.

Enlaces Relacionados:

http://sourceforge.net/donate/

Actualización: 2008-06-08

Muchas veces se le critica al software libre que es un movimiento basado sólo en buenas intenciones, pero sin una base económica que lo haga sustentable, basta sólo analizar un poco las bases del movimiento para darse cuenta que la competencia en un libre mercado es impracticable, por el contrario una la colaboración en un libre mercado es una estrategia más adecuada, pero requiere mucho estudio y experimentación llegar a una correcta implementación.

Actualización: 2008-07-04

Se debe entender este sistema de pago como un soporte económico que hace posible el desarrollo sustentable del proyecto en una economía de cooperación y no como el principal incentivo de los desarrolladores. Dada la psicología humana trabajar sólo en base a incentivos materiales implica una baja de motivación en ciclos futuros de desarrollo, por el contrario si la principal motivación proviene de la pasión por lo que se hace, los desafíos, la retroalimentación del proyecto y el bienestar moral de la actividad, entonces la motivación del desarrollador se mantiene o crece con los ciclos futuros.

Continúa en: Red Global de Micropagos

Modelo Colaborativo y Educación


No me sorprende que las ideas expresadas en este blog, no sean nuevas ( claro es natural pensar que el conocimiento es un proceso constructivo ).

Felizmente buscando otras cosas me topé con estos enlaces:


http://es.wikipedia.org/wiki/Moodle


http://www.small-land.org/

El borrador del libro de estos profesores:


http://www.small-land.org/SqueakUnMundoParaAprender/

Voy a revisar más a fondo formas de implementar estas herramientas educativas en Beauchef.

Ojalá alguien se interesara y me diera su opinión.

Actualización: 2008-07-04

Moodle es una herramientas diseñada para profesores y facilitar los procesos de enseñanza, dado que yo no soy profesor esta herramienta no adecúa bien a WikiCursos cuyo espíritu es la construcción social del aprendizaje.

El entorno de programación Squeak está más enfocado a niños menores, para jóvenes y adultos llegué a la conclusión que Python es un buen lenguaje para aprender a interactuar con un computador.

Árbol de Organización Social (AOS)


Árbol de Organización Social (AOS)

Principios:

  • Democracia.
  • Eficiencia.
  • Jerarquía inversa. ( Las bases generan las decisiones )
  • Incentivo a la retroalimentación.
  • Utilización de Estructuras de Organización ya existentes.

Elementos del Árbol:

  • Miembros de la Comunidad.
  • Grupos.
  • Asamblea.
  • Directiva.
  • Representante.

Constructor del Árbol:

Se forma un AOS de “Todos los Miembros de la Comunidad” (Nivel 0).

  • Se dividen a Todos los Miembros de la Comunidad en Grupos (Partición de la Comunidad).

Cada Grupo de Miembros tiene:

  • Una Asamblea constituida por todos los Miembros del Grupo.
  • Una Directiva de los líderes del Grupo.
  • Un Representante del Grupo.

Se forma un AOS de “Representante del Nivel 0”: (Nivel 1)

  • Se dividen los Representantes en Grupos. ( Partición Representantes )

Cada Grupo de Representantes tiene:

  • Una Asamblea constituida por todos los Representantes pertenecientes a un Grupo.
  • Una Directiva de los líderes del Grupo.
  • Un Representante del Grupo.

Se forman un AOS de “Representantes del Nivel 1”: (Nivel 2)

El proceso de formación de AOS de Nivel Superior es recursivo y termina cuando el número de Miembros del Nivel Superior permita genera una Mesa de Negociación con las Autoridades, la cual teóricamente tendría el respaldo en documentos, propuestas, acuerdos y consensos de toda la Comunidad Nivel 0.

Métodos de Interacción dentro de un AOS:

  • Reunión ( Instancia que preside la Directiva para reunirse con la Asamblea )
  • Evaluación de Propuestas ( La Asamblea opina sobre una Propuesta Traspasada y dilucida los pro y contra de ésta )
  • Resumen de Propuestas ( La Directiva hace un Resumen de los pro y contra de las Propuestas Evaluadas )
  • Votación de Propuestas ( La Asamblea luego del Resumen vota para aceptar o rechazar la Propuesta )
  • Aprobación de Propuestas ( Una propuesta es Aprobada con 2/3 de Aceptación en una Votación)
  • Traspaso de Propuestas ( Las Propuestas Aprobadas son llevadas por el Representante a el AOS de nivel superior )
  • Negociación de Propuestas( Las Propuestas que llegan a la Directiva son expuestas y defendidas ante las Autoridades Relacionadas generándose Acuerdos).
  • Retroalimentación ( Se lee en la Reunión el Resumen de Propuestas Aprobadas y Rechazadas por el AOS de nivel superior y la Asamblea saca Conclusiones )
  • Resumen de Conclusiones ( La Directiva realiza un Resumen de las Conclusiones )
  • Traspaso de Conclusiones ( Se lee en la Reunión el Resumen de Conclusiones hechas por el AOS de nivel superior y la Asamblea saca Conclusiones )

Métodos de Generación de una Propuesta:

Generación de Propuesta ( Cualquier Miembro puede Elaborar y Exponer una Propuesta en una Reunión ). Este Proceso sólo se puede llevarse a cabo en el AOS de “Todos los Miembros de la Comunidad” ( Nivel Base ) y Nunca en un AOS de nivel superior.

  • Nota: Esta estructura social se basa en la organización que utilizaron los estudiantes secundarios en la Revolución de los Pingüinos del 2006.

Nivel 0

Nivel 1

Nivel 2

Actualización 2008-08-06:

Esta estructura de organización social tiene una gran falencia, al concentrar las decisiones de las bases y llegar a la mesa de negociación con las autoridades, se genera un cuello de botella que dilataría la ejecución de las iniciativas ciudadanas. Eso ha ocurrido en varias instancia en que las ONG y agrupaciones ciudadanas inician mesas de diálogo con las autoridades, las últimas al no estar involucradas directamente con la generación de las propuestas y necesidades ciudadanas, no son adecuados canalizadores de los esfuerzos ciudadanos. Finalmente la autoridad entrega una solución basada en los antecedentes que maneja la autoridad y no en los datos duros que entrega la ciudadanía.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 140 seguidores