Entrevista con Shuah Khan, Kernel Maintainer & Linux Fellow

Jason Perlow, director de Project Insights y contenido editorial de la Linux Foundation, tuvo la oportunidad de hablar con Shuah Khan sobre sus experiencias como mujer en la industria de la tecnología. Ella analiza cómo la tutoría puede mejorar la diversidad general y la composición de los proyectos de código abierto, por qué los mantenedores de software son importantes para la salud de los proyectos de código abierto como el kernel de Linux, y cómo la inclusión del lenguaje y los códigos de conducta pueden mejorar las relaciones y la comunicación entre los mantenedores de software. y contribuyentes individuales.

JP: Entonces, Shuah, sé que usas muchos sombreros diferentes en la Fundación Linux. ¿Cómo te llamas por aquí estos días?

SK: Bueno, principalmente me llamo un Kernel Maintainer & Linux Fellow. Además de eso, me concentro en dos áreas que son importantes para la salud continua y la sostenibilidad de los proyectos de código abierto en el ecosistema Linux. El primero es traer más mujeres a la comunidad de Kernel y, además, estoy liderando los esfuerzos del programa de tutoría en general en la Fundación Linux. Y en ese rol, además de la tutoría del kernel de Linux, estamos analizando cómo está funcionando el programa de tutoría de la Fundación Linux en general, cómo está escalando. Me aseguro de que la plataforma de tutoría de LFX se amplíe y atienda las necesidades de diversos aprendices y mentores en este puesto.

El programa de mentores de LF incluye varios proyectos en el kernel de Linux, LFN, HyperLedger, Open MainFrame, OpenHPC y otras tecnologías. Los programas de tutoría de la Fundación Linux están diseñados para ayudar a los desarrolladores con las habilidades necesarias, muchos de los cuales son contribuidores de código abierto por primera vez, experimentar, aprender y contribuir de manera efectiva a las comunidades de código abierto.

El programa de mentores ha tenido éxito en su misión de capacitar a nuevos desarrolladores y convertir estos talentosos grupos de posibles empleados capacitados por expertos para empleadores. Varios aprendices graduados han encontrado trabajo. Los nuevos desarrolladores han mejorado la calidad y la seguridad de varios proyectos de código abierto, incluido el kernel de Linux. Se corrigieron varios errores del kernel de Linux, se agregó un nuevo mentor de subsistema y un nuevo mantenedor de controladores ahora es parte de la comunidad del kernel de Linux. Mi más sincero agradecimiento a todos nuestros mentores por ofrecerse como voluntarios para compartir su experiencia.

JP: ¿Cuánto tiempo llevas trabajando en el Kernel?

SK: Desde 2010 o 2011, me involucré en el proyecto de Android Mainlining . Mi primer parche eliminó el controlador pmem de Android .

JP: ¡Vaya! ¿Existe algún subsistema en particular en el que se especialice?

SK: Soy un generalista que se describe a mí mismo. Mantengo el subsistema de autoprueba del kernel , elcontrolador USB sobre IP , la herramienta usbip y la herramienta cpupower . Contribuí al subsistema de medios trabajando en la API de asignación de dispositivos de controlador de medios para resolver problemas de administración de recursos de dispositivos compartidos en los controladores de dispositivos de diferentes subsistemas.

JP: Oye, de hecho usé el controlador USB sobre IP cuando trabajé en Microsoft en Azure. Y también, cuando he usado AWS y Google Compute.

SK: Es un pequeño controlador de nicho utilizado en la computación en nube. Docker y otros contenedores utilizan mucho ese controlador. Así es como proporcionan acceso remoto a dispositivos USB en el servidor para exportar dispositivos que otros sistemas importarán para su uso.

JP: Inicialmente lo usé para cosas de IoT en el espacio de los sistemas integrados. ¿Fue usted el desarrollador principal original o fue una de esas cosas en las que cayó porque nadie más lo estaba manteniendo?

