Manzanas, CDs y mucho cuento

Supongo que no estoy descubriendo nada nuevo con este post, pero quizá aclare mis ideas escribiéndolas, y puede que hasta aclare las de algún lector.

Empecemos por establecer el objetivo del post: hacer ver al lector que cobrar por copias/licencias de CDs de música/software es robar. Sí, ha leído ud. bien. No me refiero a que “piratear” sea robar, sino todo lo contrario: es la discográfica o la empresa de software la que roba al cliente.

Aclarémoslo: ¿en concepto de qué nos cobran?

Tomemos un CD de música, o un programa de software comercial. Cuando pagamos un dinero por “comprarlo”, ¿qué pagamos?

Para contestar a esta pregunta quizá convenga comparar un CD con algo más cercano (para algunos, al menos): una manzana. Si vamos a la frutería y pagamos por un kilo de manzanas… ¿qué gasto sufragamos con nuestro dinero? Puede argumentarse que estamos pagando los gastos de producción, y que ese es también el caso de nuestro proverbial CD de música o software. Pero esto no es del todo cierto. En una sociedad capitalista, no se paga por compensar los sufrimientos del que produce algo, sino en función de cuánto estemos dispuestos a pagar por ello, porque el comprarlo nos evita la molestia de tener que obtener por nuestros propios medios el producto (en el ejemplo, plantar nosotros mismos un manzano).

Supongamos que compramos una manzana, y cogemos sus pepitas. Supongamos que las plantamos y cuidamos durante años, hasta que florece un manzano, y cuando las manzanas están maduras las recogemos y comemos, redistribuyendo entre nuestros amigos las que no queramos. Nadie puede impedírnoslo, y el único motivo para no hacerlo, y comprar las manzanas en la tienda, es que esta manera de duplicar manzanas es costoso. Es esta molestia la que evitamos con nuestro dinero, y no el preservar ningún derecho del vendedor de la manzana original, quien ya nos cobró un precio que consideraba justo por la manzana, y lo que hagamos con ella tras esta transacción de compra-venta justa no le incumbe.

Ahora bien, supongamos que plantar las semillas es trivial. Supongamos que el ciclo de crecimiento del manzano es prácticamente inmediato, y supongamos que obtener las manzanas maduras sea un proceso rápido y poco costoso. Supongamos, también, que la redistribución de las manzanas sobrantes no nos cueste nada. En este caso, ¿sería justo que el vendedor de la manzana original quisiera limitar nuestro derecho a multiplicarla y redistribuir los productos? ¿En base a qué? ¿Simplemente porque es fácil hacerlo? ¿Simplemente porque nuestra redistribución daña su negocio, al serle a él más difícil vender sus manzanas, si nosotros damos gratis las nuestras?

Reflexionemos un poco, porque esto es lo que pasa con la música y el software. Si la copia primigenia se vende a un precio justo, lo que el comprador haga con ella no puede ser de incumbencia del vendedor. Tal como están ahora las cosas, los vendedores de música/software nos están cobrando por el privilegio de hacer copias, que a ellos les salen a un coste marginal. Hay unas leyes que criminalizan el hacer copias y redistribuir ciertos productos, y ello obliga al consumidor a pagar a ciertas personas autorizadas para que ellas hagan las copias y se las proporcionen… Pero no estamos pagando, como con las manzanas, por que otros hagan algo que nosotros no queremos hacer, sino algo que no nos dejan hacer.

Pero, ¿acaso no merece el artista/programador una compensación?

Pues claro que sí. Sucede que, como he dicho, no estamos pagando para cubrir los gastos de producción, sino los “gastos” de duplicación, que son prácticamente inexistentes, y solo se pagan porque las leyes nos quitan el derecho de hacerlo nosotros mismos, y dan los privilegios a otros.

Puede entonces preguntárseme cómo pagar al artista/programador por su trabajo. Pues es bien fácil: cobrando un precio justo por la copia original. Da igual que este precio sea un euro o un millón de euros. El CD “original” debe ser vendido en justicia, y el legítimo comprador debe obtener todos los derechos sobre lo que ha comprado.

Analicemos esta proposición. Supongamos que la empresa Nanosoft produce el sistema operativo Doors, y que le ha costado 10M euros (por decir algo) producirlo. Puede intentar vender 100k copias, a 110 euros cada, y sacará un 10% de beneficio, pero hemos visto que esto no es muy justo, porque traslada el cobrar por un producto (el software), lo cual es justo, a cobrar por un servicio (la duplicación y redistribución), lo cual, siendo prácticamente gratuito y fácil de hacer por el propio cliente, es injusto.

La alternativa es que Nanosoft venda el software original, junto con todos los derechos de duplicación, por 11M euros. Sí, comprendo que nadie estaría dispuesto a pagar ese precio por una copia, pero es que los está pagando por hacer, potencialmente, infinitas copias. Si alguien no está dispuesto a pagar ese precio, ¿por qué se produce ese producto? Si el valor del producto que obtiene el comprador no compensa un desembolso de 11M euros, ¿por qué se ha gastado Nanosoft 10M en producirlo? Y, en todo caso, ¿por qué espera Nanosoft recuperar su inversión?

Si existiera un comprador que obtenga Doors al precio considerado justo por Nanosoft, este compador podría, a su vez, venderlo a otra persona, y/o hacer copias ilimitadas, vendiéndolas o no (y recordemos que Nanosoft sigue pudiendo hacer copias del software). Pero tengamos en cuenta otra cosa: que todo comprador, una vez pagado un precio justo al vendedor (Nanosoft, o cualquiera en la cadena), se convierte a su vez en vendedor y redistribuidor legítimo. Esto implica, obviamente, que el software será cada vez más difícil de vender, y que se “devaluará”, pues los sucesivos compradores temerán cada vez más que sus predecesores redistribuyan las copias que se quedaron. Pero esto no es injusto, dado que cada vez que alguien revende el CD no pierde realmente nada, ya que sigue quedándose con todos los derechos que adquirió cuando hizo su compra.

