Diatribas sobre el software libre


Os voy a contar una situación curiosa que me sucedió con uno de mis Clientes. Por ser parte activa de la comunidad de software libre de Oscommerce, pensaba que todo el mundo tenía claro lo que era y como funciona, pero no… hay gente que a pesar de que el software libre es gratuito se cree con derecho a exigir. Aquí va… no alucineis demasiado… mi texto en azul, el de mi Cliente en rojo. He eliminado cualquier referencia al nombre de la Web concreta y el Cliente de que se trata.  El tema empezó así:

YO: “La modificación en el admin va de regalo”

MI CLIENTE: No estoy de acuerdo con esta afirmación. En el presupuesto que me enviaste no especificaste que el módulo era sólo para los pedidos que se generan desde el catálogo. Como entenderás no iba yo a pagar por medio módulo. Por tanto entiendo que esto no ha sido un “regalito” tuyo, más bien soy yo el que te hace el regalo a ti puesto que no he puesto impedimento para que copies ese módulo modificado y lo puedas vender, ya que como esa contribución ha sido adaptada para mi WEB soy yo quien tendría que autorizar la distribución/reventa del mismo. Lo mismo ocurre con el módulo de XXXX u otras modificaciones hechas a medida.

YO: no vamos a discutir… pero sí quiero dejar clara una cosa…

El software libre no se puede vender. No tiene licencia. No es propiedad de nadie. Nadie autoriza nada a nadie. No se puede vender la distribución ni el software. Lo que se cobra es por las horas de instalación. Aunque lo hayas mandado programar tú para tu tienda el módulo es libre y en cuanto tenga un rato lo subiré como contribución a la Web de Oscommerce para que otros si quieren se lo instalen solos. Los que no puedan me pedirán a mí o a cualquier otro que se lo haga y no le cobraremos X€, sino el tiempo que nos lleve instalarlo. Tal y como he hecho para tí con un montón de contribuciones…

El módulo de XXXX… cuando contratas un trabajo a un programador habitualmente se firma un documento de requerimientos, sobre el que se hace un análisis y un presupuesto. TODO lo que no esté especificado claramente dentro de los requerimientos, es una modificación. Ayer me tiré 5 horas de reloj programándote el admin para que quedase si no perfecto, al menos encaminado, cualquier programador por ahí, te presupuesta 10horas y si pasa 20 te las cobra. Yo no. Mantengo mis precios siempre. Y presupuesto por lo bajo habitualmento y si eres tú, aún te presupuesto más bajo.  Me decepciona bastante que encima de todo el esfuerzo que estoy haciendo para dejarte todo como tú quieres, aún te sientas ofendido… es complicado entenderte…

MI CLIENTE: Tranquila, que no era mi intención discutir ni estoy ofendido. Simplemente que si das un presupuesto cerrado no entiendo que se me diga a posteriori que hay parte de ese trabajo previamente presupuestado que es un regalito porque en teoría sería algo que tendría que pagar de más.

Sinceramente no he conocido nunca a ninguna empresa ni particular que después de aceptar un presupuesto se les digan cuando el trabajo aún no está terminado que hay que pagar más. Es como si pides presupuesto a un fontanero para que te te arregle el desagüe del baño. Te da un presupuesto de 200 Euros, te levante el suelo y cuando lleva 2 días te dice que hay que poner una tubería de más y que cuesta más dinero o te la regala… La verdad, jamás he discutido un presupuesto anticipado de nadie. Simplemente lo acepto o no lo acepto. Pero los costes añadidos no mencionados en el presupuesto ya aceptado jamás los he comprendido. Si cualquier programador me dice que hacer tal cosa vale tanto pero si se lleva más tiempo me cobra más le digo que no me interesa. El motivo es que si el programador es malo, lento o tiene poca experiencia ralizando el trabajo que necesito, ¿por qué tengo que pagar más? Y si el programador es rápido y muy bueno no me va a hacer ningún descuento porque haya terminado antes. Por eso, cuando se presupuestan servicios generalmente las horas de trabajo nunca son horas de trabajo reales sino horas virtuales, como un producto que se vende.

