jueves, junio 25, 2009

Software Libre distinto de Software sin Compromiso

jueves, junio 25, 2009 por Martín


¿Quién no conoce a estas alturas la frase "Software Libre distinto de Software Gratis"? No creo que sea necesario explicarla. Pero a cuento de un hilo en una lista de un proyecto Open Source (que tampoco quiero mencionar, porque no importa demasiado y porque es algo que se ve en muchas partes), pues llevo varios días pensando en lo frecuente que es el ver como en las comunidades de Software Libre se utiliza el hecho de tratarse de software abierto para excusar otros problemas.

Es especialmente frecuente el ver aparecer este tipo de excusa cuando las críticas arrencian, cuando los usuarios reclaman funcionalidades que sería difícil implementar, cuando carecemos de los recursos necesarios para hacer dichas funcionalidades, o cuando simplemente no nos apetece gastar nuestro tiempo en eso. ¿Por qué afirmo esto? Pues porque lo he visto en infinidad de ocasiones, y voy más allá, porque tengo que confesar que he utilizado dichas excusas en muchas ocasiones.

Cuando estaba en pleno desarrollo de jLibrary, era común el que llegase gente pidiendo cosas que podrían hacerse. Y la verdad es que siendo un equipo pequeño, no te queda más remedio que filtrar. A veces te llegaban sugerencias fenomenales, pero es que no te quedaba más remedio que cerrar la conversación con un "es un proyecto de Software Libre, puedes contribuir". Que conste que más de una vez funcionó, pero la mayor parte de las veces, la petición queda ahí, en una simple petición, y nunca recibías ningún parche.

Y no creáis que no me daba rabia el tener que sacar la excusilla de marras. Al contrario, me daba muchísima. Cuantas veces tengo pensado, ojalá tuviese aquí diez commiters totalmente motivados o un buen presupuesto para implementaros todo lo que pedís. Pero por desgracia, ni los tenía, ni parece que tuve la capacidad de convicción para atraerlos. Pero entonces, ¿por qué esa rabia? Pues porque para mi el Software Libre, por mucho que tengas esa excusa tan a mano y tan socorrida, no está exento de responsabilidad.

Cuando creas un proyecto abierto en Internet, eso tiene una responsabilidad enorme. O quizás soy yo que simplemente me lo tomo muy a pecho. Pero para mi, al abrir un proyecto le estás pidiendo a la gente que lo pruebe. Estás creando una comunidad. Una comunidad de personas que ponen su confianza en ti y en tu producto, aunque sea sólo para invertir treinta minutos en descargárselo, instalarlo, y probarlo. Si pasan de esa fase, incluso puede que lo comiencen a usar, y esos minutos pasan a ser horas, días, semanas, meses o años de confianza en tu software.

Y tú, como creador del software, necesitas de esa comunidad y su confianza. Porque al final lo que quieres es que tu producto lo usen más y más personas. Y después, con suerte, te harás famoso, podrás vivir de ello o vendrán y te comprarán por varios millones de euros, como ya ha pasado con muchas empresas. Pero sin confianza ni compromiso, nada de nada.

Pero hay gente que piensa que como es Software Libre, pues ya está, lo usas si quieres y punto, y si quieres mejorarlo pues no te quejes tanto y ponte a ayudar. Este argumento, tiene alguna base cuando utilizas un proyecto que lo mantienen cuatro gatos, sin ningún tipo de apoyo, pues como era el nuestro, y que a fin de cuentas es gente dedicando su tiempo libre a hacer algo que a otros les reporta un beneficio económico. Y digo alguna base, porque a fin de cuentas el creador siempre tiene sus motivos para crear el software e iniciar ese compromiso con sus usuarios.

Pero sin embargo, ¿qué argumentos se puede tener cuando tienes capital de sobra?, ¿o cuando te han comprado?, ¿o cuando eres una gran compañía? Por ejemplo, digamos que te compra una compañía que acaba de recibir varios millones de euros en inversión, tus usuarios te piden que redirijas un poco el proyecto para solucionar determinados problemas, y ¿tu respuesta es pedirle a los usuarios que en vez de protestar ayuden? Mal vamos. Más bien habría que pedirle a quien te ha comprado que ponga recursos para que el proyecto salga para adelante.

Os soy franco, para mi el argumento de "es software libre, puedes ayudar" no es válido cuando el proyecto pasa una determinada raya, la raya de la inversión, la raya del mega-éxito, o cuando simplemente están sustentados por compañías enormes. Proyectos como Alfresco, Spring, JBoss, Glassfish, MySQL, ... Señores, en muchas de estas compañías, ni te aceptarán los parches en caso de que los tengas, pues porque quizás no tengan tiempo, o porque sean parches que hagan conflicto con otros clientes, etc. (en una empresa en la que trabajé nos pasó algo de esto con Hibernate). Ellos han elegido el camino del Software Libre, y el Software Libre, ni es gratis, ni está exento de la responsabilidad hacia sus usuarios.

