1 puntos por GN⁺ 2024-06-28 | 1 comentarios | Compartir por WhatsApp
  • En los años 2000, el Wi‑Fi en Linux rara vez funcionaba bien justo después de la instalación, y Larry Finger fue un desarrollador que elevó la usabilidad de Linux de escritorio mediante mejoras en los controladores inalámbricos
  • Finger contribuyó a al menos 94 lanzamientos del kernel y 1,464 commits desde Linux kernel 2.6.16, y falleció el 21 de junio de 2024 a los 84 años
  • En una época en la que Broadcom no proporcionaba código para sus equipos, participó en el trabajo sobre Broadcom BCM43XX y controladores de Realtek, analizando directamente los registros de hardware para aplicar ingeniería inversa a las especificaciones necesarias
  • Sin formación formal en ciencias de la computación, acumuló experiencia con Fortran, PDP-11, VAX y Unix/Linux; en 2023 afirmó que el kernel Linux 6.4 incluía 172,346 líneas de su código
  • Se lo recuerda como alguien que aconsejaba empezar con parches pequeños, usar git send-email y resistir las críticas, y que mentoreó a otros desarrolladores para que el código open source de Broadcom entrara al kernel

La huella que dejó en el soporte inalámbrico de Linux

  • Denise Finger, esposa de Larry Finger, dejó un breve mensaje en la Linux kernel mailing list informando que Finger había fallecido el 21 de junio de 2024
  • Según LWN.net, Finger contribuyó a al menos 94 lanzamientos desde el kernel 2.6.16, cuando el kernel Linux empezó a rastrear cambios con git
    • El total de commits fue de 1,464
    • Finger no recibió formación formal en computación y se consideraba a sí mismo un científico
  • Es un caso que muestra cómo, incluso en un proyecto enorme como Linux, las contribuciones constantes de una sola persona pueden perdurar durante mucho tiempo en la experiencia de usuario y el ecosistema

Las dificultades del Wi‑Fi en Linux en los años 2000

  • En la época en que Finger empezó a contribuir, era poco probable que el Wi‑Fi en Linux reconociera, activara y ejecutara correctamente el hardware justo después de la instalación
  • Los usuarios con chipsets inalámbricos no soportados tenían que depender de NDISwrapper, una herramienta de обходaje que enlazaba controladores de Windows
    • La instalación de Linux terminaba dependiendo de un método menos abierto
    • La carga de instalación y mantenimiento también seguía presente
  • Finger empezó a mejorar este problema con su trabajo en los controladores Broadcom BCM43XX
  • Como Broadcom no proporcionaba código para sus equipos, él contribuyó a hacer ingeniería inversa de las especificaciones necesarias, volcando y leyendo manualmente los registros de hardware
  • También proporcionó varios controladores de Realtek, y en diversos comentarios de blogs y foros todavía hoy aparecen respuestas de personas que dicen que sus sistemas usan parte del código de Finger

De equipos científicos a Unix/Linux

  • Hay pocos rastros de Finger en la web, aparte de cientos de commits al kernel
  • En su dominio personal hay una página de DRAWxtl, software open source para crear ilustraciones de estructuras cristalinas
  • Publicó respuestas en Quora, y su perfil de GitHub muestra contribuciones a más de 100 proyectos en 2024
  • En la serie de tres partes de Linux Journal de 2005, “Linux in a Windows Workstation Environment”, Finger resumió su carrera
    • Comenzó en 1963 como programador de Fortran
    • En los años 70 trabajó con PDP-11 e interfaces para equipos científicos
    • A comienzos de los 80 trabajó con VAX-11/780
    • Más tarde trabajó con sistemas Unix/Linux
    • En 1999 se jubiló de la Carnegie Institution for Science en Washington, DC
  • El mineral extremadamente raro Fingerite fue nombrado en honor a Finger
  • Su investigación en cristalografía lo llevó a una beca en el norte de Baviera, algo que mencionó en una respuesta de Quora relacionada con la Autobahn