SK: Bueno, doble. Estaba buscando USB sobre IP porque me gusta esa tecnología. dio la casualidad de que el controlador se trajo del árbol de ensayo al kernel de Mainline, me ofrecí en ese momento para mantenerlo. En los últimos años, descubrimos algunos problemas de seguridad con él, porque maneja una gran cantidad de datos del espacio de usuario, así que me divertí mucho arreglando todos esos. .

JP: ¿Qué lo atrajo al sistema operativo Linux y qué lo atrajo a la comunidad de desarrollo del kernel en primer lugar?

SK: Bueno, he estado desarrollando el kernel durante mucho tiempo. Trabajé en LynxOS RTOS , hace un tiempo, y luego en HP / UX, cuando trabajaba en HP, después de lo cual hice la transición al desarrollo de código abierto: el proyecto OpenHPI , para admitir el hardware de servidor en rack de HP, y eso me permitió trabajar mucho más de cerca con Linux en el back-end. Y en algún momento, decidí que quería trabajar con el kernel y formar parte de la comunidad del kernel de Linux. Empecé como colaborador independiente.

JP: Tal vez solo muestre mi propia ignorancia, pero eres la primera desarrolladora de kernel de Linux incondicional que conozco. Quiero decir, había conocido a mujeres desarrolladoras de sistemas operativos centrales antes, como cuando estaba en Microsoft e IBM, pero no para Linux. ¿Por qué crees que nos faltan mujeres y diversidad en general cuando participamos en el código abierto y la industria de la tecnología en general?

SK: Entonces responderé esta pregunta desde mi perspectiva, de lo que he visto y experimentado a lo largo de los años. Tienes razón; probablemente no te encuentres con tantas mujeres incondicionales en el desarrollo de Kernel. He trabajado profesionalmente en esta industria desde principios de la década de 1990, y en cada proyecto en el que he estado involucrado, generalmente soy la única mujer sentada a la mesa. Algo de eso, creo, es cultura y sociedad. Hay algunos roles que nos dicen que son aceptables para las mujeres, incluso yo, cuando estaba pensando en dedicarme a la ingeniería como profesión. Algo tiene que ver con el lugar al que nos guían, como un camino natural.

Existe una resistencia natural a elegir ciertas profesiones que debes superar primero en tu interior y en el exterior. Este proceso es diferente para todos en función de su personalidad y su historia de origen. Y una vez que atraviesa el obstáculo de obtener su título de ingeniería y averiguar en qué industria desea trabajar, existe un nivel de credibilidad en esos entornos de trabajo que debe soportar y perseverar. A veces, cuando entraba a una habitación, sentía que la gente me miraba y pensaba: "¿Por qué está ella aquí?". No te aceptan de inmediato y también debes superar eso. Tienes que entrar y decir: "Estoy aquí porque quiero estar aquí y, por lo tanto, pertenezco aquí". Tienes que tener esa mentalidad. La sociedad te envía señales de que “esta profesión no es para mí”, y debes ser consciente de eso y resistirte. Me considero una ingeniera que resulta ser una mujer en lugar de una ingeniera.

JP: ¿Eres de India, originalmente?

SK: Sí.

JP: Es gracioso; A mi esposa le gusta mucho este programa de Netflix sobre el emparejamiento en India . ¿Está familiarizado con él?

SK: Sí, disfruté de la serie y el documental Una chica adecuada que sigue a tres mujeres mientras navegan tomando decisiones sobre sus carreras y obligaciones familiares.

JP: Para muchos estadounidenses, esta es nuestra primera introducción a cómo es la vida hogareña para los indios. Pero muchas de las mujeres que aparecen en este programa son profesionales, como médicos, abogados e ingenieros. Y son muy ambiciosos, pero claro, la familia intenta ponerlos en matrimonio para encontrarles un marido que sea compatible. Como resultado, puedes aprender sobre los valores y roles tradicionales que todavía quieren que las mujeres desempeñen allí, mientras que al mismo tiempo, muchas mujeres están saliendo de instituciones de educación superior en ese país que buscan carreras técnicas.

