Traiciones en el Free Software

En el último Software Freedom Day realizado en Boston, el pasado 19 de setiembre, Richard Stallman declaró que Miguel de Icaza era un "traidor" a la causa del Free Software (detalles aquí), las declaraciones de Stallman posiblemente se deban al actual rumor de que Miguel de Icaza podría pasar a dirigir el laboratorio Open Source de Microsoft, en reemplazo del actual Senior Director Sam Ramji que dejará Microsoft a final de mes. Obviamente la comunidad Free Software de modo monocorde ha aceptado las palabras de Stallman como las de su profeta infalible. Pero lo cierto es que mientras el movimiento Free Software se reduce y debilita cada vez más, el Open Source se expande y se vuelte el actual paradigma para el desarrollo de software del futuro, a un punto tal de que empresas que viven de la venta de su código propietario han tenido que liberar el código de sus productos o al menos parte del mismo, hemos llegado hasta el punto impensable pocos años atras de que Microsoft se una al movimiento Open Source y aporte al desarrollo del kernel Linux.

Es más hay estudios cuantitativos que demuestran que la calidad del Open Source se ha incrementado en los últimos tres años, según un artículo recientemente aparecido en PC-World, esta tal vez sea la primera prueba cuantitativa de que el modelo Bazar es mucho mejor que el modelo de Catedral, que Raimond explicara en términos cualitativos en "La catedral y el bazar" .Si sumamos lo anterior al hecho de que empresas líderes del sector TIC como IBM, Oracle o Novell apuesten fuertemente por el Open Source es una señal de que es el camino del futuro.

En una declaraciones hechas por Linus Torvalds hace un par de dias decía que Linux se estaba volviendo muy sobrecargado, un hecho que es innegable si vemos la evolución del tamaño del código fuente del kernel, el tamaño del código practicamente se ha multiplicado por dos desde la version 2.4 a la 2.6. Esto es el resultado del diseño inicial del kernel, Torvalds optó por un kernel monolítico, lo cual permitió el desarrollo rápido del kernel, si lo comparamos con Hurd la solución perfecta de la FSF basada en un diseño de Microkernel que aún sigue en desarrollo perpétuo. Linus no intenta ocultar el problema, desviar la atención o buscar culpables en otro lugar, por el contrario lo enfrenta y analiza, es decir hace todo lo contrario a lo que hacen los devotos del FSF. Torvalds es conciente de la necesidad de hacer concesiones para hacer que algo funcione en la práctica, al parecer ese tipo pragmatismo es la principal diferencia entre Open Source y Free Software.

Es debido a ese fundamentalismo (a ver quien le puede decir a Stallman "emacs sucks" y sobrevivir a su ira), a ese radicalismo en ideas que han quedado demostradas imposibles de realizar en la práctica que cada vez el Free Software se reduce y es más una excentricidad que un elemento propulsor del desarrollo de la siguiente generación de software. Es por ello que Stallman ve traidores en todas partes, y considera enemigos a todos.

Desmitificando a Linux

En el fin de semana han ocurrido dos flamigeros threads uno fue el que origino el post de Steve Vaughan-Nichols, en su blog Cyber Cynic sobre quién realmente escribe el kernel de Linux. El otro fue un mensaje enviado por Daniel Yucra a la lista del PLUG (Peruvian Linux User Group), denunciando que el ejercito peruano gastaría casi 2 millones de dólares en adquirir licencias Windows.

Lo único que me quedó claro, luego de ver la tónica de dichas discusiones, es que hay tanto fanatismo del lado de Linux, como lo puede haber en cualquier secta religiosa. Aunque este ha sido un tema que discutí en un post anterior titulado "Motín en CentOS o el mito de la solidaridad", al parecer aún hay muchas líneas que tipear en este tópico; y es que básicamente mucho de ese fanatismo se debe a mitos, leyendas de la era digital que es conveniente cuestionar para hacer que Linux vuelva a ser lo que su creador Linus Torvalds quizo que fuera en el momento que lo creo, una herramienta útil y una experiencia divertida.

