First DreamHost disappointment
July 11th 2008

I will simply copy&paste an e-mail interchange between DreamHost and me, with a few extra comments (some data substituted by “xxxxx”):

DreamHost:

Dear Iñaki,

Our system has noticed what seems to be a large amount of “backup/non-web” content on your account (#xxxxx), mostly on user “xxxxx” on the web server “xxxxx”.

Some of that content specifically is in /home/xxxxx (although there may be more in other locations as well.)

Unfortunately, our terms of service (http://www.dreamhost.com/tos.html) state:

The customer agrees to make use of DreamHost Web Hosting servers primarily for the purpose of hosting a website, and associated email functions. Data uploaded must be primarily for this purpose; DreamHost Web Hosting servers are not intended as a data backup or archiving service. DreamHost Web Hosting reserves the right to negotiate additional charges with the Customer and/or the discontinuation of the backups/archives at their discretion.

At this point, we must ask you to do one of three things:

* You can delete all backup/non-web files on your account.

* You can close your account from our panel at:
https://panel.dreamhost.com/?tree=billing.accounts
(We are willing to refund to you any pre-paid amount you have remaining, even if you’re past the 97 days. Just reply to this email after closing your account from the panel).

OR!

* You may now enable your account for backup/non-web use!

If you’d like to enable your account to be used for non-web files, please visit the link below. You will be given the option to be charged $0.20 a month per GB of usage (the monthly average, with daily readings) across your whole account.

We don’t think there exists another online storage service that has anything near the same features, flexibility, and redundancy for less than this, so we sincerely hope you take us up on this offer!

In the future, we plan to allow the creation of a single “storage” user on your account which will have no web sites (or email). For now though, if you choose to enable your account for backups, nothing will change (apart from the charges). If you want to enable backup/non-web use on this account, please go here:

https://panel.dreamhost.com/backups.cgi?xxxxxxxxxxx

If you choose not to enable this, you must delete all your non-web files by 2008-07-16 or your account will be suspended.

If you have any questions about this or anything at all, please don’t hesitate to contact us by replying to this email.

Thank you very much for your understanding,
The Happy DreamHost Backup/Non-Web Use Team

My answer:

Dear DreamHost Support Team,

I fully understand your point. Though apparently sensible, a detailed analysis shows that the policy you cite from the TOS makes little sense.

Right now I have a 5920 GB/month bandwidth limit, and a 540 GB disk quota in my account, both applied to web use. My current use in this regard is less than 4 GB disk space (0.7% of my quota), and my estimated bw use at the end of the present billing period will be around 0.2 GB (33 ppm (parts per million) of my current (and increasing) bw quota).

Now, on the other hand, I have some 50-100 GB of data (less than 20% of my disk quota!!) that I want to keep at the servers (for whatever private interest, that I do not need to disclose, but I will: backup and data sharing among my different PCs). Keeping this data up to date could cause between 1 MB and 1 GB worth of transfers per day (30 GB/month at most, or 0.5% of my bw quota).

All of the above raises some questions:

1) Why on Earth am I granted such a huge amount of resources that I will never conceivably use? Maybe just because of that: because I will never use them?

2) Why am I prevented of using my account in the only way that would allow me to take advantage of even a tiny part of those resources?

3) In what respect is the HD space and bw used up by a backup different from that used up by web content? Isn’t all data a collection of 0s and 1s? How can a Hosting Service, ISP, or any other provider of digital means DISCRIMINATE private data according to content?

4) Regarding the previous point, how is DH to tell if I simply move the backup dirs to the isilanes.org/ folder? I have to assume that if I make my backups visible through the web (which I can prevent with file permissions), then it makes them 100% kosher, since they become “web content” that I am allowed to host at DH?

It seems to me that you are renting me a truck to transport people, then frown at me if I take advantage of it to carry furniture. Moreover, you are advising me to keep the truck for people and rent small vans for the furniture.

[snip irrelevant part]

Believe me, I am willing to be a nice user. I just want to be able to use the resources I pay the way I need.

Iñaki

Their answer:

Hello Iñaki,

1) Why on Earth am I granted such a huge amount of resources that I will never conceivably use? Maybe just because of that: because I will never use them?

Some people will. Admittedly, very few do, but to be perfectly blunt, overselling is actually a vital part of our (and ANY) web host’s business model:

http://blog.dreamhost.com/2006/05/18/the-truth-about-overselling/

2) Why am I prevented of using my account in the only way that would allow me to take advantage of even a tiny part of those resources?

That’s an exaggeration, to be honest. Anyone can use up to the entire amount of their bandwidth and space, providing they use it for the purpose intended. If we ever open DreamStorage, you’d be welcome to use that space for backing up your data.

3) In what respect is the HD space and bw used up by a backup different from that used up by web content? sn’t all data a collection of 0s and 1s? How can a Hosting Service, ISP, or any other provider of digital means DISCRIMINATE private data according to content?