SK: La India es un lugar fascinantemente complejo. Pero en general, en un sentido global, tener un ambiente en casa donde tus padres te digan que puedes elegir cualquier profesión que quieras elegir es muy alentador. Fui muy afortunado de tener padres así. Nunca me dijeron que había un papel o un molde en el que necesitaba encajar. Siempre me han dicho, "haz lo que quieras hacer". Que es diferente; No encuentro eso incluso aquí, en los Estados Unidos. Tener ese sistema de apoyo, comenzando en el hogar para decirle, “está abierto a cualquier profesión que desee elegir”, es esencial. De ahí es de donde tiene que venir gran parte del cambio.

JP: Las mujeres en profesiones técnicas y STEM se están volviendo mucho más prominentes en otros países, como China, Japón y Corea. Por alguna razón, en los EE. UU., Tiendo a ver más mujeres ingresar a la profesión médica que a la tecnología dura, y podría ser un nivel de esfuerzo y una recompensa percibida. Puede pasar ocho años convirtiéndose en médico u ocho años convirtiéndose en científico o ingeniero, y puede ser igualmente difícil, pero la compensación al final puede que no sea la misma. Es caro obtener una educación y lleva mucho tiempo y trabajo duro, independientemente de la disciplina profesional.

SK: También escuché que a las mujeres también les gusta ingresar a profesiones en las que pueden marcar una diferencia en el mundo, un toque humano, por así decirlo. Entonces, eso puede traducirse en que elijan carreras en las que puedan tener un mayor impacto en las personas, y pueden ver las carreras en tecnología como que no tienen esos mismos atributos. Quizás cuando pensamos en atraer mujeres a los campos de la tecnología, quizás tengamos que promover aspectos tecnológicos que marcan la diferencia. Eso puede estar cambiando ahora, como el proyecto LF Public Health (LFPH) que iniciamos el año pasado. Y con LF AI & Data Foundation , también estamos marcando una diferencia en la vida de las personas, como detectar terremotos o analizar el cambio climático . Si promocionáramos proyectos como estos, podríamos atraer a más mujeres.

JP: Claramente, una de las áreas de la tecnología en las que puede marcar la diferencia es en el código abierto, ya que LF está albergando algunos tipos de proyectos existenciales y de muy alto concepto, como LF Energy , por ejemplo. No tenía idea de qué estuvo involucrado en él y cuáles eran sus objetivos hasta que hablé con Shuli Goodman en profundidad al respecto. Con el programa de mentores, asumo que lo necesitamos para atraer nuevos talentos, porque a medida que personas como nosotros envejecen, se jubilan y abandonan el campo, necesitamos nuevas personas para reemplazarlos. Así que supongo que la tutoría, para la Fundación Linux, es una inversión en nuestras propias tecnologías, ¿correcto?

SK: Correcto. La incorporación de nuevos desarrolladores al redil es el objetivo principal, por supuesto, y al mismo tiempo, considero que la LF como mentor proporciona ese campo de juego neutral y nivelado en toda la industria para todos los proyectos de código abierto. En segundo lugar, ofrecemos una plataforma de autoservicio, LFX Mentorship , donde cualquiera puede entrar y comenzar su proyecto. Entonces, cuando comenzó la pandemia de COVID-19, expandimos este programa para ayudar a las personas desplazadas : estudiantes, etcétera, y proyectos menos visibles. No todos los proyectos suelen recibir tanta financiación o atención como otros, como un kernel de Kubernetes o Linux, entre los proyectos del programa de mentores COVID que estamos financiando. Estoy particularmente orgulloso de apoyar un proyecto relacionado con el cambio climático, el uso del aprendizaje automático para predecir la deforestación .

El enfoque de autoservicio nos permite financiar y agregar nuevos desarrolladores a proyectos donde se necesitan. Las tutorías de LF son oportunidades de trabajo remoto a las que pueden acceder los desarrolladores de todo el mundo. Vemos a personas inscribirse en proyectos de tutoría de lugares que no hemos visto antes, como África, etc., creando así un campo de juego nivelado.