Comencemos discutiendo el post de Vaughan-Nichols. En su post, Vaughan-Nichols, no hace más que comentar un informe preparado por Linux Foundation, titulado Linux Kernel Development, según el cuál el número de empresas que contribuyen código a Linux es muy superior al número de programadores individuales (es decir aquellos que no forman parte del staff de una gran corporación). Lo cuál es por una parte lógico y por otra una consecuencia de la gran aceptación que Linux ha ganado en el gran público. Una prueba de la creciente importancia de Linux para los negocios es que hasta Microsoft ahora ha decidido desarrollar código para Linux, aunque su motivación para ello es que sus entornos Windows puedan correr bien dentro de los entornos de virtualización de hardware en Linux como sistema operativo anfitrion.

¿Tiene acaso algo de malo, que un proyecto que comenzara como un hobby haya logrado tanto éxito comercial?, al parecer para muchos de los fanáticos del Free Software si lo tiene, comenzando por Stallman que se pasa recorriendo cuando escenario le dan para hablar y decir que debemos llamar al entorno GNU/Linux, tratando de menter su discurso político en medio de temas técnicos. En realidad bajo la lógica de Stallman no deberíamos de llamar a Ubuntu por su nombre sino GNU/Linux/Gnome/Ubuntu. Pero mientras Stallman se esfuerza por ser un personaje que atrae cámaras y micrófonos para difundir su mensaje político, Torvals se caracteriza por ser exactamente lo contrario, él evita las cámaras y hace una clara distinción entro lo técnico y lo político. Esto es tambien un resultado de que ambos pertenecen a generaciones diferentes, mientras Stallman es el clásico representante de la Generación Baby Boomer, Torvalds es el clásico representante de la Generación X.

Tal vez sea lo íronico del destino, pero justamente aquel que no deseaba cambiar el mundo terminó haciendolo y alcanzando una notoriedad no buscada, y por el contrario aquel pasó su vida renegando de cuanto existía y proponiendo cambios radicales terminó enredado en su propio laberinto y luego de más de casi 30 años de haber iniciado su proyecto Free Software a principios de los ochenta, no ha podido ver cristalizado su sueño de un sistema operativo 100% Free Software, teniendo que aceptar el kernel de un "outsider" para que su proyecto tuviera viabilidad práctica.

El éxito de Linux, no es más que el triunfo del pragmatismo contra el idealismo, en ese sentido Stallman tiene mucho más en común con Ballmer que con Torvalds o el Open Source en general. En un mundo en el cual los dos fundamentalismos de finales del siglo XX, el comunismo y el capitalismo radical han probado su falla para construir sociedades viables en el largo plazo, de la misma forma el pensamiento Free Software que propuso Stallman, o la idea del software como mercadería de Gates, no son la solución para un mercado del software sostenible en el largo plazo y una aproximación de Software como Servicio parece ser la más viable en estos momentos.

Respecto a si son más las empresas o los programadores individuales los que contribuyen más al kernel, es una discusión de fundamentalistas, no es una discusión de técnicos. Al final no interesa quien escriba el código, mientras el modelo de libre acceso al código fuente y la independencia de una sóla fuente de código se mantenga.

En cuanto a los casi $2 millones que planea gastar el ejercito peruano en comprar licencias Windows, más referencias en este link del SEACE, la idea de que podemos ahorrarnos esos dos millones usando software libre es muy apresurada. Básicamente el costo total de propiedad no esta determinado en su mayor parte por el costo de las licencias sino por el costo de la mano de obra. Mientras es mucho más económico contratar un técnico que instale, actualice y mantenga operando una plataforma Windows, no es lo mismo con una plataforma Linux.

Pongamoslo en cifras, mientras es fácil y barato contratar 100 técnicos certificados en plataforma Microsoft, no pagaremos más de $8,000 al año por cada uno, conseguir personal calificado en equivalente número para Linux sería mucho más costosos. En pocas palabras no podríamos encontrar ni la cantidad suficiente, además de que el costo unitario por cada profesional Linux sería muy superior. Tendremos que admintir que no es una cuestion de seguridad nacional, sino simplemente una cuestion de manetener los costos bajos, el presupuesto del ejercito es demasiado pequeño como para poder hacer un cambio estructural tan grande.

Los que hablan de que esta "dependencia" tecnológica nos vuelve vulnerables, hay que recordarles que el aporte del Perú al kernel Linux es casi inexistente. Cambiar a Linux todas las PCs de las fuerzas armadas, tampoco las vuelve más "independientes", las mainboard, CPU, discos duros, etc son fábricados fuera del país. Incluso no sabemos si los chinos que ensamblan las mainboard pueden añadir rootkit en los BIOS, que aprovechando la capacidad de virtualización de los nuevos procesadores pueden permanecer ocultos y corriendo en ring 0, invisibles para toda herramienta de auditoría corrida desde el sistema operativo, cualquiera que este sea.