Hay que hacer especial hincapié en el hecho de que alguien en la cadena de compradores (incluido el primer eslabón: el productor) tiene que vender una copia del producto (p.e. un CD de Doors XP) si y solo si el comprador le ofrece un precio justo, y que una vez vendida la copia por un precio justo, el vendedor comparte todos los derechos de los que disfruta sobre la copia y redistribución del producto con el comprador. No “cede” ningún derecho, porque una vez efectuada la venta, él sigue teniendo todos sus derechos intactos.

La presente situación, en que los compradores somos criminalizados por hacer copias y redistribuir productos que no están fuera de nuestra capacidad de copiar y redistribuir, se produce por el simple hecho de que los productores de software/música no son capaces de vender sus productos por un precio justo, y se ven obligados a vender copias individuales a precios inferiores, esperando recuperar el gasto vendiendo muchas copias. Pero esto no es nuestro problema como consumidores. Si a mí se me vende algo por un precio considerado justo, tengo todo el derecho a hacer con ese producto lo que quiera, incluido compartirlo, regalarlo, duplicarlo o quemarlo. Yo no tengo ningún problema con que los precios suban. Me parece una opción lícita. Los productores pueden pedir lo que quieran por sus productos, y el comprador puede comprar o no. Pero lo que el productor no puede hacer es violar los derechos del comprador, ni fiscalizar qué hace el comprador con su compra.

Si no permitimos que el frutero nos diga qué hacemos con una manzana (comerla, compartirla, plantarla y duplicarla, o tirarla a la basura), ¿por qué tenemos que aceptarlo de un productor de software o música? Respuesta: no tenemos por qué.

Comments (2)

Pérez-Reverte y sus Termópilas

Acabo de leer el artículo de Arturo Pérez-Reverte en el XLSemanal de esta semana (Nº 1018), y veo que abunda sobre unos argumentos ya utilizados hasta la saciedad por cuatro demagogos.

El artículo trata sobre las opiniones vertidas alrededor de la película 300, de Zach Snyder. La película, como el lector sabrá, relata la épica resistencia en el desfiladero de las Termópilas de 300 soldados espartanos, bajo el mando del rey Leónidas, frente a las huestes de Jerjes, rey de reyes de Persia, en el año 480 A.C. Pérez-Reverte critica la aplicación, por parte de críticos de la película, de estándares morales actuales a una situación que tiene ya 2500 años (en esto estoy de acuerdo), pero se excede totalmente al hacer una defensa acérrima de lo buenos que eran los griegos.

Me tomo la licencia de citar sus palabras a continuación, y comentar algo sobre ellas:

Al morir de pie, espada en mano, hicieron posible que, aun después de incendiada Atenas, en Salamina, Platea y Micala sobrevivieran Grecia, sus instituciones, sus filósofos, sus ideas y la palabra democracia. Con el tiempo, Leónidas y los suyos hicieron posible Europa, la Enciclopedia, la Revolución Francesa, los parlamentos occidentales, que mi hija salga a la calle sin velo y sin que le amputen el clítoris, que yo pueda escribir sin que me encarcelen o quemen, que ningún rey, sátrapa, tirano, imán, dictador, obispo o papa decida –al menos en teoría, que ya es algo– qué debo hacer con mi pensamiento y con mi vida. Por eso opino que, en ese aspecto, aquellos trescientos hombres nos hicieron libres. Eran los nuestros.

Comete Pérez-Reverte un número de falacias que no necesitan de mucho conocimiento histórico para rebatir, pero este conocimiento ayuda.

Primero, comete la falacia de post hoc, ergo propter hoc, ya que asume que todas esas cosas “buenas” que hemos tenido y tenemos en Europa, se deben a que aquellos europeos hicieron frente a aquellos asiáticos… pero esto no está para nada demostrado. Complementa esto con una falacia de petición de principio, ya que da por supuesto que si los persas hubiesen ganado, no gozaríamos de las libertades que menciona, y esto genera el argumento circular de que, por tanto, el que ganaran los griegos fue lo que nos trajo lo que tenemos.

También olvida convenientemente Pérez-Reverte que la batalla ocurrió 500 años antes de que se fundara el cristianismo, y alrededor de 1000 antes de que se fundara el islamismo. Los Papas e Imanes que menciona aparecieron mucho después, y no están realmente muy conectados con la expansión del imperio de Jerjes.

Es más, aún suponiendo que la historia europea sea lo que ha sido gracias a que Grecia resistió ante Persia… ¿a qué viene una selección sesgada de lo “bueno”? ¿Acaso en Europa no hemos tenido una Edad Media llena de oscurantismo? ¿Acaso son los espartanos responsables, por ejemplo, de la Inquisición? ¿Acaso la Revolución Francesa no se llevó a cabo precisamente porque la situación anterior (realeza, nobleza y abusos) era tan nefasta? ¿Y esto no proviene de Grecia y Roma? ¿Gracias a Leónidas las hijas de Pérez-Reverte no llevan velo, pero no debemos a Leónidas el ascenso de Hitler? Es un poco inconsecuente. Al fin y al cabo, si los Persas hubiesen ganado, la Inquisición nunca habría aparecido, ni Hitler hubiera tenido huevos de promover el odio contra los que no fueran “arios”.