La otra cosa en la que estamos tratando de centrarnos más es en cómo conseguir mantenedores. Conseguir nuevos desarrolladores es un punto de partida, pero ¿cómo conseguimos que sigan trabajando en los proyectos en los que son mentores? Como dijiste, algún día tú, yo y otros que trabajamos en estas cosas nos jubilaremos, tal vez dentro de cinco o diez años. Este es un problema más difícil de resolver que capacitar y agregar nuevos desarrolladores al proyecto en sí.

JP: Y eso es fundamental para nuestra misión de seguridad de la cadena de suministro de software . Una cosa es tener este proyecto nuevo y llamativo, y luego todos estos desarrolladores dicen, "oh wow, esto es genial, quiero unirme", pero luego, tienes que tener un cierto número de personas manteniéndolo para que funcione. tienen viabilidad a largo plazo. Como aprendimos en nuestro estudio de software libre con Harvard , hay componentes en el sistema operativo Linux que son así. Quizás incluso módulos dentro del propio kernel, supongo que tal vez solo tenga una o dos personas manteniéndolo activamente durante muchos años. ¿Y qué pasa si esa persona muere o ya no puede trabajar? ¿Qué pasa con ese código? Y si alguien no está familiarizado con ese código, podría abandonarse. Ese es un problema grave en el código abierto en este momento, ¿no?

SK: Correcto. Lo hemos visto con SSH y otras áreas críticas para la seguridad. ¿Qué pasa si no tienes el ancho de banda para arreglarlo? ¿O el dinero para arreglarlo? Terminé ofreciéndome como voluntario para mantener una herramienta por una razón similar cuando el mantenedor ya no podía contribuir con regularidad. Es verdad; tenemos muchos controladores donde el ancho de banda del mantenedor es un problema en el kernel. Entonces, la pregunta es, ¿cómo hacemos crecer ese grupo de talentos?

JP: ¿Necesitamos una bolsa de trabajo o algo? Necesitamos X número de mantenedores. Entonces, deberíamos decir: "Oye, sabemos que quieres unirte al proyecto del kernel como colaborador y tenemos otras personas trabajando en esto, pero realmente necesitamos tu ayuda para trabajar en otra cosa, y si haces un buen trabajo, conocemos toneladas de empresas dispuestas a contratar desarrolladores como usted "

SK: Con el kernel, estamos hablando de crecimiento orgánico; es como cualquier otro proyecto de código abierto. No es un escenario tradicional de contratación y colocación de talentos. Orgánicamente tienen que tener credibilidad, y deben adquirirla a través de la experiencia y las relaciones con las personas en esos proyectos. Acabamos de hablar de ello en la anterior Conferencia de fontaneros de Linux , tenemos áreas donde realmente necesitamos mantenedores, y el archivo MAINTAINERS muestra áreas donde necesitan ayuda.

Para responder a su pregunta, no es una de esas cosas en las que podemos buscar personas para desempeñar ese papel, como LinkedIn o uno de los otros sitios de trabajo. Tiene que ser un cumplimiento orgánico de ese rol, por lo que el programa de mentores es esencial para crear esas relaciones. Es la espada de doble filo del código abierto; es tanto la fuerza como la debilidad. Las personas deben tener interés en convertirse en mantenedores y también el compromiso de serlo a largo plazo.

JP: Entonces, ¿cuál ve como el futuro de sus esfuerzos de tutoría y diversidad en la Fundación Linux? ¿Qué es lo que más le entusiasma de lo que está por venir en el que está trabajando?