El análisis previo del estado de los sistemas de la empresa del cliente por parte de quien vende servicios es muy importante para poder realizar un presupuesto teniendo en cuenta los posibles contratiempos. Claro está que no todo el mundo trabaja igual y lo acepto. Pero hay que dejarlo claro desde un principio.

En cuanto al tema del software libre, para que un software (aplicación) o software mejorado sea libre primero hay que distribuirlo gratuitamente de manera gratuita para que éste se gane el título de software libre, porque si no se publica jamás se lo podrá bajar nadie, ¿no? Si yo no he publicado unas mejoras o software a desarrollos a medida que se han hecho para mi tienda para que la gente se lo baje como por ejemplo mucha gente hace, ¿tendría yo derecho a exigir a todo aquel que tenga un OsCommerce a que publique gratis todas las mejoras que han realizado en sus webs? Porque si lo que se ha realizado con carácter privado es también libre y se niegan entonces cualquiera tendría derecho a entrar en el ftp de todas las tiendas OsCommerce para bajarse el catálogo. Vamos eso no tiene ni pies ni cabeza porque eso significaría que todo lo que se programa en PHP o JavaScript es de acceso público.
Si por ejemplo el módulo XXX es algo que yo pago para que se me haga nadie puede hacer público sin mi consentimiento ese módulo puesto que jamás ha sido publicado y ni siquiera es una modificación de una contribución libre que ya existía, sino programación a medida. ¿Es la programación a medida software libre? Será libre si yo, que soy el propietario de un código que he desarrollado o he pagado para que me lo desarrollen lo publico con caracter de software libre.

En cualquier caso, te lo digo porque cuando trabajé en XXXX aprendí cómo iba el tema del desarrollo y sus condiciones, XXXX hacía además firmar a los programadores y administradores de redes que contrataban a no revelar datos de la empresa, ni copiar o distribuir el código del intranet o la página web ni en su totalidad ni parcialmente aún si parte del código es considerado público, aceptando pagar unas indemnizaciones millonarias a la empresa por incumplimiento de contrato y revelación de datos confidenciales de empresa.
Pero bueno, tranqui que no pasa ná, esto no ten importancia.
Yo te agradezco las cosas que has hecho y te mostré mi satisfacción. Esta tontería no cambia nada.

YO: La discusión pasa a ser pura filosofía… discutámoslo en plan Grecia 2000a.c. (sin acritud) como si estuviésemos por teléfono.

Lo que pagas cuando solicitas a un programador modificaciones para tu tienda son las horas que ese programador va a pasar haciéndote el módulo. En ningún caso pagas el software. No es propiedad tuya… En ningún caso se firma o se acuerda nada para que el programador de motu propio no publique su módulo.

El módulo XXXX por ejemplo. Alguien diseñó y subió un módulo. Lo publicó porque quiso. Alguien, en este caso tú solicitaste su instalación, bueno no… yo de motu propio lo incluí en avanzosc porque me pareció interesante… lo viste y te gustó y has pagado para que lo finalice, lo arregle y te lo ponga a tu gusto. Pero en ningún caso puedes impedir que lo publique. Soy libre de subir una nueva versión del módulo modificado sin darte ninguna explicación.

Yo podría, si algún Cliente me lo solicita haber instalado dicho módulo en otra tienda sin decirte nada, ni pedirte explicaciones. Mejorado, cambiado o tal cual está… como yo quiera.