Por otro lado, parece que Pérez-Reverte atribuye fanatismo e ignorancia al Irán actual (antigua Persia), y deduce que tales males nos afligirían en Europa si Jerjes hubiera ganado. Pero es que 150 años después de Jerjes, hubo un muchacho macedonio rubio y de ojos azules que, antes de morir a los 33 años, unió a toda Grecia y extendió un imperio que llegó a derrotar a Persia, destruyendo su capital, Persépolis, y conquistó Anatolia (Turquía), Siria, Fenicia (Líbano), Judea, Gaza, Egipto, Bactria (Afganistan) y Mesopotamia (Irak). Este chico se llamaba Alejandro Magno.

Ahora bien, ¿no podrían los ciudadanos de esos paises quejarse amargamente de que sus hijas tienen que usar velo, y que pueden ser lapidados por sus ideas, por culpa del bárbaro de Alejandro? ¿No podría argumentarse que mejor les habría ido si Jerjes hubiera conquistado Grecia, y que el mal que puedan sufrir no es culpa del Imperio Persa, sino del Imperio Macedonio?

La respuesta, obviamente, es no. Ni nuestra Enciclopedia se la debemos a Leónidas, ni el fanatismo religioso en oriente medio se lo deben a Alejandro. Asignar responsabilidades y gratitudes históricas, remontándose a 2500 años atrás, es un acto tan irresponsable como el juzgar a aquellos griegos con nuestra moral de ahora. Lo triste es que Pérez-Reverte ha visto el error de esto último, pero no el de lo primero. Lamentable.

Comments (13)

How (legally) strong is the word "free"?

It seems that the answer is: a lot.

Perusing some old e-mails (I save all the e-mails I receive, except spam and stupid 2MB presentations), I found the following one, dated November 11, 2006:

Hello all,

I read in your page at:

http://www.linfo.org/index.html

That your “[…] project has the goal of providing high quality, comprehensive, accessible and free information about Linux and other free software”

How is it “free”, if the page also reads?:

“Copyright © 2004 – 2006 The Linux Information Project. All Rights reserved.”

Could you publish the information under a Creative Commons, or GNU Free
Documentation License? Either that, or remove the “free” part in the
paragraph above.

Yours sincerely,

Iñaki

As it follows from my e-mail, I was concerned for the use of the adjective “free” in an incorrect way. The reader might think they (of course) ignored my warning, because “free” is such a loose, multi-meaning, not-legally-binding word, much like “healthy”, “good”, “in a minute”, “you can do it yourself”, “natural”, “organic”… and all the jargon used in advertising to convey a positive look of the product, while still dodging potential sues for misguiding information.

Well, not quite. It seems that in software and information technology, “free” has a definite meaning, which linfo.org would not meet. As such, you can visit their current page, which now reads:

Welcome to The Linux Information Project (LINFO)! This project is dedicated to providing high quality, comprehensive and easily accessible information about Linux and other free software.

See any missing word? Why, the “free” is gone!

Maybe it sounds petty and nit-picking, but it isn’t. There is an increasing tendency to bastardize words like free software and the like, which I ascribe to closing the gap between “free and good” and “closed, for-profit, and evil”. Corporations have noticed how some terms are gaining progressive good reputation, like e.g. free software, and don’t want to lose terrain in the ensuing war.

This war has two fronts: first, demean everything that smells of “freedom”. For example, label “free software” products as “open souce software”. Why? Because it weakens its link with some freedom ideals, and conveys the idea that what makes that software different is simply that you can read the source code. You will also recognize bastards playing on this side because they will always refer to “free software” (software created and used with freedom) as “software that is free of cost” or “no-cost software”, or any other construction that tries to reduce all the benefits and characteristics of free software to the concept that it is free of cost, like mere freeware (read an example in a previous post[es]).

The second front is attaching the label “free” and/or “open” to any product that could conceivably (or inconceivably) bear it, much like “low-fat” would be attached to any food, be it naturally fatty or not (in which case little an achievement it would be), or even non-food (like tobacco), or “organic” to anything from food to clothes to shampoos.

In this confrontation, we start a slippery slope of giving blurry meanings to words, then end up having blurry concepts applied, like a “low-fat” super-hamburger that can single-handedly obstruct all your arteries with its cholesterol, but is called “low-fat” because it has lower fat content than another similar size burger, or a page showing information that they call “free”, but is under burdensome copyrights, that (for example) take from you the simplest right of copying the information and sharing it with others freely.

Comments

Why J2EE is complex

I read in O’Reillynet a comment on AurigaLogic’s Blogic.

Blogic comments on why J2EE is so complex and tedious to use. Their main thesis to support that complexity is… hold your breath…. fasten your seatbelts… : if it were easier, more stupid people would be using it!. Ta-da!!

Amazing, the “blogic” of this people.

Comments

Flipo con Carlos Herrera

El susodicho señor Herrera no para de crisparme los nervios cada semana con sus artículos en el suplemento semanal del Diario Vasco. Bueno, todas las semanas no. A veces no lo leo.

Cuesta imaginar una mentalidad tan carpetovetónica como la suya, que igual defiende torturar toros ante la chusma enfervorecida, que, como esta semana, dedica una página entera a soltar improperios (otro argumento no tiene), contra un par de colegios españoles que han decidido no hacer celebraciones navideñas, basándose en su estatus laico. El artículo íntegro puede leerse aquí.

Transcribo el e-mail que pienso enviarle (carlos@carlosherrera.net):

Estimado Sr. Herrera,