SK: Veo la mentoría de la Fundación Linux como un enfoque de tres frentes para proporcionar seminarios web no estructurados, cursos de capacitación y programas de mentoría estructurados. Todos estos esfuerzos se combinan para promover una comunidad de código abierto diversa, saludable y vibrante. Así que durante los últimos meses, hemos estado transformando nuestro formato de estilo de tutoría de velocidad en un formato de seminario web ampliado: la serie LF Live Mentorship . Esto tendrá la función de hacer crecer nuestro próximo nivel de experiencia. Como complemento a nuestros tradicionales programas de mentoría, se trata de webinars y cursos de una hora y media de duración que realizamos varias veces al mes y que abordan áreas técnicas específicas en el desarrollo de software. Por lo tanto, podría cubrir cómo escribir excelentes registros de confirmación, por ejemplo, para que se acepten sus parches, o cómo encontrar errores en el código C. Los registros de confirmación son una de esas cosas que son importantes para el mantenimiento del código, por lo que promover una buena documentación es beneficioso. Los seminarios web brindan una manera para que los expertos con poco tiempo compartan sus conocimientos con un compromiso de unas pocas horas y ofrecen una oportunidad de aprendizaje a su propio ritmo a los nuevos desarrolladores.

Además, he iniciado el foro de mentoría del kernel de Linux para que los desarrolladores y sus mentores se conecten e interactúen con otros participantes en el programa de mentoría del kernel de Linux y mentores graduados para guiar a los nuevos desarrolladores. Comenzamos la tutoría del kernel de Linux en la primavera de 2021 y estamos planeando para el verano y el otoño.

Un gran desafío es que nos faltan mentores para poder escalar el programa estructurado. Resolver el problema requiere la ayuda de las empresas miembros de LF y otros para animar a sus empleados a ser mentores, "se necesita un pueblo", dicen.

JP: Entonces, esta serie de seminarios web y el programa de tutoría ampliado ayudarán a los desarrolladores a cultivar habilidades tanto duras como blandas.

SK: Correcto. Lo que pasa con los seminarios web es que si hablamos de esto desde una perspectiva de diversidad, es posible que no tengan tiempo para una tutoría completa, generalmente como un compromiso de tres o seis meses. Esto podría ayudarlos a ampliar sus recursos para el autoestudio. Cuando pedimos comentarios a los desarrolladores sobre qué más necesitan para aprender nuevas habilidades, escuchamos que no tienen recursos, no tienen tiempo para estudiar por sí mismos y aprenden a convertirse en desarrolladores de código abierto y mantenedores de software. Esta serie de seminarios web cubre temas generales de software de código abierto, como el kernel de Linux y cuestiones legales. También podría cubrir temas específicos de otros proyectos LF como CNCF, Hyperledger, LF Networking, etc.

JP: ¿ Algo más que debamos saber sobre el programa de mentores en 2021?

SK: En mi opinión, atraer diversidad y gente nueva es doble. Una de las cosas en las que estamos trabajando es el lenguaje inclusivo. Ahora, no estamos hablando de frenar las palabras duras, aunque eso es un componente de lo que estamos viendo. El inglés que usamos tú y yo en Norteamérica no es el mismo que se usa en otros lugares. Por ejemplo, cuando usamos términos centrados en América del Norte en nuestras comunicaciones por correo electrónico, como cuando un mantenedor se comunica en una lista con personas de Corea del Sur, algo como "donde el caucho se encuentra con el camino" puede no tener sentido para ellos en todos. Entonces tenemos que ser conscientes de eso.

JP: Sé que está participando en el Comité del Código de Conducta del kernel de Linux y desarrollando activamente el manual. Cuando me uní a la Fundación Linux, aprendí lo que hacen los Community Managers y nuestro modelo de gobierno. No me di cuenta de que incluso necesitábamos tener códigos de conducta para proyectos de código abierto. Llevo 25 años cubriendo el código abierto, pero vengo del mundo empresarial, como IBM y Microsoft. Los códigos de conducta suelen ser cosas que el oficial de Recursos Humanos le muestra durante su incorporación inicial, como parte de la revisión de su manual del empleado. Se espera que siga esas reglas como condición de empleo.