Lo que por ejemplo yo en ningún caso puedo hacer es publicar un módulo de un software propietario con licencia. El ERP para el que yo trabajo, por ejemplo… Ellos instalan el software compilado. No dan los códigos fuente. Efectivamente firmamos un acuerdo de confidencialidad en la empresa… pero es radicalmente distinto.  El código escrito en php y mysql NO LO PUEDES COMPILAR aunque quieras. Es software libre. No hay propietarios. No hay fronteras. Cualquiera que lo entienda puede hacerse su dueño. Y esta es la enormidad y la grandeza del movimiento que cada vez es mayor en el mundo. Va contra la propiedad del software. El software tiene que ser accesible a todos… La ventaja es que cuando tienes problemas con algún módulo que se te atasca, un programador de un software propietario NO PUEDE pedir ayuda al mundo. Pero yo sí. Y seguro que hay alguien que me echa un cable. Y posiblemente habrá otro trozo de código que alguien más escribió que en un momento dado me saque del apuro… Y por eso tú tienes tu tienda Oscommerce a un precio más que asequible. Porque Harald Ponce de Leon la publicó en software libre. El software no lo has pagado. Solo el tiempo de instalártelo y de modificártelo a tu gusto… ¿Sabes cuanto te hubiese costado de haberlo programado desde cero?¿La cantidad de horas que son? Pues podriamos decir que para dejarla como la tienes, años… millones de pelas… sin exagerar…

Y lo del presupuesto cerrado en programación es prácticamente imposible… porque los Clientes aplicais la teoría del YAQUE… para solicitar cambios tontos, que al final… suelen resultar no tan tontos. Porque YAQUE estamos, ponme también esto en rojo y mete esto otro que total son 10 minutos. Pero… cambiando esa tontería de 10 minutos, se puede fastidiar otra cosa… y al final no son minutos son 5 horas y esas 5 horas algunos no las cobramos, o cobramos 2. Otros sí lo hacen y están en su derecho. Y otros se cubren de entrada diciendo que serán 20 horas cuando saben que si todo va bien lo harán en 3. Pero nunca se hace en 3… Y si no… fíjate la cantidad de sábados que nos han dado las 2 de la mañana dejando todo al punto, aparte de escuchar videos de youtube… pues unas cuantas. Y esto es así y a los que nos gusta pues no nos importa porque el objetivo no es ganar pasta es dejarlo bien y que funcione…
Si algún día te pones a programar en serio… verás que cuando algo que se te atasca durante 3 días al final lo sacas… ES GENIAL… Para esto, tienes que ponerte a este lado… pero para el Cliente… resulta que la percepción es vaya desastre que me ha tardado 3 días… y es así. Y nos rompemos los cuernos por nuestro trabajo y nuestros clientes, créeme que sí…


MI CLIENTE: Los emails que yo envío directo ana persona, ¿son también de código libre, que los puedes publicar en los foros si preguntarme?

Yo creo que lo más correcto es consultar directamente cómo es la Ley. Y creo que la Ley no da ningún derecho a nadie de copiar y distribuir con o sin ánimo de lucro el trabajo que has realizado a una empresa sin consentimiento de la empresa. El código PHP quizá no se pueda compilar si se distribuye, pero eso es otra cosa. Si yo no distribuyo lo que he hecho o he pagado para que me hagan y no quiero distribuirlo, nadie me puede obligar y nadie a quien contrato tiene derecho a copiar código al que se accede con claves de acceso mediante ftp. Si tú le dejas al fontanero las llaves de tu casa para que cambie las tuberías del cuarto de baño eso no otorga ningún derecho al fontanero de coger un CD tuyo de un cajón y copiarte todas las fotografías que has hecho de paisajes de los países por los que has viajado, sin tu permiso. Los paisajes son públicos y “no compilables”. Pero las fotografías que has realizado tú son privadas, porque nunca las has publicado en ningún sitio ni quieres hacerlo, independientemente de que la patente de la fotografía haya prescrito. Ningún derecho puede pasar por encima de otro.