Leo con alarma su artículo del 17 de diciembre del 2006 en XLSemanal, “Estúpidos Sin Fronteras”. Alarma porque sorprende que un periodista de su larga experiencia haga tan amplio ejercicio de falta de argumentos y recurso al argumento falaz y el insulto gratuito.

Si se eliminan los insultos, que a la única persona que rebajan es a ud. mismo, el lector se encuentra con una sorprendente retahíla de argumentos falaces, que dada su formación en letras debería saber evitar. Cito:

“Renunciar a esa pequeña fiesta a caballo entre lo social, lo familiar y lo religioso es una tontería manifiesta, habida cuenta el argumento que toda esa cuadrilla de idiotas maneja como excusa principal: una escuela pública es laica, ergo nada se celebra que tenga que ver con la religión.”

Clasificar de “tontería manifiesta” a renunciar a dicha fiesta es una afirmación gratuita. No es un argumento, sino una conclusión a la que se llega con argumentos que ud. no presenta (quizá porque no tiene). Utiliza ud. un petitio principii: su conclusión (que los defensores de esa idea son estúpidos) se basa en una proposición (que es una “tontería manifiesta”) que de hecho presupone la conclusión… no la demuestra.

“Otros aducen la presencia de minorías musulmanas que, por lo visto, huirían, histéricas, al comprobar que en el patio de su colegio alguien se ha disfrazado de San José, ese conocido activista antimahometano.”

Este argumento falaz se llama “hombre de paja”, y se basa, como sabrá, en construir un trasunto risible del objeto de nuestra crítica, y criticar ese trasunto, en vez de el objeto original de la crítica. Nadie teme que musulmanes histéricos huyan ante San Josés antimahomentanos… pero eso ud. ya lo sabe.

“Tanto unos como otros tienen pocas ideas, y las pocas que tienen rebotan en la oquedad de su cabeza[…]”

Más insultos gratuitos.

“¿Cómo explicarles a estos memos titulados que la Navidad forma parte, como la religión católica, de la cultura cotidiana de muchas generaciones de pobladores de nuestro país?”

Este argumento falaz se llama “apelar a la tradición”, y se basa en que algo debe de ser bueno, si lleva tanto tiempo haciéndose. La obviedad de su falacidad puede demostrarse por reducción al absurdo: durante cientos de años (miles) no ha habido democracia, ¿por qué cambiar ahora? Nunca ha habido antibióticos, ¿por qué usarlos ahora? Siempre hemos tirado la cabra del campanario en fiestas, obviamente dejar de hacerlo sería estúpido.

“¿Cómo pelear contra la melancolía, digo yo, que causa tener que esforzarse en explicar algo absolutamente obvio?”

Más afirmaciones gratuitas. Dé (se me ocurre proponer) argumentos, hombre de Dios.

“Si la revisión del calendario festivo español tuviese que sufrir un repaso de tipejos como los que han tomado esas decisiones en esos dos colegios públicos españoles –algunos padres incluidos–, tendríamos que empezar a replantearnos nuestra vida desde el minuto uno de nuestra existencia.”

Más recurso al hombre de paja: nadie propone que se eliminen las festividades en sí (el hombre de paja que ud. emplea), sino eliminar la religiosidad de dichas festividades.

“Como no creo que estén dispuestos a renunciar a sus festividades habituales, asistiríamos al replanteamiento civil de muchas de ellas: de la misma forma que unos cuantos capullos de seda abogaron por instaurar una suerte de ‘primeras comuniones civiles’ o ‘ceremonias civiles de bienvenida a la sociedad’ –por el bautizo, se entiende–, estos pedagogos zaragozanos y murcianos abogarán por retitular la fiesta de la Purísima como Fiesta del Fin de Otoño, la de la Epifanía como Día del Juguete y la del Viernes Santo como Fiesta de la Primavera Jubilosa.”

Estupefacto me deja ud. con esta muestra de ignorancia histórica (amén de reiteración en el uso de hombres de paja). Debería ud. saber que la mayoría de fiestas religiosas (cristianas), empezando por la Navidad, son refritos y reconversiones de fiestas paganas muchísimo más antiguas y enraizadas en la sociedad que estas fiestas actuales que las sustituyeron.

Comete ud. un lamentable non sequitur al usar un razonamiento (básicamente, que cambiar tradiciones no está bien) para defender una posición (las actuales fiestas religiosas) que se basan en la negación, en primer lugar, de dicho razonamiento (ya que estas fiestas abolieron otras).

“Lo único bueno que tienen estas cosas es que se acaban sabiendo antes o después y que del ridículo no les salva nadie. Pero no hay que acomplejarse y creer que ésa es una tendencia a la que vamos de forma inevitable: no y no. Quede constancia que quienes así actúan, a los ojos de este cronista, no son más que una simple, redonda y rotunda pandilla de majaderos. Feliz Navidad a todos ellos.”

Para este viaje nos sobraban las alforjas. Se limita ud. a exponer su respetable opinión de que las medidas a las que alude son una majadería. Estupendo. Bueno es saberlo. Ahora bien, esto podía decirse en 2 líneas, sin darle cuerpo en un artículo que intenta crear la ilusión de que hay cierto argumento objetivo detrás de dicha opinión personal.

Sinceramente,

Iñaki Silanes

Comments

¿Popularización de Software Libre acentúa explotación de bugs?

[This entry is also available in English|English PDF|PDF en castellano]