Teorías de conspiración pueden haber tantas como se quieran, la realidad muchas veces suele ser más sencilla, y por lo general más simple de lo que los "expertos" suelen profetizar. En el caso del estado peruano usando Windows para todas sus agencias, la explicación es sencilla. El estado peruano paga tan poco que no podría retener profesionales calificados para que administren una plataforma Linux de la magnitud necesaria.

Usando Blogger como CMS

Blogger es una de las plataformas de blogueo más popular junto con WordPress, en parte es debido a que Google está detras de ella, pero sin duda otro elemento importante es su extrema maleabilidad, claro que esto es a costa de no ofrecer una interface tan visualmente atractiva y fácil de usar como la de WordPress, que debe su gran base de usuarios a este hecho. La aproximación de Google es la clásica de la filosofía Unix, proveer el conjunto mínimo de herramientas para que sea el usuario el que determine el uso más conveniente de las mismas. Como una vez comenté en un post titualdo "Planeando el superblog", Blogger es ideal si planeamos tener decenas o centenas de miles de visitantes diarios, además de que es un servicio completamente gratuito, pero adicionalmente a la escalabilidad y alta disponibilidad heredadas de estar dentro de una de las redes más grande del mundo, ofrece tambien un posicionamiento más fácil dentro del buscador de Google, la razón es obvia.

Muy bien, por más que aceptaramos que Blogger es muy ventajoso desde el punto de vista técnico que tiene que ver eso con el hecho de querer usarlo para reemplazar a otros softwares CMS como Drupal, Joomla! o Mambo. Pues bien antes de comenzar a discutir sobre el tema echen un vistazo al website de este hostal ficticio llamado Algun Hostal, hice este website para fundamentar mi punto. Dicho website esta alojado en blogger, es más el website es un blog de blogger pero personalizado de manera extrema, tal vez la única forma de creerlo es usando su dirección blogspot http://algunhostal.blogspot.com/.

Básicamente todo blog es una página web, sólo que las páginas que lo componen están categorizadas cronológicamente, los post más nuevos se muestran al principio. Sin embargo hacer que un blog muestre el look and feel de un website cualquiera no es tal complicado, sólo bastaría con eleminar toda referencia a autor del post, fecha de publicación y limitar el número de post a ser mostrados en la página principal a sólo uno. Pero es evidente que los templates que ofrece blogger por defecto son pocos, es por ello que es bueno buscar templates para blogger en otros lugares, yo les recomiendo Btemplates, es de alli de donde tome el template que estoy usando.

Un pequeño problema es eliminar las referencia a post anterior y post previo cuando entramos a un post en particular, eso se puede evitar agregando estas líneas al template justo al final de la sección /* Content */

.feed-links {
margin-bottom: 10px;
border: none;
visibility: hidden;
}

.feed-links a {
margin-bottom: 10px;
border: none;
visibility: hidden;
}

.blog-pager {
border: none;
visibility: hidden;
}

Con el pequeño cambio anterior y usando un Widget para proveer un "Contact Form", les recomiendo Kontactr, ya tenemos un website típico a costo $0, ya que podemos usar un nombre de dominio gratuito, .cix.pe es otro de mis proyectos y tiene por objetivo ofrecer nombres de dominios gratis.

Lamentablemente Kontactr, en estos momentos sólo esta disponible en inglés, pero un amigo mio esta trabajando en un proyecto que busca clonar y extender en un widget enteramente en español las funcionalidades de Kontactr.

Como veran, con sólo unos minutos de trabajo extra es posible levantar toda una presencia Internet a costo cero, primero registrar un nombre de dominio gratis, luego crear el website en blogger y usando Google Apps, podremos tener e-mails usando nuestro propio nombre de dominio, todo por el precio más bajo que podemos pagar $0.

Actualmente estoy trabajando en un tutorial paso a paso de como obtener un website como el de "Algún Hostal", cuando lo tenga listo incluiré el link para que puedan seguirlo aquellos que deseen algo más detallado.

¿Se necesita un líder?

Bueno, para responder a la pregunta del título de este post tendríamos que analizar la actual situación de Apple. La empresa de la manzana ha llamado mucho la atención de los medios en la actualidad, por un lado el lanzamiento de su iPhone 3GS y por otro el reconocimiento público, con comunicado de prensa oficial del hospital, de que Steve Jobs ha recibido un transplante de hígado.