El trabajo pagado por las modificaciones o mejoras de mi catálogo es mío. Y no es público, puesto que está alojada en un ftp con clave privada y no otorga el derecho a nadie a entrar y copiar mi trabajo sin mi autorización. No es cuestión filosófica. Es una cuestión legal. Se llama robo de datos o espionaje industrial.

El lenguaje de programación PHP es libre. Pero es sólo la herramienta. Las contribuciones que la gente postea de manera gratuita puede que sean libres puesto que no pueden lucrarse por utilizar ese lenguaje… Pero que la herramienta sea libre no significa que nadie pueda entrar en mi ordenador o en mis hosting, copiarme los ficheros y “venderlos”. De todas formas para salir de dudas realizaré la consulta legal a abogados de esos gratuitos que hay en foros a ver qué dicen sobre mis afirmaciones. Si no tengo razón te lo diré y rectificaré.

YO: Según tu razonamiento… yo no entro a tu ftp a robarte nada. Subo cosas de mi PC a tu ftp… o sea que el código está primero en mi PC y luego en tu ftp. Por lo que no tengo que entrar a tu ftp para publicar el módulo que he montado yo. Basta que le modifique algo para que ya no sea exactamente igual que tu módulo. Basta que los códigos de envío se generen con otros códigos para que ya no sea igual que tu módulo. Y yo lo puedo modificar… por lo tanto, lo podría publicar…

Por ejemplo, y ya entrando en Software propietario, compilado y con licencia. Un Cliente pide a una empresa de software propietario una pantalla a medida. Se lo hace y se lo instala como programación a medida. La empresa considera que es interesante y lo incluye en el standar al precio que considere oportuno, o lo publica como una mejora/modulo adicional del paquete que otros Clientes pueden comprar. Es perfectamente legal. El primero paga una pasta porque se hizo para él. Los siguientes pagan lo que estime la empresa que vale el módulo. Puede ser el mismo importe, puede ser la décima parte si le interesa que lo cojan otros Clientes. Puede ser gratis, si lo incluye en el standar de la siguiente versión y los Clientes disfrutarán gratis del mismo si están pagando la cuota de actualización. En cualquier caso, estaría estupendo que nos aclarasen la duda legal del tema.

MI CLIENTE: Tranquila, que te dije que no hay problema, que puedes copiar y vender lo que quieras. Sólo un supuesto de ejemplo. Pero lo que dices que como trabajas en local antes de subir los ficheros ya te da derecho de distribuir el programa creo que te equivocas. Eso es lo mismo que si contratas a un fotógrafo para que haga unas cuantas fotos de un paisaje público y mofique el entorno de las fotos con photoshop. Le pagas por el trabajo (no le estás pagando por los árboles ni la hierba, ni las montañas del paisaje) y las fotos con sus modificaciones. ¿Podría publicar el fotógrafo esas fotos por las que tú pagaste sin tu permiso simplemente alegando que las fotos se hicieron con su cámara y las modificó en su ordenador? Legalmente no puede, aunque la patente del invento de la cámara fotográfica haya prescrito y sea público. Es decir, no se puede difundir con o sin ánimo de lucro un trabajo realizado dentro de una empresa o para una empresa sin la autorización expresa de la misma. Debes tener cuidado con estas cosas, porque si tengo razón y te topas con algún hijo de te pueden fundir…

Sobre el tema de los emails de registro, que el admin envía un tipo de correo y cuando es el cliente el que se registra desde el catálogo le llega otro distinto, lo entiendo. Pero primero tengo que saberlo. Pero que me iba a funcionar a medias nunca me lo dijiste. En ese caso hubiera pedido otra contribución o programación a medida. Si invierto dinero en una funcionalidad lo que quiero que esa funcionalidad funcione para adelante, para detrás, de lado, para arriba y para abajo. Y esto no sólo se aplica a la programación. Cuando llamas a un fontanero para que arregle el desagüe del baño una vez pagues y vuelva a enlozar el suelo, abres los grifos y resulta que sólo vuelve a desaguar bien al agua fría pero el agua caliente sigue atascada. Y la explicación del fontanero no puede consistir en decir “Es que tiene que entender que la casa está llena de tuberías y no se puede preveer que haya alguna más atascada. Usted tiene que entender eso.” Pues no. Eso no es así y el fontanero no tiene razón ninguna. Si él no es capaz de preveer y dar su presupuesto él tiene que hacerse responsable y ser consecuente con ello. A su cliente le hace perder tiempo porque tendrá que volver a levantar el suelo y arreglar el atasco de la otra tubería “como si fuera un favor” (¡encima!). Y te puedo poner miles de ejemplos similares en todas las profesiones.