Los excépticos del movimiento FLOSS suelen decir que el Software Libre tiene, en general, menos bugs explotados que el software privativo, solamente porque es menos popular que este. Argumentan que, como el FLOSS tiene menos usuarios, los crackers estarán menos interesados en malgastar su tiempo intentando explotar los bugs que pudiera tener. La mayor base de usuarios del software privativo daría además, según ellos, una mayor publicidad a sus bugs, y sus modos de explotación se difundirían más rápido. El corolario a esta teoría sería que la popularización de aplicaciones FLOSS (p.e. Firefox), llevería a un incremento en el número de bugs descubiertos y explotados, llegando eventualmente a un estado similar al del software privativo actual (p.e. “Cuando Firefox sea tan popular como Internet Explorer, tendrá tantos bugs como Internet Explorer.”).

El objetivo de este artículo es demostrar matemáticamente la total insensatez de tal teoría. Específicamente, argumentaré que un aumento en el tamaño de la comunidad de un proyecto FLOSS lo mejora de al menos 3 formas:

  1. Desarrollo acelerado
  2. Menor vida media de bugs abiertos
  3. Menor vida media de bugs explotados

Una explicación más extensa está disponible en formato PDF. Lamento que las fórmulas matemáticas en HTML sean de calidad francamente pobre, pero no tengo ni tiempo ni habilidad para mejorarlas. Si el lector está interesado en fórmulas bonitas, recomiendo acudir al PDF.

Este blog, y el PDF que enlazo, están liberados bajo la siguiente licencia:


Creative Commons License

Esta obra está bajo una licencia de Creative Commons.

Lo que esto significa, básicamente, es que eres libre para copiar y/o modificar este trabajo como gustes, y redistribuirlo cuanto quieras, con dos únicas limitaciones: que no le des uso comercial, y que cites a su autor (o al menos enlaces a este blog).

1 – Proposiciones y derivación

Tenemos un proyecto FLOSS P, nuevas versiones del cual se liberan cada T tiempo. Cada versión se asume que incorpora G nuevos bugs, y las sucesivas versiones serán liberadas cuando todos los bugs de la anterior sean parcheados. En un momento determinado habrá B bugs abiertos (de los G originales).

Asumo que la velocidad de parcheo es proporcional al tamaño de la comunidad de usuarios (U):

dB/dt=-KpU

1.1 – Desarrollo acelerado

De arriba, la dependencia temporal del número de bugs abiertos:

B = G – Kp U t

El tiempo entre versiones (T), de B = 0:

T = G/KpU

De manera que el tiempo entre versiones se acorta para U creciente.

1.2 – Menor vida media de bugs abiertos

En un período de tiempo dt, se parchean (-dB/dt)dt bugs, siendo su edad t. Si llamamos τ a la vida media de los bugs, tenemos la definición:

τ = (∫t(-dB/dt)dt)/(∫dB)

De ahí se deduce:

Ï„ = T/2

Esto es: la vida media de los bugs es siempre la mitad del tiempo entre versiones, el cual (como se ha mencionado) tiene una proporcionalidad inversa con U.

1.3 – Fracción de bugs explotados antes de ser parcheados

Definimos la siguiente velocidad de explotación de bugs, donde Bx es el total de bugs explotados, Kx es la “eficiencia de explotación” de los crackers (cuya cantidad se asume proporcional a U), y Bou es la cantidad de bugs abiertos y sin explotar:

dBx/dt = Kx U Bou

También definimos α = Box/B, donde Box es la cantidad de bugs abiertos y explotados.

Se puede derivar la evolución temporal de α:

α(t) = 1 – exp(-Kx U t)

Tras ello definimos γ = Kp/KxG, y derivamos la fracción de los bugs G que terminan siendo explotados para un tiempo t:

Bx(t)/G = 1 – γ + (γ – 1 + t/T)exp(-Kx U t)

Resolviendo para t=T, y tomando en cuenta que T=G/KpU, obtenemos la fracción de los bugs totales que son explotados en algún momento durante el período entre versiones (Fx):

Fx = 1 – γ + γ exp(-1/γ)

Nótese que Fx es independiente de U, esto es, aunque aumente el tamaño de la comunidad de usuarios, no aumenta la fracción del total de bugs que acaban siendo explotados (aunque un crecimiento de la comunidad traiga asociado un aumento colateral del número de crackers).

1.4 – Menor vida media de bugs explotados

Deseamos saber cuánto tiempo permanecen sin parchear los bug explotados, y llamamos a este tiempo τx. Tras un desarrollo ligeramente complejo, pero derivando siempre de equaciones previamente definidas (ver la versión PDF), obtenemos una expresión realmente simple para τx:

τx = Fxτ

Esto es, el tiempo medio de explotación de los bugs explotados es proporcional a τ, el cual a su vez es proporcional a T, o inversamente proporcional a U.

2 – Conclusiones

El eslogan “Más popularidad = más bugs” es un non sequitur. De acuerdo con el simple modelo que bosquejo aquí, cuanto más amplia sea la comunidad de usuarios de un programa FLOSS, más rápido serán parcheados los bugs, incluso admitiendo que a más usuarios, más crackers entre ellos, dispuestos a acabar con él. Incluso para crackers que sean más efectivos en su desempeño que los usarios de buena fe en su trabajo de parcheo (Kx >>> Kp), aumentar el tamaño de la comunidad reduce el tiempo que los bugs permanecen abiertos y también cuánto tiempo tardan en parchearse los bugs ya explotados. No importa cuán torpes sean los usuarios, y cuán rapaces los crackers, el modelo libre (por medio del cual se da acceso al código a los usuarios, dándoles así poder para contribuir al programa) asegura que la popularización es positiva, tanto para el programa como para la propia comunidad.