Un porcentaje de estos usuarios, seguramente alto, serán gorrones que no aportan nada, ni hacen contratos de mantenimiento, ni van a cursos oficiales, ni tienen sus certificaciones, pero.... son tus usuarios. Tú has escogido el modelo de negocio. Para bien o para mal. Y si los usuarios protestan normalmente es que el río agua lleva.

Perdón por el rant, pero es que el topicazo de "es libre, menos protestar y más ayuda" lo llevo fatal. Hasta cuando soy yo el que lo tiene que decir.

Imagen via schoschie@flickr

comments

6 Respuestas a "Software Libre distinto de Software sin Compromiso"
matero dijo...
2:50

primer post en tu blog, pero asiduo lector desde hace meses...

creo q se de donde viene la queja (Grails), y esta es la primera vez q no estoy de acuerdo vos :P

Si el proyecto es Grails, y te referis al thread que se armo sobre la lista de correos de usuarios iniciado por "Grails..." creo que no fue Graemme el que contesto eso, sino los mismos usuarios.

De hecho el que inicio el thread se sumo a ese tipo de respuesta ante los repetidos emails de un usuario que no hacia mas que quejarse, quejarse y quejarse y no proponer nada a cambio.

A mi me sorprendio la mala leche de este "usuario" y todas las respuestas positivas de Graeme (despues de haberlo visto saltar con toda la bronca contra maven, creia q en esta oportunidad se iba a desatar "la furia del santo grial" jijiji)

Ya siendo un poco mas serio, estoy de acuerdo en el contenido de lo que escribiste, pero no estoy de acuerdo en tu interpretacion del asunto, o al menos no fue la que yo le di.

En ese debate se hablo del gran problema con Grails, lo suceptible que es a los cambios sobre los frameworks que usa... queda muy expuesto.
Y tambien se hablo de distintas ideas / aportes por parte de los usuarios para encontrar soluciones ... solo q algunos usuarios (no graemme) se exasperaron ante la mala leche de otros.

Graeme no es santo de mi devocion, pero tampoco creo q esta vez haya usado la excusa de "es SL corregi lo q quieras y subi los cambios", si lo lei decir "no doy abasto y hago lo que puedo".

Sera que grails no estaba preparado para un 1.x?

Yo lo vengo usando (jugando con el) desde la version 0.3 y usando (seriamente) desde la 0.5.5 (o algo asi :P) y la verdad q me parecio que no estaba para 1.x pero tambien me encanta la manera de desarrollo q fuerza "gracias" a sus debilidades (TDD, IC, etc).

Espero se entienda lo que quise escribir, este dia fue largo y tengo todo cruzado :P


Saludos desde Argentina y siempre es un gusto leerte.

matero


Martín dijo...
8:44

Hola matero.

No quería entrar a hablar de un post en concreto porque esto se ve en muchos proyectos. De todos modos, sobre ese post, tienes parte de razón porque ahí nadie de Grails (creo, no he repasado emails) animó específicamente a la gente a contribuir. En este caso fueron los propios usuarios.

Eso sí, te corrijo en lo del usuario quejica. El que inició el hilo, ni fue un pesado, ni se retractó. Fue más bien bastante cometido y sosegado. Repásalo si tienes la oportunidad. Fue otra gente la que se puso bastante pesada.

Dicho esto, es que yo no podría entender que alguien de Grails dijese eso. Uno de los problemas de Grails, y que se comenta en el hilo, es que el 90% de los bugs están asignados a una única persona. Eso es un problema bastante gordo, y que le toca a SpringSource arreglarlo, contratando a un par de personas más para intentar que la cosa siga para adelante. Y además tienen de sobra donde elegir porque la comunidad Grails es excelente.

Saludos.


Alvaro Sanchez-Mariscal dijo...
9:15

Pues yo tampoco estoy de acuerdo :P.

La posición que expresas me parece muy egoísta. A mí no me parece que Grails tenga tantos bugs o tan importantes. Y si los tuviese, me j... y me aguanto, y es culpa mía por haber seleccionado dicha tecnología.

Tecnología a la que estoy accediendo gratis, con una licencia "as is". Es decir, esto es lo que hay, si te gusta bien y si no te vas a Rails. No soy ningún cliente y no tengo ningún contrato de soporte ni tengo derecho (creo) a recibir más que lo que la comunidad quiera ofrecer. Y si la comunidad, entendida realmente como tal, no existe, sino que siguen siendo 2 personas las que contribuyen y millones las que se benefician, me vuelvo a j.. por haber apostado por un proyecto así.