Yo no he pedido a nadie que me haga favores. Simplemente pido trabajos bajo presupuesto previo y que funcione todo perfectamente sin ningún problema palante, patrás, pa la izquierda, pala derecha, pabajo y parriba, como se dice aquí en Andalucía. Como no soy programador no puedo decirte nunca que instales una misma contribución 3 veces en diferentes formas y hagas una o 2 modificaciones-adaptaciones para que haga lo mismo dese distintas partes del catálogo. Si yo supiera eso probablemente tendría conocimientos sufcientes para hacer el trabajo yo mismo puesto eso implicaría conocer exactamente qué ficheros y qué códigos tocar, modificar o añadir.
Yo no puedo pagar por unos módulos de envío, por ejemplo, pagar también por un módulo de pedidos desde el admin y que sólo pueda hacer pedidos sólo con Paquete Postal desde el admin. ¿Si no qué sentido tiene todo? En fin, creo que hay que ponerse en lugar de la empresa o ciente para el que se trabaja o realiza trabajos y comprender sus necesidades y lo que quiere hacer. Si un cliente te pide una funcionalidad es para que funcione bien de todas las maneras, a no ser que te especifique. Pero en fin, cada uno entiende su propia empresa.

Por mucho que yo me conozca Oscommerce al dedillo, por mucho que instale contribuciones, a veces… muchas veces, las consecuencias son imprevisibles. Solo eso.

Y presupuestar es sumamente complicado. De hecho pocos programadores te dan el precio cerrado.  La mayoría de las veces es así… si vamos por lo alto el Cliente piensa que estamos tomándole el pelo y si vamos por lo bajo, nos enmarronamos por un montón de tiempo y muy poco dinero. Aun así… compensa cuando al final sale bien.

En fin… aquí lo dejamos.  Creo que ambas posturas están lo bastante claras para que podais opinar sobre ellas. Mi opinión ya la conoceis.
Quereis saber si sigue siendo mi Cliente??? … La respuesta en un siguiente capítulo.

  1. #1 by PiLLaO on 2 Enero 2009 - 0:20

    No recuerdo haber leído tanto desde hace tiempo x’D vaya pedazo de entrada.

    Seguro que si llegas a saber que te va a dar tanta guerra no le dices que lo del admin va de regalo jejeje.

    Por mucho que yo le pague a “pepito” para que me programa “esto” yo no puedo hacer nada para que “pepito” lo venda luego, o lo regale o haga lo que quiera, por lo menos eso es lo que yo entiendo. “pepito” pago por su aplicación y la obtuvo, si yo luego las quiero incorporar a mis nuevos trabajos… quien me lo va a impedir, ¿no?

    Bueno, que me estoy liando yo solito jajaja.

    A ver que pasó con el cliente :)

    Salu2

  2. #2 by Ana Juaristi on 2 Enero 2009 - 0:49

    Te aseguro que por mis narices que no le hubiese hecho nada gratis. Pero esto me pasa por lela. Por dar demasiado. Y así me va en algunas ocasiones, que me enmarrono yo sola, cuando lo fácil sería callarme y escaquearme.

    Suerte que tienen los que saben hacerlo… que nos den un cursito de malicia, porfa… :)

(No será publicado)