Entonces, ¿por qué necesitamos códigos de conducta en un proyecto de código abierto? ¿Es porque se trata de personas que provienen de todo tipo de orígenes, empresas y formas de vida diferentes, y es posible que no hayan interactuado antes en esta forma de proyecto organizado y distribuido? ¿O se trata de personalidades, personas que interactúan entre sí a larga distancia y correo electrónico, lo que crea situaciones que pueden surgir debido a esa separación?

SK: Sí, yo también salgo del mundo empresarial y, por supuesto, tuvimos que practicar esos códigos de conducta en ese entorno. Pero surgen situaciones de conducta con las que tienes que lidiar en el mundo empresarial. Siempre hay escenarios interpersonales con los que puede ser difícil o desafiante trabajar; el mundo corporativo no es mejor que el mundo del código abierto en ese sentido. Es solo que todo eso sucede detrás de un escenario cerrado.

Pero no hay responsabilidad en el mundo del código abierto porque todos participan por su propia voluntad. Entonces, en un proyecto cerrado pequeño y tradicional, dentro del mundo corporativo, en el que puede haber 20 personas involucradas, es posible que tenga una o dos personas con las que podría ser difícil trabajar. Lo mismo sucede y se multiplica muchas veces en la comunidad de código abierto, donde tienes cientos de miles de desarrolladores trabajando en muchos proyectos de código abierto diferentes.

El mayor problema con este tipo de proyectos cuando te encuentras con situaciones como esta es lidiar con la participación en foros públicos. En el mundo empresarial, esto se puede abordar en privado. Pero en una lista de correo pública, si te están menospreciando o criticando, puede ser extremadamente humillante.

Estas interacciones no siempre son casos extremos; podrían ser simples como un mantenedor o un desarrollador líder que brinde comentarios negativos, entonces, ¿cómo los das? Tiene que hacerse de forma constructiva. Y eso es cierto para todos nosotros.

JP: ¿ Algo más?

SK: Además de aportar nuestros aprendizajes y aplicar esto al proyecto del kernel, también lo estoy haciendo en el proyecto ELISA , donde presido el Comité Directivo Técnico, donde estoy uniendo la comunicación entre los expertos del kernel y las comunidades de seguridad. Para asegurarnos de que podemos usar el kernel de la mejor manera en aplicaciones críticas para la seguridad, en la industria automotriz y médica, etc. Se pueden aprender muchas lecciones en términos de conectar los puntos, definiendo claramente lo que es esencial para que Linux funcione de manera efectiva en estos entornos, en términos de confiabilidad. ¿Cómo podemos pensar de manera más proactiva en lugar de involucrarnos en la extinción de incendios en términos de seguridad o errores del kernel? Como resultado de esto, también estoy trabajando en los cambios de kernel necesarios para admitir estos escenarios de uso críticos para la seguridad.

JP: Antes de irnos, ¿qué te apasiona además de todo este software? Si te queda tiempo libre, ¿qué más te gusta hacer?

SK: Leo mucho. La cuarentena de COVID me ha brindado muchas oportunidades para leer. Me gusta hacer senderismo, raquetas de nieve y otras actividades al aire libre. Vivir en Colorado me brinda amplias oportunidades para estar en la naturaleza. También me gusta ir de mochilero, aunque no pude hacerlo el año pasado debido a COVID, me gusta hacer viajes de mochilero con mi hijo. También me encanta ir a conferencias y viajar, así que espero volver a hacerlo tan pronto como podamos.

Hablar de mochilero me recordó el viaje de mochilero de dos días y 22 millas durante el verano de 2019 con mi hijo. Me pueden ver en la imagen de arriba al final del camino, llevando una caja de osos, un saco de dormir y una hamaca. Valió la pena lastimarme el pie y lastimarme en lugares que ni siquiera sabía que tenía.

JP: Impresionante. Disfruté hablando contigo hoy. Estoy tan feliz de poder conocerte virtualmente.

La entrevista posterior con Shuah Khan, Kernel Maintainer & Linux Fellow apareció primero en Linux Foundation .