Comparemos esto con un modelo cerrado, en el que una base de usuarios mayor puede incrementar el número de crackers atacando a un programa, pero ciertamente añade poco o nada a la velocidad con que el código es parcheado y corregido. Es de hecho el software privativo el que debe temer su popularización. Es fácil de ver que cuando una pieza determinada de software privativo alcanza una cierta “masa crítica” de usuarios, los crackers pueden potencialmente desmoronar su evolución (digamos, haciendo Ï„x = T, Fx = 1), porque (a diferencia del FLOSS), G, P, y por lo tanto T, son constantes (ya que dependen únicamente de los vendedores del software).

Comments (1)

Popularity of Free Software generating bug exploitation?

[Esta entrada está también disponible en castellano|English PDF|PDF en castellano]

It is often said (by FLOSS-skeptics), that Free Software has less exploited bugs than the Proprietary Software because it is less popular. They argue that, since less people uses FLOSS, the crackers are less inclined to waste their time exploiting the bugs it could have. The greater user base of the proprietary software would also, in their words, make bugs more prominent, and their exploits spread faster. The corollary of this theory would be that popularization of FLOSS applications (e.g. Firefox), would lead to an increase in the number of bugs discovered and exploited, eventually reaching a proprietary-like state (e.g. “Firefox will have as many bugs as IE, when Firefox is as popular as IE”).

In this blog entry I will try to outline a mathematical model, proposed to demonstrate the utter nonsense of this theory. Specifically, I will argue that an increase in community size benefits a FLOSS project in at least 3 ways:

  1. Faster development
  2. Shorter average life of open bugs
  3. Shorter average life of exploited bugs

A more thorough explanation is available in PDF format. Recall that the math display in HTML is generally poor (much more so when I don’t have the time nor skills to tune it). If you like pretty formulas, the PDF is for you.

Both this blog entry and the linked PDF are released under the following license:

Creative Commons License

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.

What this basically means is that you are free to copy and/or modify this work, and redistribute it freely. The only limitations are that you can not make it for profit, and that you have to cite its original author (or at least link to this blog).

1 – Propositions and derivations

We have a FLOSS project P, new versions being released every T time, and each version incorporating G new bugs. Each new version will be released when all bugs from the previous release have been patched. At any point in time, there will be B open bugs (remaining from G).

The patching speed is assumed proportional to the size of the comunity of users (U):

dB/dt=-KpU

1.1 – Faster development

From above, the time dependency of open bugs:

B = G – Kp U t

The inter-release period (T), from B = 0:

T = G/KpU

So the inter-release time (T) is shortened for growing U.

1.2 – Shorter average life of open bugs

In a dt time period, (-dB/dt)dt bugs are patched, their age being t. If we call Ï„ the average lifetime of bugs, we have the definition:

τ = (∫t(-dB/dt)dt)/(∫dB)

From that it follows:

Ï„ = T/2

So, the average life of open bugs equals half the inter-release time, which (as stated above) has an inverse proportionality with U.

1.3 – Fraction of bugs exploited before being patched

We define the following bug exploitation speed, where Bx is the total amount of exploited bugs, Kx is the “exploiting efficiency” of the crackers (whose amount will be proportional to U), and Bou is the amount of open and unexploited bugs:

dBx/dt = Kx U Bou

We also define α = Box/B, where Box is the amount of open and exploited bugs.

It can be derived the evolution of α with time:

α(t) = 1 – exp(-Kx U t)

We then define γ = Kp/KxG, and derive the fraction of G bugs that end up exploited by time t:

Bx(t)/G = 1 – γ + (γ – 1 + t/T)exp(-Kx U t)

Solving for t=T, and taking into account that T=G/KpU, we get the fraction of total bugs that gets exploited ever, during the inter-release period (Fx):

Fx = 1 – γ + γ exp(-1/γ)

Recall that Fx is independent of U, that is, increasing the size of the user community does not increase the fraction of total bugs that get exploited ever, even though the amount of crackers is increased along with the user base.

1.4 – Shorter average life of exploited bugs

We want to find out how long exploited bugs stay unpatched, calling this time τx. After some slightly complex algebra, but always deriving from the previously defined equations (see PDF version), we obtain a fairly simple expresion for τx:

τx = Fxτ

That is, the average exploitation time of exploited bugs is proportional to Ï„, which is to say it is proportional to T, or inversely proportional to U.

2 – Conclusions

The “Increasing popularity = Increasing bugginess” motto is a non sequitur. According to the simple model outlined here, the broader the user community of a FLOSS program, the faster bugs will be patched, even admitting that an increase in user base brings an equal increase in the number of crackers committed to doom it. Even for crackers that are more effective in their cracking work than the bona fide users in their patching work (Kx >>> Kp), increasing the community size does reduce how long the bugs stay unpatched and also how long the exploited bugs stay unpatched. No matter how clumsy the users, and how rapacious the crackers, the free model (whereby the users are granted access to the code, and thus empowered to contribute to the program), ensures that popularization is positive, for both the program and the community itself.

Compare that with a closed model, in which an increased user base may boost the number or crackers attacking a program, but certainly adds little, if anything, to the code patching and correcting speed. It is actually proprietary software that should fear popularization. It is easy to see that when a particular proprietary software piece grows over a certain “critical mass” of users, the crackers could potentially disrupt its evolution (say, Ï„x = T, Fx = 1), because G, P and thus T, are kept constant (depend only on the sellers of the code).

Comments (1)

CSI and false dichotomies

Yesterday I watched a CSI: Miami chapter where Erik Delko was accused of smoking marijuana.




South Beach, Miami. Full of marijuana smokers as Delko, most surely. Taken from Wikimedia Commons

