2017-10-19
El 18 de mayo de 2012, los abogados de Oracle y Google luchaban contra nueve líneas de código en una audiencia ante el juez William H. Alsup del distrito norte de California. El primer juicio con jurado en Oracle v. Google, la lucha sobre si Google había secuestrado el código de Oracle para su sistema Android, estaba terminando.
El argumento se centró en una función llamada rangeCheck. De todas las líneas de código que Oracle había probado, 15 millones en total, estas fueron las únicas que fueron copiadas "literalmente". Cada golpe de teclado, un duplicado perfecto. Era en interés de Oracle jugar la importancia de rangeCheck tanto como fuera posible, y David Boies, el abogado de Oracle, comenzó a argumentar que Google había copiado rangeCheck para que pudiera llevar Android al mercado más rápidamente. El juez Alsup no lo estaba comprando.
"No podría haberles dicho lo primero sobre Java antes de este juicio", dijo el juez. "Pero, he hecho y sigo haciendo mucha programación en otros idiomas. He escrito bloques de código como rangeCheck cien veces o más. Yo podría hacerlo. Usted podría hacerlo. Es tan simple ".
Fue un comentario improvisado que se tornó una bola de nieve fuera de control, para disgusto de Alsup. Primero se repitió entre abogados y expertos legales, luego por publicaciones tecnológicas. Con cada repetición, la habilidad de Alsup creció, hasta que finalmente se convirtió en "el juez que aprendió Java": Alsup el programador, el héroe nerd vestido de negro, el juez 10x, el "maestro de la corte y de Java".
Al Juez Alsup le gustaría que todos sepan que él no conoce Java.
No muy bien, de todos modos. Él puede, sin embargo, definitivamente codificar. Ha estado codificando en BASIC durante décadas, de hecho, escribiendo programas por diversión: un programa para jugar Bridge, escrito como un regalo para su esposa; una solución automática para el juego de mesa Mastermind, al que le tienen un gran aprecio; y lo más ambicioso, un extenso programa multifuncional con una interfaz gráfica que lo ayuda con otro de sus muchos pasatiempos, la radioafición.
Sus intereses le han servido bien en la banca judicial, informando su punto de vista sobre los casos multimillonarios de propiedad intelectual que le llegan. La suerte de las compañías tecnológicas puede subir o bajar dependiendo de sus decisiones. Oracle v. Google tiene amplias repercusiones para las grandes empresas y los desarrolladores más pequeños por igual, por no hablar de los $ 9 mil millones en juego. Los billones que aún no se han sumado y que Alphabet está buscando de Uber en el juego Waymo v. Uber en curso podrían hacer que Uber sea un jugador en el incipiente mercado automotriz sin conductor.
Por pura coincidencia, estos casos importantes han terminado en la agenda de tal vez el único juez en Estados Unidos capaz de comprender sus detalles técnicos: un juez que puede codificar. La afición largamente acariciada de Alsup iluminó problemas en el corazón de Oracle v. Google, y sus retoques fuera de hora con la fotografía, lentes y la ciencia de la luz le informarán en Waymo v. Uber, un caso que involucra a LIDAR, un láser. tecnología basada en la navegación del automóvil sin conductor.
La industria de la tecnología ha estado desesperada por la incapacidad de la ley para comprenderla, haciendo que gran parte de la lucha del sistema legal se mantenga al ritmo del rápido progreso. La creencia de que la ley nunca "alcanzará" a la tecnología se debe en parte a la excepcionalidad tecnológica, un elitismo libertario que ridiculiza cualquier tipo de impedimento legal o reglamentario como el ludismo. Pero también está alimentado por una frustración genuina con el estado de derecho. La oficina de patentes se percibe como una tecnología obvia que sella el caucho. Los jueces de la Corte Suprema parecen confundidos por el proceso básico de codificación. Y los abogados acumulan jurados con jurados no técnicos que devuelven veredictos masivos de patentes en los carritos de compras en línea.
En este panorama, Alsup es un caso atípico, una excepción desconcertante a la sabiduría aceptada de que la ley no puede dar sentido a la industria de la tecnología en constante cambio. El secreto de Alsup es simple: es un friki de toda la vida.
Alsup es famoso entre los abogados de San Francisco por las primeras horas que mantiene (y obliga a los abogados que comparecen ante él). A las 9 AM, la mayoría de las salas de los jueces en el juzgado federal aún estaban a oscuras y las puertas estaban cerradas. Pero cuando llegué a la habitación de Alsup, la puerta se abrió de par en par y el bullicio interior sugirió que todos habían estado trabajando durante horas.
Un hombre de cabello blanco con gafas rectangulares con estructura de alambre y un suave acento sureño, Alsup es de estatura normal, pero su imponente presencia te deja con la impresión de que él se impone sobre ti.
Las cámaras de Alsup tienen muchas de las estéticas clásicas de la profesión legal: las estanterías sobre estantes de libros encuadernados en cuero, los paneles de madera manchada, un pequeño retrato en blanco y negro de Abraham Lincoln colgando sobre un escritorio intimidantemente grande. A un lado se encuentra un sofá cubierto de juguetes para perros. Jack Russell Terrier de Alsup, quien a menudo trae a trabajar, no estaba en la oficina ese día.
El juez me sentó en el sofá y me guió a través de sus programas en una computadora portátil Dell emitida por la corte en 2011. No podía ejecutar los mismos programas en su computadora de escritorio, dijo con cierta irritación, por lo que Dell estaba aquí para quedarse. "Es el último que admitirá QuickBASIC, lo cual es una lástima, porque es el único idioma que realmente conozco".
El juez no es un fanático del hardware. Él usa computadoras y cualquier teléfono inteligente que la corte le haya proporcionado. Él tiene un iPhone emitido por el tribunal, pero si el Distrito Norte de California le emitiera un Android, usaría un Android, dijo.
Le pregunté si podía poner su código en GitHub, y él me preguntó qué era GitHub. En lugar de eso, me entregó impresiones de sus programas de computadora, tres pilas de papel que habían sido grapadas cuidadosamente en las esquinas. El de arriba, se disculpó, tenía varias dependencias que no había tenido tiempo de imprimir. Mucho antes de convertirse en el juez que presidía Silicon Valley, Alsup había sido un aficionado que operaba aislado; es un geek, pero es un geek de otra época.
Alsup nació en 1945 en Jackson, Mississippi, el hijo de dos tejanos rurales: una enfermera y un ingeniero civil que comenzó su carrera con la Administración de progreso de obras de Roosevelt. Incluso de niño, Alsup demostró la curiosidad desenfrenada y la inclinación técnica que caracterizarían su vida posterior. Pasó gran parte de su infancia junto a Hubert Feild, ahora profesor en la Universidad de Auburn. Amigos desde la edad de seis años, los dos construyeron fuertes juntos, ocultaron cápsulas del tiempo, lanzaron globos más ligeros que el aire hechos de bolsas de ropa, dispararon fósforos de pinzas para la ropa (una invención de Alsup) y tuvieron "guerras de suciedad", que Feild dijo que "no fueron recomendados".
"Bill era un niño extremadamente brillante", dijo Feild. Alsup se enseñó a sí mismo el piano, pero, insatisfecho con el sonido, modificó el instrumento presionando las tachuelas en los martillos que golpean el cable del piano. Su truco hizo que el piano sonara como si viniera de un salón vaquero perdido hace mucho tiempo. "Todavía tengo grabaciones de Bill tocando canciones clásicas (como las de Ray Charles) en su versión 'nueva y mejorada' de su piano", dijo Feild.
Pero si había un artilugio que atrapara la imaginación de los chicos, eran las radios de jamón. Los dos pasaron horas escuchando emisiones de onda corta, combinando frecuencias en una radio Zenith Transoceanic con una antena telescópica de siete pies. Se sintonizaron en estaciones lejanas como Radio Moscú, Radio Quito y Radio La Habana, pero la mayor parte de su tiempo lo dedicaron a escuchar a los operadores de radio aficionados, los llamados "jamones".
"Mientras escuchamos las conversaciones de los hams en varios estados de los EE. UU. Y de otros países, fue como si se hubiera descubierto un 'nuevo mundo' más allá de los confines de Mississippi", dijo Feild. Escucharía mientras Alsup, que se convirtió en un operador de jamones con licencia cuando todavía estaba en la escuela secundaria, mantuvo conversaciones desde su dormitorio con interlocutores lejanos, a veces en código Morse.
"Bill tuvo, y sigue teniendo, una influencia muy fuerte en mi vida", dijo Feild. "Durante los últimos 20 años más o menos, Bill y yo hablamos por radioaficionados todos los sábados por la mañana".
Después de la escuela secundaria, Alsup comenzó como un ingeniero principal en el estado de Mississippi, con la intención de ser un ingeniero civil como su padre. Pero esto fue en los '60, y el movimiento por los derechos civiles estaba en pleno apogeo: la Marcha sobre Washington sucedió durante su primer año en la universidad; la Ley de Derechos Civiles de 1964 fue aprobada en su segundo año. Como Alsup se interesó por cuestiones legales más amplias, algo hizo clic. "Quería ser otro Atticus Finch", me dijo Alsup. Después de la universidad asistió a la Facultad de Derecho de Harvard, y se convirtió en secretario del juez de la Corte Suprema William O. Douglas.
Estableció una tienda en Mississippi haciendo trabajo de derechos civiles, pero lo encontró financieramente insostenible. Finalmente, él y su esposa se mudaron a San Francisco en 1973, y con los años trabajó tanto en la práctica privada como en el Departamento de Justicia. En 1999, el presidente Bill Clinton le encargó como juez federal.
En el Distrito Norte de California, Alsup tiene una reputación temible entre los abogados. Sus primeras horas son la ruina de los abogados, que se ven obligados a presentar mociones a partir de las siete, a veces incluso antes si el juez ve que todos están presentes. Los litigantes están sincronizados al minuto, y los jurados se dejan salir a la hora exacta que él especifique.
En el segundo juicio de Oracle v. Google, se negó a permitir que los abogados siguieran interrogando a Eric Schmidt después de la 1PM, a pesar de que esto significaba que el presidente de Alphabet tendría que volver a la corte al día siguiente. El negocio de una mega corporación de $ 570 mil millones tendría que dejar espacio para que los jurados recojan a los niños de la guardería, pongan la cena en la mesa y cojan el tren para un largo viaje de regreso a casa. "Sé que el testigo es un hombre ocupado", dijo Alsup. "Pero el tiempo del jurado cuenta mucho más en este momento".
Mantiene su sala de audiencias significativamente más fría que el resto del edificio; se rumorea que el aire acondicionado está en lo más alto para mantener despiertos a los miembros del jurado. Si alguien tose en la galería, Alsup pausa la prueba para exigir saber quién lo hizo. Una vez que se identifica la cupa, el juez produce una pastilla para la tos: los mantiene junto a la mesa del juez para tales eventualidades, y la tos de la vergüenza se transmite a través de las filas de los abogados hasta la galería. Si la tos persiste, la tostadora debe salir de la sala del tribunal tan rápido y tan silenciosamente como sea posible.
Fuera del alcance del oído, cuando los miembros del jurado están cerrados dentro de su sala de deliberaciones, puede ser duro con los abogados. Pero el juez que los jurados ven es un caballero sureño abnegado y solícito, alguien que se toma el tiempo de preguntar a los miembros individuales del jurado y agradecerles por el tiempo que dedican.
Cuando uno de los miembros del jurado de Oracle v. Google fue picado por una abeja durante el juicio, Alsup le preguntó si aún podía seguir el procedimiento. Cuando ella se dobló y dijo, dijo: "Permítanme reformularlo". ¿Puedes entender lo que está pasando tan bien como podrías antes de que te picara una abeja?
"Sí", respondió sin dudarlo.
El sistema estadounidense permite a los abogados una gran cantidad de poder sobre quién puede ser un miembro del jurado. Es por eso que un jurado en una prueba de copyright de software que tuvo lugar en San Francisco, California, la capital tecnológica del mundo, terminó con cero jurados con experiencia en la industria de la informática. Pero los abogados no pueden elegir a los jueces con los que terminan. Y los litigantes en el Distrito Norte de California, dominado por la tecnología, se han enterado de que no pueden obtener uno rápido con el juez Alsup.
Oracle v. Google es una extensa y extensa litigación sobre la plataforma de Android, en la que los miles de millones de dólares en juego fueron la consecuencia menos significativa posible de la demanda. Hay una razón por la cual más de 70 programadores de computadoras notables firmaron un amicus curiae "Breve de informáticos" para el Circuito Federal, y más tarde para el Tribunal Supremo, en un intento de explicar la cuestión técnica en el corazón del caso. Cada uno de ellos temía lo que Oracle v. Google podría hacer a su profesión.
Oracle trajo múltiples reclamos de patentes y un reclamo de derechos de autor contra Google en 2010, solo para perder en todos los ámbitos en 2012 en un juicio presidido por el juez Alsup. Pero Oracle apeló, y el Circuito Federal falló a su favor. Cuando Google intentó apelar nuevamente, el Tribunal Supremo se negó a escuchar el caso y lo envió de vuelta al juez Alsup en el tribunal de distrito. El caso fue nuevamente juzgado en 2016. Nuevamente, un jurado regresó a favor de Google, y una vez más, la apelación está pendiente ante el Circuito Federal. Después de siete años de litigio, la demanda en esta etapa se ha reducido a una sola pregunta: ¿el uso de Google de 37 API de Java infringe los derechos de autor de Oracle?
Los derechos de autor del software son difíciles de manejar. Cuando se trata de música, películas, literatura, pinturas e incluso Bikram yoga, es bastante fácil tener una opinión sobre si algo ha sido copiado. El software, por otro lado, fue una incómoda adición tardía a la Ley de derechos de autor de 1976, metida en la sección 102 (a) como una "obra literaria".
Se supone que los derechos de autor solo cubren trabajos creativos, no lo que es útil o funcional. Es por eso que los elementos funcionales de cualquier cosa, desde maniquíes hasta libros contables y menús de programas informáticos, no pueden ser protegidos por derechos de autor.
¿El código es una herramienta funcional o es una expresión creativa? En la medida en que el código "transmite significado", parece una forma de arte con un reclamo válido de derechos de autor. Piense en programadores que se refieren a "código elegante" o "código mal escrito". Pero cuando se ejecuta ese código para mover un brazo de robot para levantar y fijar un perno, eso parece completamente funcional, y por lo tanto, no el tipo de cosa que puede ser tratado por derechos de autor.
No puedes proteger un urinario. Pero probablemente podrías registrar una escultura de un urinario. Y al igual que el famoso trabajo de Duchamp, el código es ambos, al mismo tiempo.
"Has visto a los tribunales luchando con [esto] durante décadas", dice James Grimmelmann, un profesor de derecho en el Cornell Tech Institute que una vez trabajó como programador de Microsoft. "Resulta que dividir realmente un software en esas partes funcionales y no funcionales es realmente difícil", dice. "Requiere una comprensión muy matizada de lo que está haciendo algo y lo que significa algo en el software".
El caso de Oracle v. Google se refiere a un componente específico del software: la interfaz de programación de aplicaciones. Las API son una colección de interacciones bien definidas, una especie de abreviatura para acceder rápidamente a servicios, bibliotecas y otras funcionalidades. Las API se han comparado con diccionarios de palabras con sus definiciones, pero John Bergmayer, un abogado principal de Public Knowledge, dice que son más como colecciones de proverbios o modismos. No necesitas saber idiomas para poder hablar un inglés gramaticalmente correcto, pero como muchos estudiantes de ESL saben, vas a tener muchísimo tiempo para comunicarte sin ellos. Una expresión idiomática puede ser una hermosa frase, pero cuanto más común es en un grupo de altavoces, más simplemente sirve como una abreviación de algo que podría tomar más tiempo para deletrear. Del mismo modo, las API a menudo condensan código comúnmente usado o particularmente complejo.
Esta es la pregunta en el corazón de Oracle v. Google. La Sección 102 (b) de la Ley de Derechos de Autor excluye la protección de derechos de autor para "cualquier idea, procedimiento, proceso, sistema, método de operación". ¿La interfaz de programación de aplicaciones es un proceso, sistema o método de operación? ¿O es una expresión creativa que garantiza la protección de derechos de autor?
Cuando Google creó Android por primera vez, la compañía tomó la decisión de que sería compatible con Java, un popular lenguaje de programación. Al usar Java, Android podría acceder a una comunidad existente de desarrolladores, y tal vez incluso a su código existente. Cualquiera podía escribir en Java, pero Sun Microsystems, que había desarrollado el lenguaje, mantenía un control estricto sobre Java Standard Edition y Java Mobile Edition, que permiten implementar código Java en computadoras de escritorio y teléfonos móviles.
Después de que las negociaciones para licenciar Java fracasaron, un ejército de ingenieros de Google escribió una implementación de sala limpia de Java SE, lo que significa que el código fue modificado por ingeniería inversa por un equipo que tenía prohibido acceder al código original. Oracle adquirió Sun en 2010, y en cuestión de meses, presentó una demanda contra Google por Android.
La reimplementación de Google de las API de Java se escribió casi en su totalidad a partir de todo el tejido. Pero compartió el código de declaración - código que identifica los nombres de otras partes integrantes del código - con las API de Java Standard Edition. No solo eso, la estructura, secuencia y organización de la implementación se veían similares. Y luego estaba rangeCheck, las infames nueve líneas de código. Hicieron su camino hacia Android a través de Joshua Bloch, quien, con sospecha, había trabajado previamente en Sun Microsystems y había escrito muchas de las API de Java. (Esto fue solo una desafortunada coincidencia, el juez Alsup lo determinó más tarde. Bloch había seguido contribuyendo con OpenJDK, la implementación de código abierto de Java, luego de dejar Sun para Google, y su código había terminado en Android y Java SE a través de inocuos circunstancias.)
Para ser compatible con Java, ciertas llamadas a ciertas API deberían tener el mismo aspecto. Por ejemplo, el método que encuentra que el valor máximo en un conjunto de números se llama razonablemente java.lang.Math.max. Oracle argumentó que Google podría haberlo llamado java.lang.Arith.larger. Google argumentó que las API de Java eran similares al diseño de teclado QWERTY. Claro, un teclado podría organizarse de otra manera, pero los fabricantes de teclados siguen fabricando teclados QWERTY, porque las personas están acostumbradas a esa configuración.
Los idiomas se basan en otros idiomas, y parte de eso significa que sus API son similares. La API de expresiones regulares de Java es una reimplementación de Perl 5 y la API de formato de cadenas de Java es una reimplementación de C. Esta es una de las razones por las que los programadores se levantan en armas sobre Oracle v. Google; simplemente no tiene ningún sentido proteger a Google por algo que todos los demás han estado haciendo para siempre. Existe un consenso general entre los desarrolladores de software de que Oracle estaba equivocado: que las API están destinadas a ser utilizadas, que restringir su uso podría trastornar su propósito.
De hecho, incluso Oracle tuvo dificultades para ser consecuente con su propia posición. En 2015, un testigo corporativo de Oracle dijo en una deposición que las API de Java y el lenguaje Java, que es de uso gratuito, eran "inseparables", solo para retroceder después de la hora del almuerzo mientras sudaba profusamente.
Cuando Oracle v. Google fue a juicio la primera vez, en 2012, el jurado encontró a favor de Google en cada reclamo de patente. Pero la cuestión de los derechos de autor desde entonces se ha dividido en dos etapas. ¿Los elementos reivindicados de las API eran protegidos por derechos de autor desde el principio? Y si fueran derechos de autor, ¿eran de uso legítimo? La primera pregunta fue decidida por el juez Alsup; el segundo fue por el jurado.
El jurado se centró en la cuestión de si el uso de Google de las API de Java fue de uso leal. Pero resultó que no importaba, al parecer, porque el juez Alsup dictaminó que Oracle no tenía derechos de autor sobre el código de declaración o la estructura, secuencia y organización del código de implementación. No hubo infracción porque no había nada que infringir. Y esto fue, concluyó Alsup, porque la estructura, la secuencia y la organización del código de implementación de la API eran más funcionales que creativas.
En un caso en el que testigos y abogados habían tenido dificultades para explicar los API, y los comparaban con todo, desde archivadores hasta tomas de corriente eléctricas, la opinión de Alsup era distintiva por su meticulosidad y conocimiento técnico. Para páginas enteras, describe cómo funciona el código, desde la diferencia entre el código fuente y el código objeto, hasta clases, declaraciones, encabezados, subrutinas, métodos, interfaces y paquetes. Incluso incluye código de muestra.
Es difícil imaginar que un juez sin la larga experiencia de Alsup como codificador tenga esa opinión. Los antecedentes de Alsup ciertamente fueron útiles cuando gobernó en rangecheck, las infames nueve líneas de código.
"Fue el tipo de cosas que había hecho muchas veces en QuickBASIC", dice, cinco años después de esa audiencia. (El juez usa QuickBASIC de Microsoft, que es un entorno de desarrollo integrado y compilador para BASIC, para programar). "Y si me hubieras dado ese problema en QuickBASIC, estaba seguro de poder volver dentro de una hora y tendría un modelo QuickBASIC en funcionamiento".
Cuando hablamos, el juez tuvo cuidado al hablar sobre Oracle v. Google, ya que una segunda apelación aún está pendiente en el Circuito Federal. Pero parecía que todavía estaba irritado con los intentos de Oracle de copiar las líneas copiadas de rangecheck como un "gran problema". Es posible que el codificador en él haya sentido un poco de lástima por el atribulado autor de rangecheck. El incidente molestó tanto a Alsup que pasó una sección entera de su opinión al respecto. "Oracle ha hecho muchas de las nueve líneas de código que se introdujeron tanto en Android como en Java. Esta circunstancia es tan inofensiva y ominosa por parte de Oracle que los hechos reales, tal como se encuentran en este documento por el juez, se expondrán a continuación para el beneficio de la corte de apelaciones. "(Las nueve líneas de código nunca volvieron a aparecer en el caso. )
La opinión de Alsup en 2013 sobre Oracle v. Google es, como dice Grimmelmann, "el compromiso más detallado, más difícil y más matizado" que la judicatura haya tenido alguna vez con el copyright del software. Él enseña Oracle v. Google a su propia clase de IP. "Es un encuadre de esto es cómo funciona Java, esto es lo que son los diferentes elementos del código fuente ... no es solo juzgar el caso antes que él. Es una escritura pedagógica ".
Gracias a la meticulosidad de su opinión, gran parte de la comprensión de Alsup sobre Java y del desarrollo de software se mantiene en la ley, y se transmite a los aspirantes a abogados. Esa puede ser la marca más duradera dejada por la notable decisión del juez codificador, porque la sentencia en sí misma ha sido completamente anulada.
La sentencia de 2013 de Alsup en Oracle v. Google se retiró en apelación casi de inmediato, y en 2014, el Tribunal de Apelaciones del Circuito Federal regresó con una sorprendente reversión, que dio lugar a innumerables artículos de revisión de leyes redactados por airados académicos de derecho de autor. El tribunal de apelaciones escribió que Oracle tenía "opciones ilimitadas en cuanto a la selección y disposición de las 7.000 líneas que Google copió". Oracle no tuvo que nombrar la función java.lang.Math.max. Se podría haber llamado "cualquier cantidad de cosas", como "Math.maximum" o "Arith.larger".
Es pequeño, dice así que sugiere una falta de familiaridad general con el código. (En otra parte de la opinión, el tribunal dice: "Google era libre de desarrollar sus propios paquetes API y de 'presionar' a los programadores para que los adopten").
Google apeló la decisión del Circuito Federal hasta el Tribunal Supremo, que se negó a tomar el caso. La demanda fue enviada de vuelta al lugar donde comenzó: con el juez Alsup en San Francisco, para un segundo juicio con jurado, y el 26 de mayo de 2016, un jurado encontró un uso justo a favor de Google.
Google puede haber ganado, pero el caso no está aún pendiente, Oracle ha apelado nuevamente al Circuito Federal, no está claro cuáles serán los efectos reales del caso con el tiempo. El veredicto del jurado sobre el uso legítimo no proporciona ninguna guía sobre cuándo está o no está bien copiar el código de declaración, o la estructura, secuencia y organización de una API.
Cualquier perspicacia o claridad que Alsup hubiera escrito en su opinión, basada en su larga experiencia con BASIC, simplemente se había evaporado, explotado en pedazos por la corte de apelaciones.
Alsup no es tímido sobre sus claves de codificación: "Creo que soy un buen programador, y creo que cuando lees estos programas puedes ver que, como me enseñé todo, hay algunos dispositivos de programación bastante ingeniosos en estos QuickBASIC programas. "Agregó," Pero no son Java ".
El juez ha estado codificando desde que obtuvo su primera computadora en 1985: una antigua IBM que desde entonces ha sido enviada a un rincón oscuro y polvoriento de un granero en su rancho de Yosemite. Utilizaba un disquete de 5 ¼ pulgadas y no tenía un disco duro. Puede obtener la versión con una unidad de disquete, o puede obtener la versión con dos. Él y su esposa se lanzaron a la lujosa versión de dos unidades.
La computadora vino con dos libros, uno sobre el sistema operativo DOS y otro sobre BASIC. "En algún momento, miré el libro BASIC y decidí que lo aprendería". Se enseñó a sí mismo directamente del libro, que recuerda que fue "bastante directo".
Los primeros programas que escribió fueron los ejemplos, rutinas simples que hicieron aritmética. Se volvieron cada vez más complejos: uno que jugaba al blackjack, uno que jugaba al semental de siete cartas. Todos fueron almacenados en un disquete de 5 ¼ pulgadas que fue destruido en 1988 cuando su hijo de dos años lo destrozó con la grapadora.
"Estaba tan orgulloso de sí mismo", dijo Alsup con nostalgia.
De todos los programas que ha escrito, es su predictor de propagación de radio de onda corta de lo que está más orgulloso, y con buenas razones. Es una pieza relativamente compleja de software con múltiples dependencias e interfaces gráficas de aspecto retro, que incluyen un mapa de proyección azimutal basado en la ubicación inicial que eliges, completa con líneas coloreadas que rastrean el movimiento del sol y extensas bases de datos compiladas a mano de atlas. (Está inmensamente orgulloso de la enorme cantidad de tiempo que ha dedicado al ingreso de datos en sus horas libres, tanto antes como después de convertirse en juez del Artículo III designado por el presidente de los Estados Unidos).
El programa predice los mejores momentos para dirigir señales de radioaficionados a varias partes del mundo, calculando entre dos puntos finales que especifica, o incluso generando tablas de datos sobre las ubicaciones clave que ha seleccionado de todo el mundo.
Incluso en 1995, cuando comenzó a codificar su programa, había versiones comerciales disponibles de programas similares. Pero, dice, "solo quería la diversión de poder ver si podía hacerlo".
Utiliza su programa para calibrar su radio Yaesu Mk V Field para conversar con sus amigos de todo el mundo, incluido su amigo de la infancia "Junior" Feild, y los amigos operadores que ha creado en lugares tan lejanos como Japón y Nueva Zelanda. Todavía pasa un par de horas operando su radio todos los meses, la mayoría de ellos desde las estribaciones de la Sierra. Su distintivo de llamada es N6XMW, o como él dice, "November Six X-Ray Mike Whiskey".
El juez pasó casi una hora explicándome este programa en particular, revisando cada una de las diversas entradas que pueden cambiar la propagación de radio de onda corta, así como también la ciencia detrás de esto. La entrevista se convirtió en un tutorial de física improvisado mientras me explicaba pacientemente el flujo solar, el índice K y la ionosfera.
La predicción de la propagación de radio tiene en cuenta más que unas pocas de estas variables constantemente fluctuantes, todas las cuales cambian según dónde se encuentre y hacia dónde esté tratando de llegar, así como a la hora del año y la hora del día.
Una vez que ingresa las variables, ingresa enter, y la computadora comienza a calcular. "Mira", dijo. "Está pensando".
De hecho, la pantalla de la computadora ahora está en blanco, a excepción de las palabras, "Pensando ..."
Durante la prolongada demostración, el programa tiene problemas una vez: se rompe una dependencia, y por alguna razón, no le permitirá ingresar a la ciudad de Nueva York como ubicación. "Eso no es bueno", murmura para sí mismo. "Está bien ... así que me equivoqué", me confiesa. Acordamos probar una ubicación diferente por completo, y el programa se ejecuta sin problemas a partir de ahí.
Alsup ha codificado en relativo aislamiento durante décadas, aprendiendo de los libros y compilando bases de datos a mano. Es una marcada diferencia de las prácticas típicas de la generación actual de desarrolladores de software, cuyo flujo de trabajo y hábitos a menudo recurren a una comunidad más grande. Él no busca soluciones en Google, no revisa StackExchange y no usa bibliotecas preexistentes. Todo lo que ha escrito, lo ha escrito desde cero.
De hecho, el encuentro más cercano de Alsup con la cultura y la comunidad que ha surgido alrededor de la programación parece ser Oracle v. Google.
En un infame intercambio en la segunda prueba, el antiguo director general de Sun, Jonathan Schwartz, intentó explicar el software libre y de código abierto al jurado, comenzando con GNU, un proyecto integral de Linux que puede describirse como un sistema operativo y un conjunto de aplicaciones asociadas. software.
"¿Qué significa GNU?" Interrumpió Alsup para preguntar.
"GNU no es Unix", dijo Schwartz.
"¿La parte G representa a GNU?"
Schwartz confirmó.
"Eso no tiene ningún sentido", respondió el juez. Hubo algunas risas en la sala del tribunal, pero no fue nada parecido al alboroto en Twitter después, ya que cientos de nerds en todo el mundo se enfrentaron. (Incluso más tarde vi un webcomic sobre este intercambio exacto).
El acrónimo de GNU es recursivo, lo que significa que se invoca a sí mismo en un ciclo infinito, un movimiento que frecuentemente aparece en la programación de la computadora. Hay una gran cantidad de acrónimos recursivos en programación, que incluyen PHP (PHP: Hypertext Processor), cURL (cURL URL Request LIbrary) y, extraoficialmente, el motor de búsqueda Bing (Bing Is Not Google). Estas son malas bromas internas, marcadores embarazosos de una cultura insular que nunca previó tener que explicarse en un tribunal de justicia.
Y Alsup, a pesar de haber sido un codificador por tanto tiempo, no sabía lo que GNU representaba hasta ese momento. Él estaba un poco disgustado cuando pregunté. Aparentemente, un amigo ingeniero suyo (uno de sus amigos mochileros) se había burlado de él por el comentario de GNU. "No conocía esta característica recursiva de la definición", dijo Alsup. "Una vez que me lo explicaron, yo estaba como, 'Está bien, eso es algo lindo'".
Cambios recientes en la programación de computadoras han dificultado que Alsup mantenga su afición. Hace unos años, hizo un esfuerzo por aprender Python, pero eso se quedó en el camino cuando "se puso demasiado ocupado", presumiblemente con su trabajo diario como juez federal. Desde entonces, Microsoft ha dejado de agrupar QuickBASIC con Windows, lo que hace imposible que Alsup ejecute sus programas en computadoras más nuevas.
Es poético a su manera: el juez que presidió un importante caso de compatibilidad ahora es víctima de problemas de compatibilidad.
En diciembre, Alsup presidirá Waymo v. Uber, una demanda potencialmente multimillonaria en la que se acusa a Uber de robar propiedad intelectual en torno a la tecnología de automóvil autónomo de una división de Alphabet. Waymo no lidia con los principios básicos de la ley de propiedad intelectual de la forma en que Oracle v. Google lo hace, pero al igual que ese caso, el resultado podría cambiar la faz de la industria para siempre.
En nuestras conversaciones, Alsup ha tenido mucho cuidado de no hablar sobre el caso de Waymo en curso. Pero él está entusiasmado con la ciencia que rodea el pleito. Esta vez, es su interés en la fotografía y la óptica lo que podría ser más relevante para Waymo v. Uber. En marzo, Alsup solicitó a cada parte que nombrara un libro o un tratado sobre LIDAR, un sistema de detección basado en láser utilizado para automóviles sin conductor, que está en cuestión en el caso, para que pudiera leer sobre él. Pero una orden judicial advirtió severamente a las partes que no lo protegieran.
Tenga en cuenta que el juez ya está familiarizado con los principios básicos de luz y óptica que involucran lentes, como distancias focales, la naturaleza no lineal de los puntos focales como una función de la distancia de un objeto desde la lente, donde los objetos se enfocan una pantalla detrás de la lente y el uso de una lente para proyectar y enfocar. Por lo tanto, lo más útil sería la literatura sobre la adaptación de LiDAR a vehículos autónomos, incluidas varias estrategias para colocar diodos emisores de luz detrás de la lente para obtener el mejor efecto general, así como el uso de una sola lente para proyectar la luz saliente y enfocar reflexiones entrantes (que no sean, por supuesto, las patentes en juego).
Alsup también solicitó un tutorial en LIDAR, presentado por abogados de ambos lados. Es algo que hace para muchos casos diferentes. Él disfruta de los tutoriales, me dijo, y escucha con atención. Pero aún así, sospecha que entiende la tecnología mejor que los abogados en un gran número de casos.
Tiene un largo recuerdo para los abogados que sospecha que trataron de obtener uno por encima de él, solo para encontrarse con su experiencia en ingeniería y su lengua ácida. Como cualquier geek, guarda rencor contra cualquier ofuscación de tecnología.
En un caso que tuvo lugar hace aproximadamente una década, en relación con una patente que involucra a FastTrak (el dispositivo automatizado de seguimiento de peaje de puente del Área de la Bahía), las dos partes llegaron a un acuerdo legal vinculante sobre los aspectos técnicos de cómo se interpretaría la patente . En lugar de sellar la estipulación, el juez Alsup estudió minuciosamente la patente, solo para llegar a la conclusión de que su estipulación no tenía ningún sentido.
"Sabía lo que era la tecnología. Y les dije. Y escribí una orden que decía que me niego a aceptar esta estipulación, y esto es lo que realmente significa. Y luego ambos estuvieron de acuerdo conmigo en que yo tenía razón ".
Las partes resolvieron el caso poco después.
"Creo que pensaron que el juez estaba loco".
El agresivo manejo de los abogados de Alsup está en plena exhibición en Waymo, tal vez impulsado por la profunda desaprobación de los millones de dólares que Alphabet y Uber están quemando a algunos de los mejores litigantes en el negocio. En el pasado, ha sido abierto acerca de su disgusto por el dinero que las corporaciones arrojan en los tribunales. En una audiencia posterior al juicio en Oracle v. Google, espetó: "¿Sabe cuántos reclamantes de la Seguridad Social no puedo fallar porque usted está discutiendo sobre una factura de costos?"
En Waymo, en particular, ha pedido a la prensa que escudriñe cómo se comportan las dos compañías en los tribunales, y les dice a los periodistas que vigilen qué partido elige deshacerse de jurados con antecedentes técnicos durante la selección del jurado. Mientras tanto, Alphabet e incluso Lyft están luchando para mantener partes del proceso cerradas a la prensa, alegando que secretos comerciales valiosos podrían estar expuestos al público.
Un grupo de compañías de medios (incluida la empresa matriz de The Verge, Vox Media) intervino desde entonces en la demanda, pidiendo mantener abierta la sala del tribunal. Si bien es cierto que partes de la demanda, que involucra una gran cantidad de secretos comerciales, permanecerán selladas, Alsup se ha mostrado inflexible en que la prensa tiene derecho a saber todo lo que pueda.
En una audiencia, los abogados de Uber pidieron aparecer en la cámara, cerrando la reunión al público. Pero una vez que comenzó la audiencia, el juez Alsup llegó a la conclusión de que se trataba de un paso en falso, un uso del secreto motivado por la vergüenza y no por razones legítimas.
"Escucha, por favor no me hagas esto otra vez", dijo. "Habrá muchos titulares adversos en este caso en ambos lados. Y no puedo detener eso ".
"El público tiene derecho", dijo el juez. Luego, en un giro clásico de Alsup, "¿De hecho, toda esta transcripción? Voy a hacerlo público ".
Desde 1999, Alsup ha dividido su agenda entre dos empleados: lo que él llama el escritorio criminal y el escritorio de IP. Los casos que no se incluyen en ninguna de las categorías se dividen en partes iguales entre los dos.
En estos días, a menudo busca algún tipo de fondo STEM para el escritorio de IP. No es necesario, pero ayuda. Bill Toth, el empleado de IP durante Oracle v. Google, no tenía antecedentes STEM, pero me dijo que el juez le había pedido específicamente que tomara un curso de informática en preparación para su pasantía. Cuando le pregunté a Alsup sobre eso, él se rió un poco (no recordaba haber "hecho" que Toth tomara clases), pero sí reconoció que algunas veces le da a los empleados información sobre qué tipo de casos les están ocurriendo, y de qué tipo de clases puede ser útil antes de tiempo.
Bill Toth ahora está trabajando en el Circuito Federal, para el juez principal Sharon Prost. No se le permitirá trabajar en la apelación de Oracle v. Google, por supuesto; sería un conflicto de intereses.
Pero Toth es parte de una nueva clase de abogados, uno que con el tiempo representará una mayor parte de la profesión. A pesar de que es un estudiante de estudios religiosos convertido en abogado, es un codificador de principio a fin. "Hago programación por diversión", me dijo Toth. "He competido en Google Code Jam (no terriblemente en serio) durante los últimos tres o cuatro años, usando Java. Creo que pasé la ronda de clasificación casi una vez, y definitivamente he estado aprendiendo mucho cada vez ". Además del curso de informática que Alsup le hizo tomar, ya sabía HTML, Javascript, CSS, BASIC y un "pedacito" tanto de Python como de Perl antes de que alguna vez aplicara al empleado de Alsup. Toth se negó a comentar si sus habilidades de codificación alguna vez entraron en juego mientras trabajaba en Oracle v. Google, pero no es difícil imaginar que marcó la diferencia.
La comunidad tecnológica mantiene una creencia arraigada de que la ley nunca entenderá lo que hace, y ciertamente las decisiones judiciales de alto nivel tomadas en Oracle v. Google no hacen nada para disipar esa noción. Sin embargo, la existencia misma de Alsup es un desafío a esta creencia: un ex estudiante de ingeniería de 72 años que ha estado jugueteando en BASIC durante décadas con sus radios y sus cámaras, enseñando a sus empleados y periodistas al azar las cosas que él sabe
Con la misma paciencia y meticulosidad con que Alsup me explicó la ionosfera, explicó el software al Circuito Federal en su opinión sobre Oracle. Y debido a que era tan preciso y tan específico, obligó al Circuito Federal a involucrarse más en el desarrollo de software de lo que podría tener. Independientemente de la decisión final del Circuito Federal, gran parte del conocimiento de Alsup sobre el software permanece preservado en la jurisprudencia de apelaciones.
Esa opinión ahora se enseña en las clases de propiedad intelectual de las facultades de derecho. A medida que el sector tecnológico atrae cada vez más dinero, surgen abogados especializados en tecnología para satisfacer esa demanda. Muchos de ellos serán educados en la pedagogía cuidadosa de Alsup, para la mayoría de ellos, transmitida a través de palabras en papel, y para unos pocos afortunados, transmitida en persona.
Unas horas después de que concluimos la entrevista y dejo el juzgado, me envía un correo electrónico con el asunto "Encontré el error", informándome que había averiguado el error cuando me mostró su programa de propagación de radio de onda corta. "Me había retirado antes una línea clave por razones que no puedo recordar y simplemente lo reactivé, por lo que ahora está solucionado", escribe.
Pensé en mis últimos momentos en su oficina. Mientras empacaba mi grabadora y mi cuaderno, lo llamé el "juez geek", solo para que pareciera perplejo y me preguntara: "¿Es eso algo bueno?"
Cuando insisto en que es así, él se ríe un poco en respuesta. "En mi época, un geek no era algo que querías ser".