Well, just as we have…there’s a ton of data in a non-web-accessible directory. That’s a pretty good tip that something’s up. By your argument, we couldn’t take down someone for copyright, or even child porn violations, as it’s just “a collection of 0s and 1s”, and who are we to “discriminate”? Our Terms of Service, which you agreed to 2008-02-22 at 3:39pm. If you didn’t agree, this simply wasn’t the service for you.

4) Regarding the previous point, how is DH to tell if I simply move the backup dirs to the isilanes.org/ folder? I have to assume that if I make my backups visible through the web (which I can prevent with file permissions), then it makes them 100% kosher, since they become “web content” that I am allowed to host at DH?

Honestly, we’re not going to let you off on some weak technicality. If you don’t wish to comply with the ToS, we’ve even allowed you the option of receiving a prorated refund, regardless of how far out from your 97 day guarantee you are. We have no desire to lose your business, but your truck analogy is almost there. We’re offering you trucks for transporting furniture…and we’re doing it at a nice low rate. But we do require you actually use them. We count on the fact that very few people are going to be moving furniture 24/7, but if someone wanted to use it to it’s fullest, they could. However, that doesn’t mean you get to rent the truck, park it somewhere, and use it as a free self-storage unit. We want the truck if you’re not using it for it’s intended
purpose.

[snip irrelevant part]

Let me know if you have any other questions.

Thanks!

Jeff H

My final answer:

Hi Jeff,

Thanks for the kind answer! This kind of support is what gives DH an edge over other hosting providers. Keep it up.

What I say in my second point is not an exageration. It’s the plain truth: if not for backups, I will never use 1% of my quota. I mean *I* won’t. Don’t know about others, just me.

It seems a little unfair that some guy with 500 GB of HD use and 5800 GB/month of bw use is paying 8$/month as I am (I don’t recall the exact amount), while I am using 4 GB and 0.2 GB/month. Then I want to use 80 GB and 30 GB/month and I have to pay an extra 16$. That’s a total of TRIPLE that of the aforementioned guy, while I’m still using 6 times less HD and 200 times less bw.

I would love to pay for some resources, and administer them as I like, be it for web, backup, svn, or whatever. What I meant with my third point is that 100 MB of my backups “hurt” the system as much as sb else’s 100 MB of web content, so I can’t see the reason to make the user pay a separate bill for “backups”. Just make ftp traffic count against the disk/bw quotas and that’s it! You could then stop worrying about “fair” use.

But that’s pointless ranting on my side. Thanks for the attention. I will consider what to do in the light of the information you provided me.

Iñaki

I just want to point out how ridiculous their answer to my third point above is. DH tells me that they should be able to discriminate my data according to content (or use), because the opposite would supposedly allow me to break the law with copyright violations or child pornography. To follow with the truck metaphor, I am renting a truck from them, to carry furniture around. Since I don’t use up all the space in the truck, and I have a fridge I want to move, I put it into the truck. Now DH wants to patrol what I carry in the truck, and tell me that the fridge is not allowed, because it is not “furniture”. When I complain, and say that what I carry in the truck they lend me is none of their business, they answer that it is, because I could well be using the truck for drug smuggling. That’s really lousy reasoning. If I use the truck for carrying something illegal, then the police will sort it out, not the renting company. It is the general Law that will tell me what I can use the truck for, not the renting company.

Tags: , , , , , , , , , , ,

9 Comments »

Is my theory bullshit?
March 15th 2008

This post tries to sketch a rule of the thumb to quickly check whether an idea/theory/belief is utterly useless or not. I have admittedly adapted it from the russellian definition of Science. Recall that utterly useless ideas are not necessarily wrong. They are just that: utterly useless.

There is a single basic question you have to ask yourself when you invent/encounter a flashy new theory or idea like telekinesis or homeopathy:

Can I imagine any conceivable way of refuting this theory?

If the answer is “no”, then the theory is bullshit.

If you accept this, you are bound to abandon the theory if someone comes up with a valid experiment at which your theory fails (if someone challenges your telekinetic powers and you can not shut her mouth, you must accept you don’t have telekinetic powers).

On the other hand, if you don’t accept the above premise, you must, without excuse, believe in any other theory that can not be proved wrong, such as the Invisible Pink Unicorn or the Flying Spaghetti Monster. Failing to do so will undoubtedly qualify you as an absolute hypocrite.

Now, the long explanation…

Proving something true is theoretically impossible, but proving something wrong is trivial: if I say that all swans are white, no matter how many white swans I see, I will never be sure that the theory is true. On the other hand, after the first black swan I see, I will conclude without doubt that the theory was wrong.

Thus, “proving” some theory is usually equaled to designing an experiment in controlled conditions, where a result is expected from the theory, and we get precisely that result in the experiment. Obviously, we could have obtained a different result, and our theory would have been proved wrong. It is precisely the fact that a different result could potentialy refute our theory what makes the desired result confirm it. It follows that, if there is no conceivable circumstance under which the experiment could have failed, our theory can not be disproved, and therefore can not be “proved” through absence of refutation.