What I want to comment on is the short interview of an Internal Affairs officer to Delko’s workmate Ryan Wolfe. The aim of the interview was to find evidence of Delko’s drug comsumption, and it went like this (loosely transcripted):

Officer: – Have you seen Delko consuming marijuana, or any other drug?
Wolfe: – No.
O: – Have you seen Delko in posession of marijuana, or any other drug?
W: – No.
O: – Did you see Delko with any drug-related paraphernalia?
W: – Nothing illegal…
O: – Then, what?
W: – Only cigarrette-paper.
O: – What do you think the paper was for?
W: – Maybe smoking tobacco.
O: – Have you ever seen Delko smoking tobacco?
W: – Never.
O: – Then, the paper was not for smoking tobacco! (clearly implying that it was for smoking marijuana)

Wow! Amazing this guy’s logic!

First, he makes use of a loaded question: asks about Delko smoking tobacco, making the negative answer (that he expects) sound like the assumption that he does smoke marijuana.

Second, he makes an argument from ignorance: since Wolfe has not seen Delko smoking tobacco, Delko does not smoke tobacco.

Third, in doing this he commits false dichotomy: the only uses of cigarrette-paper are not smoking either tobacco or marijuana, and the denial of one option does not make the other true. Inferring that, because we don’t know any other use for that paper, there must be only those two uses would be another argument from ignorance.

Fourth, and most prominently, he is delivering an outrageous non sequitur: he implies that Wolfe not having seen Delko smoking tobacco is a proof of him not smoking tobacco, but Wolfe not having seen Delko smoking marijuana is not a proof of him not smoking marijuana.

Comments

Salvaje agresión a inocente periodista

Hoy, zapeando, he tenido ocasión de ver uno de los (ejem) magníficos reportajes de denuncia social de un programa de telebasura y prensa rosa (creo que era “Aquí hay tomate”, pero podría haber sido cualquier otro). Paso a relatar los hechos que se exponían:

Una famosa X (quizá era una de las acusadas por corrupción en Marbella, no lo sé, ni me importa) huía de un grupo de “honrados” paparazzi que la acosaban por la calle. Aparentemente había un corrillo de gente, que en estos casos siempre acuden, como moscas a la mierda.

Eventualmente, X llegó a su vehículo (un todoterreno), abrió la puerta y entró… seguida por el insidioso brazo de una reportera, que sostenía un micrófono que intentaba meter bajo la boca de X, incluso cuando esta ya había entrado en el vehículo. Llegado este punto, X cerró la puerta tras ella, sin mirar atrás (y con bastante mala leche), golpeando el brazo de la reportera, quien lógicamente se apartó, doliéndose amargamente del brazo. X simplemente arrancó y se fue.

Hasta aquí los hechos (que estaban todos grabados y bien grabados en vídeo, lógicamente).

Lo que me parece notable de esta pseudonoticia es que los pseudoperiodistas del deleznable teleshow ¡¡¡tuvieron las agallas de poner a parir a X, por pillar el brazo a la reportera!!!

Estas preclaras mentes se dedicaron a repetir el vídeo a cámara lenta (solo el momento del portazo, claro, no todo el tiempo que estuvieron acosando a X), intentando “demostrar” que X cerraba la puerta con la malvada intención de pillar el brazo a la reportera, y que no fue un accidente (en esto estoy razonablemente de acuerdo con ellos), y a denostar a X, primero por la agresión, y segundo por la denegación de auxilio a la periodista magullada.

¿Denegación de auxilio? ¿Es que acaso la periodista no tenía compañeros que la ayudaran? Por ejemplo el propio cámara, a quien no tembló el pulso en ningún momento, y siguió filmando sin parpadear, supongo que pensando para sí “¡Wow! ¡Menudo reportaje que me va a salir!, en vez de considerar el dejar la cámara y asistir a su compañera herida. Por no mencionar a toda la gente que tan valientemente seguía y apoyaba el acoso a X cuando caminaba por la calle, pero en cambio silbaba y miraba para otro lado cuando había una mujer herida que necesitaba ayuda. Me pregunto cuántos perdieron el culo llamando a una ambulancia, o se ofrecieron a trasladarla a un ambulatorio en su coche.

No puede haber denegación de auxilio cuando se deja “bien acompañado” al accidentado. Claro que, en este caso, con las víboras de sus ¿compañeros? reporteros y las ¿respetables? gentes de la calle… igual es cierto que no estaba “bien acompañada”.

Por otro lado, ¿qué importancia tiene la discusión de si X cerró la puerta de buena o mala fe? Aquí todos a poner a caer de un burro a X por cerrar la puerta de SU coche, para ejercer su DERECHO a largarse, pero nadie considera la injustificada lesión de los derechos de X que hizo la reportera al meter la mano en SU coche, e intentar impedirle con ello que se fuera.

Yo lo tengo muy claro: si metes la mano en el cortacesped, te expones a que te la corte. No es culpa del cortacesped, sino tuya, por gilipollas. Y en este caso, la reportera fue malintencionada, además de gilipollas. Una cosa es que te aborden por la calle, y más o menos te tengas que aguantar. Pero que se inmiscuyan DENTRO de tu PROPIEDAD PRIVADA es algo que no tienes por qué tolerar. Meter la mano dentro de tu coche es como que metan la mano por la ventana de tu casa para grabarte mientras lees el periódico en la sala. Si tienes un bate de beisbol a mano le metes una buena, por entrometido. Y encima le denuncias TÚ a ÉL por acoso.