El asunto del transplante de hígado es una situación bastante incómoda para Apple, por un lado The New York Times, cuestionó la ética de los médicos del hospital donde se realizó el transplante, pues que alguien rico y famoso resulte de la noche a la mañana como el receptor número uno de la lista de espera es ciertamente sospechoso. Con el comunicado oficial y los médicos asegurando de que no hubo nada turbio en el proceso de transplante de órganos, alegando que la situación de Jobs era de urgencia. La posición de todo el directorio se ve comprometida, ya que se supone que ellos lo sabían y no hacer público una información de ese tipo, en una empresa que es tan dependiente de la vision de su CEO, es vista como una falta al deber con los inversionistas que son los jefes de los directores, como dice el conocido columnista Joe Nocera.

Lo interesante de esto es que Dan Lyons (el falso Steve Jobs), ha escrito por partida doble en Newsweek y The Secret Diary of Steve Jobs, defendiendo el liderazgo indiscutible de Steve Jobs como CEO y argumentando de que Apple necesita a Jobs, tanto como Jobs necesita a Apple. Lo compara incluso con el Capitan Kirk. Y eso nos trae justamente a la pregunta del inicio, ¿se necesita un líder?.

Si echamos un ojo a la historia de la humanidad, toda gran empresa iniciada por el hombre siempre ha necesitado de un líder que transforme su tiempo, se necesitó un Colon para que un europea pudiera cruzar el Atlantico, se necesitó un Pedro I, para transformar una Rusia medieval en un estado europeo moderno, un Napoleón para redibujar la Europa actual. Es por ello que en momento de crisis la mayoría de seres humanos buscan un líder que traiga el cambio, sino sería difícil de entender la elección de Barack Obama.

Pero en todos los casos donde hubo un líder que realizó el cambio, siempre ha habido una gran descepción y un mal sabor al final. Las guerras de independencia latinoamericana, que llevaron a una sucesión de guerras intestinas por el poder en las pequeñas repúblicas creadas, con todos los caudillos queriendo ser Napoleon, son un claro ejemplo de lo que un "liderazgo fuerte" puede hacer. Apple no es la excepción, como una vez postee en este blog bajo el título "Los Simpsons se burlan de Apple", la base de usuarios de Apple desean sentirce especiales y eso queda capturado en la lapidaria frase dicha por Bart:

"Todos Uds. son perdedores. Uds. se creen especiales porque compran un teléfono de $500 con la figura de una fruta en él. Bueno, ¿adivinen qué?. Producirlos sólo cuesta $8 y yo me orino en cada uno de ellos. Yo he hecho una fortuna con Uds. tontos, y he invertido todo el dinero en Microsoft! Ahora mi amante Bill Gates y yo, nos besaremos uno al otro en una pila de su dinero."

Es por eso que el comercial de Lauren y su frase "No soy lo suficientemente cool para ser una persona Mac", removió los cimientos del credo Apple y despertó la reacción airada de los devotos de la manzana. Pero lo que ocurre con Apple, pasa sin lugar a dudas con cada aspecto de nuestras vidas. A veces sin que nos demos cuenta. Buscamos la respuesta a nuestros problemas en un liderazgo externo, que nos alivie el dilema moral de tomar nuestras propias decisiones y por lo tanto ser responsables de nuestros actos.

Por eso se eligió a un George Bush por segunda vez, el miedo a un ataque terrorista pesaba tanto en la mente de los americanos, que no importaba lo demás. Mientras el líder pueda mantener los problemas alejados de casa y no demande nada de nuestra parte, apoyamos la solución. Ese acto de irresponsabilidad nos llevo a la recesión que ahora enfrentamos, y para resolverla no hemos asumido nuestras responsabilidades individuales, sino que hemos elegido a otro líder, Barack Obama, para que resuelva el problema económico. Este nuevo líder puede resolver o no el problema, total en 4 años se podrá volver a elegir otro líder y el presente se convertirá en un odiado tirano.