Construcción de una red para un resort de RV tras jubilarse

  • Finger escribió en Linux Journal que, tras jubilarse, se convirtió en un residente de tiempo completo en un RV, “dedicado a evitar el clima frío”
  • Finger y su esposa Denise llegaron a una comunidad de RV para mayores de 55 años en Mesa, Arizona, y él se unió al club de computación del lugar
  • En ese momento, el club tenía cada vez más PCs con Windows que compartían una conexión DSL, y un sistema lo gestionaba con WinGate
  • El nuevo propietario del resort de RV quería aumentar las estaciones de trabajo a 22, pero el costo de las licencias de WinGate era demasiado alto para el club
  • Finger dijo que “desconfiaba mucho de usar Windows 98 en un rol mission critical” y construyó él mismo un sistema alternativo basado en Linux
  • Más tarde, la red se expandió hasta el siguiente nivel
    • 38 estaciones de usuario
    • Recursos compartidos personales con Samba
    • Base de datos de miembros
    • Túnel VPN
    • Varios puertos RJ-45 gratuitos
    • “Acceso Wi‑Fi gratuito” en todo el parque

Mentoría y consejos para contribuir al kernel

  • Finger no solo fue un desarrollador que hizo que Linux pudiera ser usado por más personas, sino que también se lo recuerda como un mentor que ayudaba a otros contribuidores
  • Un comentario en LWN.net señaló que Finger mentoreó a otros para que el código open source de Broadcom entrara al kernel, y que eso fue un gran éxito
  • En 2023, ante la pregunta en Quora “¿Puede una persona promedio sin formación formal en ciencias de la computación contribuir de manera sustancial al kernel Linux?”, Finger respondió: “Creo que sí”
  • Enlazó las estadísticas del kernel Linux 6.4 e indicó que su código sumaba 172,346 líneas, cerca del 0.5% del total
  • Afirmó que nunca había tomado cursos de ciencias de la computación, pero que tenía una considerable experiencia programando, adquirida en una época en la que las computadoras tenían mucha menos potencia que hoy y era necesario escribir código eficiente
  • Para quienes querían empezar a contribuir al kernel, Finger recomendaba lo siguiente
    • Empezar con parches pequeños
    • Leer las guías en profundidad
    • Enviar siempre los parches con git send-email
    • Los parches enviados con clientes de correo como Thunderbird pueden ser rechazados rápidamente
    • También ayuda buscar errores tipográficos o fallas en comentarios y strings
    • Esperar críticas sobre reglas y formato, y seguir intentándolo
  • Dijo que el desarrollo de controladores del kernel es un trabajo muy gratificante, pero también muy frustrante, y aconsejó aprender C, empezar analizando controladores USB y dedicar tiempo a aprender DMA
  • Finger comentó que a él también le tomó alrededor de 2 años llegar a hacer algo más que indicar a los expertos dónde se ubicaba una falla del sistema, y dejó el mensaje: “no pierdan la esperanza”