Take for example a seer who claims to be able to see the future. Her theory is not necessarily bullshit: one can devise a test, failing which would mean that she is wrong. For example, one can ask her to “see” something that she can not access by normal means, and that she can not guess by chance, for example the next lottery winning number. If she guesses correctly, the theory is temporarily accepted. If she fails, the theory is dropped.

Not it comes the funny twist: any argument that tries to make the precognition theory above survive after a failure (e.g. “I do not control when I can see the future”, “I only see abstract visions that I have to interpret afterwards”, and so on… you know the thing), automatically turns it into bullshit. Directly. And that because of the little rule of the thumb I present above.

Tags: , , , ,

2 Comments »

Prisoners, queens and why we should bother about them
June 30th 2007

There are two concepts that I find very interesting, and that apply to many situations, from everyday life to international politics. One concept applies to prisoners, and the other to Royalty, but their long arms reach much farther.

The “royal” concept is that of the Red Queen’s race, taken from Lewis Carrol’s Through the Looking-Glass (aka “Alice in Wonderland II”). This race is one in which runners must run the fastest they can to stay in place. To move, they’d have to run twice that fast.

The other concept is that of the prisoner’s dilemma. The dilemma is a game with the following rules (taken from Wikipedia):

Two suspects, A and B, are arrested by the police. The police have insufficient evidence for a conviction, and, having separated both prisoners, visit each of them to offer the same deal: if one testifies for the prosecution against the other and the other remains silent, the betrayer goes free and the silent accomplice receives the full 10-year sentence. If both stay silent, both prisoners are sentenced to only six months in jail for a minor charge. If each betrays the other, each receives a five-year sentence. Each prisoner must make the choice of whether to betray the other or to remain silent. However, neither prisoner knows for sure what choice the other prisoner will make. So this dilemma poses the question: How should the prisoners act?

The “ideal” solution would seem both to stay silent, but if you look closely, whatever the other player chooses, any single player is better off by betraying. So, any rational player should choose to betray, even though this leads to both betraying, and gives an overall lower payoff (higher punishment for both).

Now, for the third part of the title of this post… why should we care? Well, it seems to me that we can find all around us cases of Red Queen races caused by sub-optimal solutions to prisoner’s dilemmas. For example, it is quite apparent the rise in SUVs and all-terrain vehicle sales. People here in Europe seem to start following the silly North-American custom of buying the biggest vehicle available, regardless of usability and needs fulfilled. One of the pseudo-reasons given by sellers is that SUVs are safer. Why would that be? Well, because if a small car and a SUV crash head-on, the passengers of the latter are much more likely to be less hurt than the ones in the former. This sounds rational… but is utter crap. I don’t claim that people buy these vehicles for that reason, but it helps.

Now, let’s analize the scenario: it is true that in a SUV/small car crash, the SUV is better off. However, SUV/SUV crashes are worse for all passengers than small car/small car hits are. From that information, it is apparent that we are facing a prissoner’s dilemma (not counting the fact that SUV/wall hits are also worse). Buying a SUV would be betraying, and buying a small car cooperating. The buyer of a SUV hopes that all other players/buyers get small cars, so that her option gives her an edge over the others. However, if we all think the same, we’ll all buy SUVs, and then we will reach a betray/betray equilibrium, when a coop/coop equilibrium would be better for all. We’d be running a Red Queen race, only to end up in the same place: all with SUVs, instead of all with small cars… but all with equivalent vehicles (and actually worse, overall).

Another similar situation would be that of the arms race. We all know the story: two or more countries/factions increase their weaponry, not to be overwhelmed by the other country/faction, in a potential war. Now, no matter what country A does, country B will be better off stocking more weapons: if A stays unarmed, B can beat it. If A arms itself, B has to arm itself not to be beat. However, Both countries being armed (betray/betray) is immensely worse than both countries being unarmed (coop/coop). In both cases the war is deterred by the offensive/defensive equilibrium, but in the former the risk for a catastrophe is much higher.

We are fooled by governments and army leaders, assuring us that other countries will play the “betray” card (and arm themselves), so we should play it too. However, think of the fact that in their countries, the other citizens are told exactly the same about us by their government. An no-one seems to explain that the betray/betray solution is sub-optimal, and that coop/coop solutions could exist.

I have no solution for these issues… but, dear reader, maybe you could find it if you thought about it. Please, do.

Tags: , , ,

1 Comment »

Manzanas, CDs y mucho cuento
May 1st 2007

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é.

Tags: , , , ,

2 Comments »

Pérez-Reverte y sus Termópilas
April 29th 2007

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.

Tags: , ,

2 Comments »

How (legally) strong is the word "free"?
March 20th 2007

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.

Tags: , , , ,

No Comments yet »

Why J2EE is complex
January 3rd 2007

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.

Tags: , , , ,

No Comments yet »

Flipo con Carlos Herrera
December 17th 2006

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

Tags: ,

No Comments yet »

¿Popularización de Software Libre acentúa explotación de bugs?
November 22nd 2006

[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).

Tags: , , , , ,

1 Comment »

Popularity of Free Software generating bug exploitation?
November 22nd 2006

[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).

Tags: , , , , ,

1 Comment »

Next »