La posición de Graeme es muy muy complicada. Nadie contribuye y todos le exigen, muchas veces a él de modo personal. Por cierto, que los bugs estén asignados a él es simplemente porque en JIRA se asignan a un usuario por defecto. Lo cual no quiere decir que los vaya a resolver todos él.

¿Que SpringSource debería invertir más? Pues sí... o no, no sé qué tiene que ver eso. SpringSource compró G2One, y G2One eran 3 personas => SpringSource compró 3 personas. Esas personas se siguen manteniendo y siguen contribuyendo como antes. ¿Deberían invertir más de lo que lo hacía G2One? Pues vale, a lo mejor sí, pero... ¿tengo yo algún derecho para exigirlo, por muchos millones que tengan? Ninguno. Yo creo que en el fondo estamos muy mal acostumbrados a obtener cosas y no apreciar su valor (no digo que sea tu caso).

En resumen: puedo estar de acuerdo más o menos con lo que dices en líneas generales, pero no en este caso. A mí precisamente lo que me molesta de estas "comunidades" es el egoísmo de mucha gente. El "tengo derecho a exigir sin hacer nada a cambio".

Por cierto, muchos bugs aparecen porque ni dios se baja las versiones "inestables" y prueba. Igual podíamos empezar por ahí.

Salu2.


Martín dijo...
9:43 Este comentario ha sido eliminado por el autor.

Martín dijo...
9:45

Alvaro, no sé por qué pero me daba la impresión de que no estarías de acuerdo conmigo :)

Para mi, mi posición no es egoista, más bien es bastante realista y crítica con nosotros mismos, con los programadores. Y ya te digo que yo me he puesto la otra chaqueta en infinidad de ocasiones.

Si empiezas un proyecto en Internet, estás adquiriendo un compromiso. Si no deseas que la gente lo use y se esté quejando, entonces una de dos: o no lo haces público y lo dejas en tu PC en casa donde sí que estará "as is", o lo lanzas y te olvidas de él; es decir, lo pones disponible y no tratas de mejorarlo, y que sean otros los que lo mejoren.

Plantearlo de otra manera es bastante hipócrita, (y ojo que ya digo que yo he hecho este planteamiento montones de veces). Porque en el resto de los casos los proyectos se publican para ver si triunfan, para ver si crean comunidad y para ver si se puede abrir mercado con ellos.

Pero bueno, ya he dicho que si no se obtiene recursos, tienes bastante base para mandar a todo el mundo a tomar por culo. Pero es que si tu proyecto triunfa, por ej. JBoss (por salir de Grails), es que no te queda otra que fastidiarte. Ese es tu modelo de negocio. Y lo es para bien, para vender licencias, y cursos y certificaciones, y consultoría, y soluciones. Y lo es para mal, para aguantar a los usuarios que protestan, a los que nunca contribuyen, a los que sólo entran en tu web para decir que WebLogic es mejor... Porque aunque software libre no es software gratis, y tengas que pagar por contratos de mantenimiento, etc., hay una cosa por la que sí que nunca vas a pagar, y es por el derecho a ser un cliente y a poder criticar.

Lo dicho, yo tampoco quiero centrar en el tema Grails. De ahí sólo vino el hilo que me hizo meditar en esto. Que Graeme es el que recibe todos los bugs por el JIRA, pues sí; ¿que es el que los arregla? Pues también, y sólo hay que ver Ohloh para eso.

A mi Grails tanto me da. A mi si en JBoss (en tiempos mejores porque ahora hasta me lo creo) me dicen en su lista que en vez de protestar que haga commits, vamos me rio de ellos a la cara. Señores que tienen/tenían pasta a montones, como que pedirles a los usuarios que hagan su trabajo.


Dani dijo...
10:54

Pues yo estoy de acuerdo en que cuando liberas software, tienes un compromiso con tu comunidad, que se puede asumir o no, si lo que quiero es que mi software sea lo más usado posible seguro que lo haré :)

Está claro que un usuario de un proyecto open source, siempre puede contribuir, pero también que si ese proyecto no ha cubierto las expectativas o no se han tenido buenas experiencias, difícilmente se volverá a utilizar. Con la cantidad de open source que usamos, seguro que alguna vez lo hemos hecho todos.

Acerca del caso Grails, es un problema que viene desde hace tiempo el que sea tan dependiente de Graeme, cosa que que se ha agudizado "sospechosamente" hace un par de meses... SpringSource compró una empresa de 5 personas(creo) y ahora hay 3...