1 comentarios

 
GN⁺ 2024-06-28
Comentarios de Hacker News
  • Una noticia realmente triste, tanto para el mundo en general como para mí en lo personal. De pronto me arrepiento profundamente de no haberle agradecido antes, sin postergarlo. Él no lo sabía, pero para mí fue, en cierta medida, una especie de mentor.
    A comienzos de la década de 2010 compré una laptop con una tarjeta RTL 8188 CE que funcionaba pésimo en Linux, y tras hacer un fork de su driver e incorporar varios cambios, logré que el Wi-Fi funcionara muy bien. También usé métodos que no podían subirse a upstream por restricciones legales y regulatorias.
    Durante varios años hice rebases frecuentes y revisé cambios, y aprendí mucho leyendo su código. Me tomó un tiempo familiarizarme, pero poco a poco empezó a surgir cierta belleza y gratitud. Una cosa era clara: esta persona hacía mucho trabajo para evitar que todo se viniera abajo. Solo mantener el driver compilando en cada release del kernel muchas veces requería refactorizaciones nada triviales, y él lo hacía de forma constante y bien.
    Larry, te vamos a extrañar. Descansa en paz. Si estás esperando para contactar a alguien, mejor no lo postergues demasiado. Los años pasan en un instante, y de pronto puede ser demasiado tarde.

    • Entiendo que la mayoría de los colaboradores del kernel son voluntarios y pueden hacer lo que quieran, y que los autores de drivers que no están en upstream tienen que seguirle el paso al trunk. Aun así, esto parece un desperdicio de talento humano.
      Creo que algo que ya funcionó no debería volver a romperse jamás. Varias capas de lastre acumuladas durante décadas no parecen haber resuelto mucho este problema; más bien parecen estar creando más trabajo solo para mantenerse en el mismo lugar.
    • Encontré un pequeño error tipográfico, pero ya no puedo editar el original. Quise decir comienzos de la década de 2010, no comienzos de la década de 2000.
    • Me da curiosidad qué cosa no permitida legalmente hiciste para que el Wi-Fi funcionara mejor.
  • Ars Technica publicó un buen artículo. Él hizo mucho para mejorar enormemente Linux Wi-Fi y el ecosistema de drivers.
    https://arstechnica.com/gadgets/2024/06/larry-finger-linux-w...
    Recuerdo haber maldecido antes a ndis wrapper y al ecosistema de Wi-Fi de Broadcom; Larry ayudó a arreglar ese problema y, en el proceso, fue mentor de mucha gente.
    También es notable una cita del artículo de Ars Technica. En 2023, en Quora, ante la pregunta de si alguien sin formación formal en ciencias de la computación podía hacer una contribución sustancial a Linux, Finger respondió: “Creo que yo lo hice”, y mostró que en las estadísticas del kernel 6.4 su código sumaba 172,346 líneas, alrededor del 0.5% del total.

  • En 2005, cuando era un estudiante universitario sin dinero intentando correr Linux, pensaba en él más o menos una vez por semana por el soporte de la tarjeta inalámbrica Belkin FG… Su driver funcionaba mejor que el driver de Windows que Belkin soportaba.
    A menudo me preguntaba por qué dedicaría su tiempo después del trabajo a hacer de voluntario en algo de hardware que parecía tan menor. ¿No tenía familia? Sí tenía familia. Y hoy esa familia lo perdió.

    • Yo pensaba algo parecido. Me imaginaba a alguien de unos 40 años, empleado de tiempo completo, cansado de proyectos corporativos burocráticos y con varios hijos pequeños, pero resulta que falleció a los 84 años.
      Eso significa que trabajó en esos drivers después de los 60. A esa edad, yo me sentiría afortunado si siquiera recuerdo mi nombre :-)
    • Creo que fue el mejor del mundo en el amplio campo del desarrollo de drivers Wi-Fi para Linux. Un logro realmente valioso. Gracias, Larry Finger.
    • Si no fuera por Larry, tal vez yo todavía no sería usuario de Linux. Un verdadero héroe desconocido.
  • Dejo esto aquí porque quiero que todos vean tanto “Broadcom no proporcionó ningún código para sus equipos” como “por eso Finger hizo dumps y leyó manualmente los registros de hardware para hacer ingeniería inversa de las especificaciones necesarias”. No hay que subestimar lo impresionante de esa acción.
    Yo hice un poco de algo similar. Hice ingeniería inversa de funciones de una laptop, escribí yo mismo software libre para hacerlas funcionar dentro de Linux, y al enviar un correo al fabricante pidiendo documentación, solo recibí páginas de ayuda para usuarios. La mayoría era sobre USB, la interfaz mejor documentada que uno pueda imaginar, y aun así fue difícil.
    Me cuesta siquiera imaginar cómo hizo ingeniería inversa de Wi-Fi. Para mí es una inspiración enorme, y espero algún día poder acercarme a su nivel. Muchísimas gracias por todo su trabajo, y que descanse en paz.

  • No lo reconocí solo por el nombre, pero al ver el usuario lwfinger en el commit de CREDITS lo identifiqué de inmediato. Creo que ese nombre de usuario, y más aún “hadess”, quedarán para siempre en mi memoria.
    Compilar el driver para la tarjeta RTL8723BS fue mi primera experiencia de verdad tocando el funcionamiento interno de Linux, y terminé logrando que Linux corriera casi perfectamente en una pequeña y pésima convertible Intel Baytrail. Documenté el proceso y publiqué un tutorial de instalación de Ubuntu; por las 80 estrellas y la larga discusión debajo, parece que ayudó a bastante gente a seguir usando por un tiempo lo que habría sido basura electrónica con Windows 8.1.

  • Además de Larry Finger, esta semana falleció otro desarrollador del kernel de Linux: https://lwn.net/Articles/979617/

  • La gente sigue burlándose del “año del escritorio Linux”, pero para mí ese año quedó claramente marcado como alrededor de 2007, cuando el Wi-Fi empezó a funcionar casi sin dolor en las ThinkPad.

  • El trabajo de Larry manteniendo varios drivers de vendor de Realtek en GitHub fue enorme para la comunidad. Incluso hoy esos forks muchas veces funcionan mucho mejor que los drivers mainline. Se le va a extrañar. Como dijeron otros, fue una gran inspiración.

  • Descansa en paz. Gracias por el trabajo en los drivers Wi-Fi. NDISWrapper era realmente doloroso.

  • Una figura legendaria. Larry vivió una vida plena, fue mentor de cientos de personas durante años, y su legado seguirá vivo en las personas a las que enseñó e inspiró.