15. Amor No es difícil encontrar malas historias sobre personas que escriben buen código. Una persona en una conferencia de Linux me dijo: "Lo extraño de Linus Torvalds es que todavía no ha ofendido a nadie. Todos los demás líderes se las han arreglado para cabrear a alguien en un momento u otro. Es difícil encontrar a alguien que no es odiado por nadie más". Si bien lo dijo como un cumplido para Torvalds, sonaba como si no se sorprendería si Torvalds hiciera algo presuntuoso, egoísta y petulante. Sería normal para el curso. Hay miles de ejemplos de por qué las personas en la comunidad de código abierto se odian entre sí y hay millones de ejemplos de por qué se molestan entre sí. El grupo está lleno de muchas personas independientes y decididas que no tienen miedo de expresar sus opiniones. Las guerras de llamas surgen una y otra vez a medida que las personas intentan decidir cuestiones técnicas como si tiene más sentido usar números enteros largos o números de punto flotante para mantener la riqueza de una persona en dólares. Por supuesto, el odio es realmente una palabra demasiado fuerte. Si logra identificar a algunas de las personas y les pregunta, sin rodeos, si realmente odian a alguien, dirán: "No". Realmente no les gustan algunas de las decisiones técnicas de esa persona. Estos puntos de fricción se enconan y se conviertan en lo que comúnmente se llamaría odio. Estos debates técnicos son terribles pozos de alquitrán para la comunidad y se comen la energía. Los debates se vuelven frustrantes porque tienen la extraña distinción de ser técnicamente importantes y absolutamente triviales. A todo el mundo le gustaría simplemente navegar por la vida y no preocuparse por pequeños detalles como el tipo de número entero utilizado en un cálculo. Hay millones de estas decisiones que toman tiempo que podría ser mejor empleado imaginando grandes sueños de una noosfera de información continua que proporcione la sabiduría de las edades en una interfaz gráfica simple. Pero todo programador aprende que son los detalles los que cuentan. La NASA perdió una nave espacial cuando un programador usó unidades inglesas en lugar del sistema métrico. Así que el trabajo debe hacerse. De vez en cuando, las peleas se ponen interesantes. Eric Raymond y Bruce Perens son grandes contribuyentes al movimiento de código abierto. De hecho, ambos trabajaron juntos para tratar de definir el significado del término. Perens trabajó con la comunidad que crea la distribución Debian de Linux para llegar a una definición de lo que era aceptable para la comunidad. Esta definición se transformó en una versión más oficial utilizada por la Iniciativa de código abierto. Cuando obtuvieron una definición que les gustó, la publicaron e intentaron registrar el término "código abierto" para asegurarse de que se aplicara con cierta coherencia. No debería sorprender que todo ese arduo trabajo los separó más. A principios de abril de 1999, poco después de que Apple Computer se uniera al mundo del código libre al liberar parte del código fuente de su sistema operativo, Raymond y Perens se encontraron en la garganta del otro. Raymond había trabajado en estrecha colaboración con Apple en el desarrollo de su licencia y la bendijo poco después de que surgiera. Apple estaba tan complacido que puso el respaldo de Raymond en su página web. La decisión fue un gran golpe para el movimiento de código abierto y una fuerte prueba de que las corporaciones estaban adoptando el movimiento. Grandes ejecutivos de grandes empresas como Apple estaban llamando a la puerta del movimiento de código abierto. Raymond pensó que la victoria atraería más atención a la causa. Otros pensaron que Raymond había regalado la granja. Perens y muchos otros miraron la licencia y vieron una pequeña cláusula que parecía peligrosa. La licencia de su código fuente abierto podría retirarse en cualquier momento. Alguien señaló que sería un fastidio hacer mucho trabajo en el sistema de Apple y luego descubrir que algún abogado de Apple podría sacar la licencia. Nadie quería correr ese riesgo. Estallaron guerras de llamas y Perens comenzó a estar públicamente en desacuerdo con Raymond. Para Perens, la licencia de Apple simplemente no era lo suficientemente abierta como para llamarla "código abierto". Raymond no se lo tomó muy bien. Había trabajado duro para construir una coalición fuerte. Había trabajado duro para convencer a las corporaciones de que el código abierto era mucho más que una forma para que los adolescentes experimentaran con el comunismo mientras vivían con los centavos de sus padres. Quería que el mundo del código abierto fuera una máquina suave que funcionara sin problemas y que diera la bienvenida con gracia a Apple a su redil. Ahora, su amigo Bruce Perens estaba efectivamente imitando el famoso comentario de Lloyd Bentsen sobre Dan Quayle: "He conocido el código abierto; he trabajado con el código abierto; y Eric, esta licencia no es de código abierto". Se suponía que todo su anuncio se desarrollaría con la precisión de un reloj de las grandes relaciones públicas corporativas, y ahora alguien había lanzado una granada. Raymond respondió con un escueto correo electrónico que decía: "Si alguna vez vuelves a comportarte como ese idiota perturbador en público, me insultas y pones en peligro los intereses de toda nuestra tribu, lo tomaré como algo personal y encontraré una forma de hacer que te arrepientas. Cuida tus pasos". Esta nota inquietó a Perens, por lo que comenzó a enviar copias por la red. Luego se puso serio y llamó a la policía. Oficialmente, estaba publicitando el desacuerdo para preservar su salud porque Raymond expresa bastante su apoyo a la segunda enmienda. Por lo tanto, la frase "Cuida tus pasos" debe tomarse como una amenaza velada de violencia. Perens defendió su decisión de llamar a la policía y me dijo después: "Cuando no me gusta algo, escribo sobre eso. Bueno, caramba, tal vez Eric estaba amenazando con escribir sobre mí". En la firma al pie de la página. era una cita de Thomas Jefferson, que afirmaba que la pistola era la mejor forma de ejercicio. Al día siguiente, Perens decidió que estaba exagerando un poco y publicó una nueva nota: "Eric dice que solo pretendía amenazarme con 'difamación de carácter, No con ningún tipo de violencia. Por lo tanto, creo que dejaré este tema ahora". Cuando le pregunté sobre el asunto varios meses después de que los ánimos se calmaron, Raymond dijo que el desacuerdo comenzó varios meses antes del evento de Apple cuando Perens y Raymond se enfrentaron sobre si se debería permitir que la editorial O'Reilly use el término "código abierto". " en nombre de su conferencia. "Estaba *en llamas*, y no la iniciativa en sí, sino un partidario crítico", dice Raymond. "Hace algún tiempo tuve que aceptar la renuncia de Bruce de la OSI porque estaba criticando a los aliados públicos en una lista de correo. Si vas a hacerlo público, no puedes abrir la boca como un perro de presa rabioso. Cuando la APSL [Apple Public Source License], convenció a la gente de que todos deberían atacar a Eric y a la OSI", dijo Raymond. Causó más dolor. Perens, por su parte, dijo: "Eric me decepcionó porque ciertamente el código abierto tiene que ver con la libertad de expresión. Debería ser capaz de tolerar una voz disidente. Todo el argumento se trataba de que yo no cediese a su liderazgo. Sintió que mi la disidencia fue dañina. El resultado real fue que Apple tomó mis críticas en serio y tomó todas las sugerencias". Raymond sigue siendo crítico. Él dice: "Apple fue más diplomático con Bruce en público de lo que debería haber sido. La verdad es que su intromisión hizo que las personas dentro de Apple que estaban impulsando el código abierto se metieran en problemas políticos considerables, y lo consideraban un imbécil disruptivo. Sus jefes querían saber, bastante razonablemente, por qué Apple debería molestarse en intentar hacer una licencia de código abierto si todo lo que significaba era que serían atacados por cada caso fallido con una agenda. Al socavar el estatus de OSI como representantes confiables de toda la comunidad, Bruce casi hizo fracasar todo el proceso". Por ahora, los dos trabajan por separado. Perens dice que se reconciliará con Raymond, pero no cree que suceda demasiado pronto. Raymond está feliz de centrarse en el futuro del código abierto y escribir más análisis del movimiento. Han sido separados, y los ánimos están tranquilos. Regalar software parece un acto totalmente altruista. Escribir código es un trabajo duro, y simplemente enviarlo a la red sin restricciones es un regalo bastante agradable, especialmente si el código tardó meses o años en escribirse. Esta imagen de desinterés es tan fuerte que muchas personas asumen que el mundo del software libre está habitado por santos que constantemente hacen cosas buenas por los demás. Parece un gran amor. Pero el amor es más que una cosa muy esplendorosa. Es un bien extraño que nos une emocionalmente de maneras que son más profundas que las plácidas piscinas que reflejan ojos estrellados. Después de la oleada de enamoramiento, el amor fuerte dura si y sólo si responde a las necesidades de todos. La cultura hippie del amor libre duró solo unos pocos años, pero la institución del matrimonio continúa viva a pesar de las cicatrices de batalla y las heridas que son casi mortales. La mitad puede fracasar, pero la otra mitad triunfar. La comunidad del software libre también prospera creando una versión fuerte y trascendente del amor y vinculándola con un documento legal que establece las reglas del pacto. Stallman escribió su primer virus copyleft más de 15 años antes de que comenzara este libro, y el movimiento recién comienza a ganar verdadera fuerza. El mundo del software libre no es solo un maravilloso nido de amor, es un buen ejemplo de cómo las vallas fuertes, la libertad y el respeto mutuo pueden construir relaciones sólidas. Lo importante a tener en cuenta es que la gente del software libre no está más cerca de ser santos que la gente de las compañías de software propietario. Son igual de dados a la emoción, la codicia y el ansia de poder. Es solo que las reglas del software libre tienden a refrenar sus peores instintos y les impiden actuar en consecuencia. Las reglas son a menudo bastante necesarias. El correo electrónico y los servicios de noticias dan a la gente la posibilidad de desahogar su ira rápidamente. Muchos de los programadores son escritores muy competentes, por lo que pueden destrozarse unos a otros con escalpelos verbales. El mundo del código libre está dividido en cientos, si no miles, de campos políticos y muchos se detestan inmensamente. Un grupo me rogó que no les hiciera preguntas sobre otro grupo porque solo escuchar el nombre de alguien me traía terribles recuerdos de dolor y discordia. A pesar de estos argumentos furiosos, a pesar de los fuertes desacuerdos, a pesar de las animosidades personales, los principios de las licencias públicas hacen que todo funcione sin problemas. La gente es tan humana como las ratas que corretean por el laberinto del negocio del software propietario, pero la licencia los mantiene a raya. Las diversas licencias públicas contrarrestan el comportamiento humano de dos maneras clave. En primer lugar, fomentan el debate al convertir a todos en protagonistas del proyecto. Todos tienen derecho a leer, cambiar y, por supuesto, hacer comentarios sobre el software. Hacer que todo esté disponible abre las puertas a la discusión, y la discusión generalmente conduce a discusiones. Pero cuando los argumentos llegan a las manos, como sucede a menudo, el segundo efecto de las licencias de fuente libre entra en acción y modera las consecuencias al tratar a todos por igual. Si Bob y John no se caen bien, no hay nada que puedan hacer para evitar que el otro trabaje en el proyecto. El código está disponible gratuitamente para todos y simplemente no está permitido cerrar la distribución a tu enemigo. No puedes excluir a nadie, ni siquiera a alguien a quien odias. Cualquiera que esté familiarizado con la política corporativa debería ver inmediatamente la diferencia. Mantener a los rivales en la oscuridad es solo una práctica estándar en una corporación. La información es un bien poderoso, y las personas que compiten por el mismo presupuesto la usarán lo mejor que puedan. Los jefes a menudo se mueven para mantener a sus trabajadores alejados de otros grupos para mantener cierto control sobre el flujo de información. La retribución también es común en el mundo corporativo. Muchos gerentes desarrollan rápidamente enemigos en las filas, y los grupos constantemente dedican tiempo a sabotear proyectos. Las solicitudes serán atendidas rápida o lentamente dependiendo de quién las haga. El trabajo se hará o pospondrá según la división que lo solicite. Los gerentes a menudo se quejan de que su trabajo es evitar que sus subordinados se maten entre sí y luego dan la vuelta y comienzan a luchar contra los otros gerentes a su nivel. La gente en el mundo del código libre no es más agradable que la gente en las granjas de cubículos corporativos, pero sus poderes de secreto y retribución están severamente limitados. La Licencia Pública General de GNU requiere que cualquier persona que realice cambios en un programa y luego lo publique, también debe publicar el código fuente al mundo. No se permite apagar a tus enemigos. Este efecto podría llamarse varias cosas diferentes. No es muy diferente de los tratados de desarme mutuo firmados por las naciones. Los equipos atléticos se esfuerzan por este tipo de enfoque puro cuando contratan árbitros para tomar las decisiones difíciles y hacer que todos jueguen con las mismas reglas. El gobierno a veces trata de imponer cierta disciplina en el mercado libre a través de la regulación. Ahora, compare este desarme con una historia sobre la gente pobre que se quedó en el sitio web de Hotmail después de que Microsoft los comprara. Es realmente solo una de un millón de historias sobre política corporativa. Los trabajadores de Hotmail pasaron de ser señores supremos de su dominio de Hotmail a soldados del ejército de Microsoft. Sus decisiones debían promover el incesante crecimiento de la riqueza de Microsoft, no el bien del sitio de Hotmail. Esto probablemente no molestó tanto a la gente de Hotmail como el hecho de que la gente de Microsoft no podía decidir qué quería de Hotmail. Robert X. Cringely describió la situación en un artículo en PBS Online, y citó a un trabajador de Hotmail diciendo: "Envían un nuevo grupo de alto nivel para vernos todas las semanas, pero en realidad no significa nada. El plan cambia constantemente. "Hoy, Hotmail es principalmente una forma de introducir nuevos usuarios en el portal de MSN. Tuvimos por un corto tiempo una característica llamada Centerpoint para comunicarnos directamente con nuestros usuarios, pero fue eliminada como un posible competidor con el portal de MSN. Ninguna característica nueva pudo añadirse porque el equipo de Outlook Express nos vio como competencia y lo saboteó todo". Cringely explicó la fricción corporativa y el estancamiento de esta manera: “Lo que aprendió Hotmail es que en Microsoft casi cualquiera puede decir 'no', pero casi nadie puede decir 'sí'. La forma en que funciona específicamente en Microsoft es que todos dicen "no" a cualquiera que esté debajo de ellos en la estructura organizacional o en el mismo nivel, y "sí" a cualquiera que esté arriba. Dado que las líneas verticales de autoridad son estrechas, esto significa que las personas tienden a estar de acuerdo. solo con sus jefes y el jefe de su jefe y tratan de patear y desgarrar a todos los demás". El mundo del software libre, por supuesto, elimina estas barreras. Si la gente de Hotmail se hubiera unido al equipo de Linux en lugar de a Microsoft, serían libres de hacer lo que quisieran con su sitio web incluso si molestaba a Linus Torvalds, Richard Stallman y al Papa. No serían ricos, pero siempre hay un precio. Usar la palabra "amor" es un poco peligroso porque la palabra se las arregla para incluir el enamoramiento de los adolescentes y el afecto que la gente siente por un auto nuevo o la comida de un restaurante. El amor que encarna la GPL, por otro lado, no es tan divertido y no es particularmente digno de mención. Simplemente abarca la responsabilidad y el respeto mutuos que las personas maduras a veces sienten unas por otras. Es la versión de San Pablo del amor incondicional y eterno, no las punzadas del deseo que mantuvieron despierto a San Agustín en su juventud. Cualquiera que haya pasado tiempo en las trincheras en una granja de cubículos corporativos sabe cuán inútiles pueden ser las batallas entre grupos y divisiones. Si bien la competencia a veces puede producir rivalidades sanas, a menudo solo promueve la discordia. Cualquier veterano de estas guerras debería ver el valor inmediato de los tratados de desarme como la GPL. Permiten que continúen las sanas rivalidades mientras evitan que estallen el secreto y el egoísmo. El movimiento de código libre puede no tener dinero para mover montañas, pero tiene este amor. Este amor también tiene un efecto más tradicional en los hackers que crean el código fuente gratuito. Lo hacen porque aman lo que hacen. Muchas de las personas en el movimiento de código libre están motivadas por escribir un gran software y juzgan su éxito por el reconocimiento que obtienen de sus pares igualmente talentosos. Un "buen trabajo" de la persona adecuada, como Richard Stallman, Alan Cox o Linus Torvalds, puede valer más de $ 100,000 para algunas personas. Es una forma extraña de llevar la cuenta, pero para la mayoría de los programadores en el mundo del código libre es más un desafío que dinero. Cualquier schmoe en Silicon Valley puede ganar un par de millones de dólares, pero solo unas pocas personas selectas pueden reescribir el código de la interfaz de red del kernel de Linux para mejorar el rendimiento del servidor Apache en un 20 por ciento. Llevar la cuenta contando el número de personas a las que les gusta tu trabajo es un sistema extraño, pero que ofrece los mismos incentivos que los negocios. Una buena tienda no insulta a las personas que podrían ser clientes habituales. Un buen proyecto de software libre no insulta a las personas que pueden elegir qué paquete usar. Un buen hombre de negocios facilita que las personas lleguen a la tienda, se estacionen y hagan una compra. Un buen proyecto de software libre facilita que la gente descargue el código, lo compile, lo modifique, lo entienda y lo use. Incluso hay algunas investigaciones que respaldan la idea de que las recompensas pueden disminuir la creatividad de las personas. A Stallman le gusta hacer circular un artículo de 1987 del Boston Globe que describe varios experimentos científicos diferentes que muestran cómo las personas a las que se les paga son menos creativas que aquellas que producen cosas a partir de su amor por el arte. Los estudios evaluaron el éxito de poetas, artistas y maestros que hicieron su trabajo por diversión y lo compararon con aquellos que fueron recompensados ​​por sus esfuerzos. En muchos casos, se trataba de ejercicios breves que podían evaluarse con bastante facilidad. Una científica, Theresa Amabile, le dijo al Globe que su trabajo "refuta definitivamente la noción de que la creatividad puede ser condicionada operantemente". Es decir, no puede encenderlo simplemente invirtiendo algo de dinero en él. Mucha gente del software libre señala que esta es la razón por la que el movimiento del código libre tiene tantas probabilidades de éxito como un gigante corporativo financiado masivamente. Mucha gente no necesita que los científicos les digan que no se puede arrojar dinero a muchos problemas y esperar que desaparezcan. Esta es una dura lección que los gerentes y las empresas aprenden rápidamente. Pero esto no significa que la falta de dinero signifique que el movimiento de fuente libre vencerá a los miles de programadores encadenados en sus conejeras corporativas. Estos estudios solo midieron la "creatividad" y encontraron que la gente que no paga era más "creativa". Eso no es necesariamente un cumplido. De hecho, la palabra se usa a menudo como un eufemismo para "extraño", "raro" o simplemente "malo". Es más a menudo una medida de qué tan diferente es algo en lugar de qué tan bueno es. ¿Prefieres comer en casa de un chef creativo o de un buen chef? Este amor por la creatividad puede ser un problema para el mundo del código libre. La mayoría de la gente no quiere usar una hoja de cálculo creativa para hacer su contabilidad, ya que podría tener problemas con la SEC o el IRS. Quieren un jugador de equipo sólido para muchos de sus trabajos, no uno creativo genial. El mundo del código libre a menudo se considera demasiado artístico y temperamental para emprender la ardua y larga tarea de crear un software bueno y sólido que resuelva los trabajos de bancos, farmacias, aerolíneas y todos los demás. Muchas de estas tareas son abrumadoramente aburridas y difíciles de realizar. Si bien solo implican agregar algunos números y hacer coincidir algunos datos, las tareas deben realizarse correctamente o los aviones se estrellarán. El mundo del código libre no puede confiar en el amor o la creatividad para motivar a las personas a asumir estas tareas. La única solución podría ser el dinero. Por supuesto, es importante reconocer que incluso los trabajos aparentemente aburridos pueden tener soluciones muy creativas. GNU Emacs de Stallman es una solución creativa fascinante y exagerada para el trabajo simple de manipular texto. Es posible que los procesadores de texto y los editores de texto ya no sean tan emocionantes, pero aún es posible encontrar formas creativas de realizar la tarea.