Lo mismo ocurre con las religiones, elegimos una para que nos diga que es bueno y que es malo, en lugar de tratar de tomar la decisión por nosotros mismos. Mientras no tengamos que hacer un cambio real en nuestras vidas, la religion nos sienta bien. Es por ello que en occidente ser "agnóstico" es una tendencia mayoritaria, pues la regla de oro en nuestros tiempos es buscar aquello que menos nos pida y más nos ofresca. Desde ese punto de vista el  agnostisismo podríamos verlo como un seguro contra una posible vida después de la vida, no se niega a un dios, pero tambien por otro lado tenemos el pretexto perfecto para no practicar ningun rito religioso. Es decir el "agnóstico occidental" es aquella persona que le falta valor para declararce ateo y es lo suficientemente vago para no asumir ningun compromiso.

En lo personal no creo en lo líderes, son la forma más rápida de renunciar a nuestra propia libertad. Pero por otro lado, debo aceptar que la gran mayoría de seres humanos los necesita. Como escuche en el trailer de la película "Mutant Chronicles", "Muchos hombres piensan que van a morir, pero son pocos los que lo saben". Tal vez esa frase resume el sentido humano de liderazgo, la gran mayoría tiene una esperanza y usando esa esperanza es que se construyen los liderazgos, pocos entre los cuales me incluyo no la tenemos y por lo tanto difícilmente creemos en un líder.

Así todo aquel que sigue una religión es porque tiene una esperanza a trascender su realidad, por miserable que esta sea. Todo aquel que compra un iPhone 3GS tiene la esperanza de que ese pequeño artefacto lo hara único, diferente, especial y la felicidad se alcanza con $299 y un contrato celular con AT&T por 2 años. El gobierno peruano al abrazar el proyecto OLPC y entregarle una laptop a cada niño pobre del país, sigue el liderazgo de Negroponte que nos ofrece el paraíso del progreso si aceptamos creer su verdad revelada, que una computadora en manos de cada niño es la respuesta a nuestros problemas de desigualdad social.

Si tienes esperanza, estoy seguro que habrá un liderazgo al cual puedas unirte, los hay para todos los gustos. Por otro lado si nunca la tuviste, o ya la has perdido, como es mi caso. No te deprimas bienvenido al club, la vida dura lo que tiene que durar. La respuesta es que no hay esperanza. Nuestra vidas en sí mismas por breves, dolorosas, aburridas o sin sentido que sean ya son el premio, no es que vamos a recibir un premio en el futuro, ya lo tenemos ahora en nuestras manos, disfrútalo hasta que te quiten.

Vamos a resolver problemas [¿de ingeniería?]

El día de hoy, tuve la suerte de encontrar en el messenger a mi amigo y maestro, el Ing. Amado Aguinaga Paz, quien me informó de su incursión en la blogosfera a través de la red de blogs que mi alma máter, la Universidad Nacional Pedro Ruiz Gallo, ha habilitado para sus docentes. En su primer post titulado "Vamos a resolver problemas de Ingeniería", Amado discute una metodología para resolver problemas de Termodinámica, curso que imparte a los alumnos de pregrado de la Facultad de Ingeniería Mecánica-Eléctrica. Sin embargo yo diría que el método expuesto por Amado, que originalmente está enfocado a resolver problemas de cursos que dicta, bien podría aplicarse a cualquier problema de la vida diaria con algunas generalizaciones, aquí me permito hacer dichos cambios y la reformulación de su método sería el siguiente:

  1. Formular el problema en nuestras propias palabras,solo se pueden solucionar los problemas que se entienden.
  2. Hacer un balance de la información disponible, de la necesaria y de la requerida, para solucionar el problema.
  3. Tratar de representar gráficamente los elementos involucrados en el problema y cómo se interrelacionan entre sí. Estableciendo claramente los límites del problema.
  4. Busque (si quiere usando Google), algún modelo matemático (determinístico o probabilístico) que se aproxime lo más posible a la realidad del problema que enfrenta.
  5.  Aplique las simplificaciones necesarias que permitan ajustar su problema a algún modelo de solución conocida.
  6. Reemplace los valores conocidos en el modelo y obtenga una primera solución tentativa.
  7.  Contraste sus resultados con valores conocidos y verifique que su modelo produce resultados iguales bajo las mismas condiciones.
  8. Sea claro expresando los límites de su modelo y exprese claramente sus conclusiones en términos de "lo más probable sería … si se cumplen las condiciones …".

De la forma anterior cualquier problema podría ser abordado siguiendo los 8 pasos enunciados, no solamente problemas de ingeniería. Así por ejemplo, podríamos usarlos tanto para hacer dinero especulando en bolsa, como también para construir una hidroeléctrica.