Los (*-Mamá, ¿se puede decir “hijoputa” en un blog?. -No, hijo. -Vaaale.*) hipócritas de pseudoperiodistas encima decían que dar un portazo no eran maneras, que X tenía que haber pedido por favor a la reportera que quitara el brazo. ¡Sí, hombre! Claro, como la reportera no sabía que estaba tocando las narices a X, esta tenía que hacerselo saber. Claro, como no llevaban media hora hostigándola, como que alguien a quien rehuyes te meta el micrófono bajo las narices no es considerado molesto por nadie, como meter el brazo en el coche de alguien aprovechando que entra en él nadie lo considera agresivo… pues claro, X tenía que hacer saber a la reportera (de buenas maneras, por descontado) que la estaba molestando, y pedirle (por favor, of course) que retrajera su extremidad superior derecha del vano de la puerta de su automóvil… ¡Anda ya!

Tal como lo entiendo, la reportera (envalentonada por la débil defensa del derecho a la privacidad y protección frente a acosos que hay en este país de charanga y pandereta) agredió continuadamente a X, culminando dicha agresión en la violación de su espacio privado (el interior de su propio coche). Dichas agresiones tuvieron consecuencias negativas para la agresora (dejemos los roles claros: en esas circunstancias X era víctima de acoso, y la reportera la acosadora). Pues mala suerte. Para la próxima que se replantee qué derechos está dispuesta a pisotear y qué riesgos está dispuesta a correr en el el ejercicio de su profesión. A los reporteros que no meten el brazo donde no deben nadie se lo pilla con una puerta.

Comments

Los caraduras de la SGAE

Leo en el Diario Vasco un artículo haciéndose eco del enfrentamiento entre SGAE y usuarios de material informático (o sea, tú y yo), en relación con el famoso canon por copia privada que se aplica a medios como CDs y DVDs.

El preclaro Farré afirma (refiriéndose a los fabricantes de soportes de almacenamiento digital), con su acostumbrada hipocresía:

Lo lógico es que compartan una mínima parte de esa ganancia con quienes crean esos contenidos […] ¿Venderían tantos soportes si no se pudieran copiar las obras?

Este es el puñetero argumento de “gracias a la música se venden más CDs vírgenes, por lo tanto los autores deben recibir una parte del pastel”. Dejemos a un lado si dar dinero a la SGAE equivale a darlo a los autores de la música, o si la SGAE realmente representa a los autores españoles (muchos de los cuales no se adhieren a ella), o en qué lugar queda la música CC… Supongamos que SGAE=música (aguantad las risas, es un suponer).

Pues bien, ese argumento seguiría siendo FALSO.

Es falso y bien falso. El mercado libre no funciona de esa manera, querido Farré.

Supongamos que yo vendo coches. Supongamos que vendo 1000 coches este año. Supongamos que el año que viene la compañía X inventa un combustible más barato. Como el combustible es más barato, la gente empieza a comprar más coches, y mis ventas suben a 2000 coches en el 2007. ¿A alguien en su sano juicio se le ocurriría pensar que la compañía X puede pedirme un “canon” por los coches que vendo, alegando que “gracias a ellos he vendido más”? Pues a nadie, claro.

Supongamos que, en vez de inventar un combustible más barato, X inventa un coche solar. La nueva competencia hace que mis coches sean impopulares, y mis ventas del 2007 bajan a 500 coches. ¿Tengo derecho a demandar a X por hacer que mis ventas bajen? Pues no, claro.

Si acciones de terceros negocios afectan favorable o desfavorablemente al mío, lo tengo que tomar como imponderables del mercado, y adaptarme al cambio sin rabietas y sin pataletas. Pero parece que la SGAE no ha entendido esto: en un mercado justo y libre, NADIE COBRA POR BENEFICIOS INDIRECTOS A TERCEROS.

Es más, tampoco es tan claro que la música beneficie la venta de soportes digitales, pero no al revés, ni en qué medida se dan estos beneficios mutuos, o en qué medida afecta la música a la venta de soportes digitales, comparada con otros factores. Legislar el cobro de un canon indiscriminado en estas circunstancias es irresponsable, y nuestros políticos deberían ser conscientes de ello.

Alguien podría alegar que en el ejemplo de coches y gasolina barata, el vendedor de gasolina también se beneficia de la venta de coches (así que el beneficio es mutuo), pero con la música “pirateada” no pasa eso: la música beneficia la venta de soportes digitales, pero no al revés. Pues bien, esto es otra mentira. Yo planteo la pregunta: ¿acaso se vendería tanta música (CDs originales) si los usuarios no tuvieran un medio barato y fiable para hacer copias? ¿Acaso la música en CDs habría ganado tanta popularidad si no pudiera uno pasarla a MP3 u OGG en su ordenador, o a un reproductor portátil? Recordemos cómo MS-DOS se hizo tan popular en su momento gracias a que se podía “piratear”. Sí, señores, sí, gracias a que eran bien sencillo de copiar.

Hay una corriente de usuarios descontentos (entre los que me encuentro), que reduce su compra de CDs por desprecio a unas discográficas mafiosas, a un canon injusto, a unos artistas mezquinos y ruines, y a “protecciones” anticopia y DRMs abusivos. Leed, por ejemplo mi carta a Bebe.

Está claro que la venta de música se ve perjudicada por esas medidas, pero cada cliente descontento que pierden por sus abusos, ellos lo atribuyen a las redes p2p y al “pirateo”. Por otro lado, cada CD que en mi grupo de investigación utilizamos para hacer una copia de seguridad, se lo apropian como si lo usáramos para grabar a Bisbal. ¡Menuda jeta!

Cada día me tienen más harto estos ladrones.

Comments

« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »