¿Quién está detrás de Linux? Hoy Mauro Carvalho Chehab

Desde la página Linux.com siguen con su serie de entrevistas a los principales desarrolladores que trabajan en el desarrollo del kernel de Linux. Por ellas han pasado hasta ahora Linus Torvalds, abriendo la serie, Thomas Gleixner, Sara Sharp, Jean DelvareGreg K-HDave JonesPaul Mundt, Alan Cox, Arnd Bergmann, John Linville, Johannes BergMartin K. Petersen , Julia Lawall , Ben Hutchings y hoy le toca el turno a Mauro Carvalho Chehab.

Desde este blog (https://victorhckinthefreeworld.wordpress.com/) te traduzco las entrevistas para que sepas quien está detrás del kernel de Linux. Que personas lo desarrollan y hacen que crezca. Puedes ver todas las entrevistas traducidas pinchando aqui.

Si quieres ver el original en inglés visita la página original pinchando aqui. Escrito por Jennifer Cloer a ella y la página original pertenecen los derechos de autor, gracias por permitir la traducción y difusión. Si quieres usar esta traducción lo puedes hacer pero por favor atiende a la licencia CC-by-sa del blog, citando expresamente la fuente original del artículo en inglés, y este blog como creador de la traducción. Empezamos…

Nombre:
Mauro Carvalho Chehab. Nick: mchehab

¿Qué papel desempeñas dentro de la comunidad y en que subsistemas trabajas?
Soy el mantenedor del subsistema de medios en el Kernel. Esto incluye drivers para mandos a distancia, webcams, captura en directo de audio y video, televisión analógica y digital, receptores y transmisores de AM/FM.

Soy el principal contribuidor del subsistema EDAC. Y como tal estoy trabajando actualmente en una mejor integraciónde varios subsistemas relacionados con el reporte de errores hardware (EDAC, APEI GHES, MCE) con el fin de trabajar juntos.

También trabajo en lo relacionado con herramientas como xawtv, v4l-utils, edac-utils y algunas otras.

¿De dónde recibes tu nómina?
En agosto, celebré cuatro años en Red Hat. Antes de eso, solía mantener el subsistema multimedia en mi tiempo libre, mientras trabajaba en algo que no tenía nada que ver (mi anterior cargo fue para planear e implementar los sistemas de telecomunicaciones y la red de gestión de telecomunicaciones – trabajé como tal en una gran empresa Brasileña)

¿En qué parte del mundo vives, y porque allí?
Ahora estoy viviendo en la parte suroeste de Brasil. Antes de eso estuve viviendo en Brasilia. Mi mujer, mis hijos y yo solíamos padecer bastante el clima seco y desértico de Brasilia, así que migramos a una bonita ciudad de la zona interior del estado de São Paulo, en el valle del río Paraiba, una ciudad con buenas infraestructuras, y buenas escuelas para los niños.

Ahora estamos cerca de una gran ciudad como São Paulo (pero no muy cerca como para sufrir los problemas normales de una gran ciudad) así como a algunos lugares agradables en la montaña y en la playa.

¿Cual es tu herramienta favorita para el desarrollo de software?¿Y que tienes instalado en tu PC?
Utilizo las herramientas normales: git, gcc, gmake, bash, perl un cliente de correo y un navegador web.
No me preocupa mucho sobre el cliente de correo, así que utilizo Thunderbird la mayor parte del tiempo. Aunque también utilizo pine, claws-mail y/o evolution depende de mi estado de ánimo. Como todas las carpetas están instaladas en un servidor imap local, no importa mucho que cliente de correo utilice.

En general prefiero utilizar herramientas basadas en modo texto. Pero no estoy en contra de las ayudas de las interfaces gráficas. Para la edición de archivos utilizo nano la mayor parte del tiempo. Así cuando necesito realizar alguna tarea compleja Kate es mi opción.

He escrito varios scripts en bash y perl que me ayudan en el manejo de parches.

La distro que utilizo actualmente es Fedora, porque me ofrece todo lo que necesito. Generalmente instalo la última versión estable., me encanta ver las mejoras en mi escritorio. Aunque, no me gusta mucho cuando las características que utilizo en algunas interfaces gráficas se eliminan en una nueva versión de la misma aplicación.

Respecto a las interfaces gráficas, utilizo 3 monitores, ya que mantengo muchas ventanas abierta al mismo tiempo. Desafortunadamente muchas interfaces gráficas no soportan bien más de un monitor. Así que siempre estoy intentando una nueva para ver si esta funciona bien con mi entorno de escritorio (KDE 3 y Gnome 2 es lo que utilizo para trabajar, pero ya no se encuentran en las modernas distros.)

Así que voy cambiando ente xfce, lxce, KDE 4 y GNOME 3. Desde Fedora 17, Gnome 3 casi funciona con varias extensiones habilitadas. Así que actualmente estoy tratando de vivir en paz con Gnome 3 ya que, incluso corriendo xfce o lxce, la mayoría de las aplicaciones de GNOME 3 se carga núcleo de todos modos. Así que los ahorros de memoria con xfce o lxce generalmente no se aprovechan, y algunos pequeños problemas pueden surgir por no tener la shell de GNOME 3 para gestionarlos.

¿Cómo te involucraste en el desarrollo del kernel de Linux?
Tengo una larga historia con Linux. La primera versión de Linux que utilicé fue Slackware 0,97 con Kernel 1.0, que instalé para trabajar como un router de Internet (tenía la suerte en ese momento de tener la asombrosa cantidad de 9.600 Kbps de enlace dedicado a Internet en mi escritorio y quería compartirlo con mis amigos en la oficina). Traté primero en utilizar un router TCP / IP de código abierto, llamado KA9Q, pero no era estable en mi sistema, por lo que un amigo me sugirió Linux en su lugar.

Desde entonces, he instalado Linux en mi PC de escritorio y utilizado Linux y en varios lugares con el fin de administrar las oficinas centrales de Plain Old Telephony Service. En ese tiempo usar código abierto y hacer un desarrollo interno dentro de la compañía de telecomunicaciones era considerado una blasfemia, incluso cuando estaba ahorrando diez millones de dólares al año con una solución basada en Linux. Por lo tanto, he experimentado una sensación creciente de que yo debería devolver parte a la comunidad debido a los grandes servicios prestados por el software de código abierto en esa época.

Mis comienzos como estudioso del Kernel fue por accidente. En 2005 estaba pensando en trabajar un título de doctorado de ingeniería. Como las tesis de mi graduación y las 2 anteriores se hicieron en el área de proceso de imágenes, mi idea era trabajar escribiendo algún códec de vídeo. Así que compré una tarjeta capturadora de TV que supuestamente funcionaba en Linux.

Desafortunadamente, el formato estándar utilizado en Brasil (PAL/M) no estaba soportado. Sin embargo, todo para PAL / M parecía estar allí en el código del controlador. Sin embargo, los vídeos se veían en blanco y negro.

Así que decidí arreglarlo por mí mismo, y compartir los logros. Me llevó sobre dos semanas trabajando en ese parche, volviendo a leer viejos libros sobre TV analógica para ver los detalles de los stándares de vídeo y leer documentación sobre cómo programar el dispositivo. Al final del día, los colores no estaban funcionando debido a un desplazamiento de tiempo 0,1% en la parte del driver responsable de la programación del decodificador de vídeo de tiempo de muestreo. El resultado fue de parche de dos líneas de código 😉

Por ese tiempo, Randy Dunlap y Andrew Morton me ayudaron mucho para aportar mi parche, dándome las instrucciones adecuadas de cómo compartirlo en la lista de correo de Linux Kernel. Hoy en día, cuando recibo un parche de un remitente nuevo, me acuerdo de la paciencia que tenía oy y trato de no ser gruñón con el remitente.
Después de la solución al PAL/M, encontré otros errores que me condujeron a reescribir el módulo dentro del subsistema y varias otras partes en el propio driver. También otros desarrolladores me preguntaron cómo contribuir con sus parches y más tarde me pidieron oficialmente que me encargara del mantenimiento. Lo que no sabía era que iba a significar eso en mi vida, era ingenuo y lo suficientemente valiente para hacerme cargo 😉

Algún tiempo después, me dí cuenta que algo que empezó como una simple solución a un problema se convirtió en un trabajo serio. Así que fue el siguiente paso lógico para mí, dejar atrás mis 20 años de carrera para dedicarme por completo a Linux y al código abierto.

¿Qué es lo que hace que sigas interesada en esto?
Cada nuevo driver que escribo es como un nuevo hijo: Verle dar sus primeros pasos, y llegar a ser útil para alguien más es muy excitante.

También me gusta arreglar diseños que no funcionan, limpiar código y ayudar a otros a contribuir. El gran logro del código abierto y Linux es debido a la colaboración, y me siento orgulloso de ayudar en este éxito y ayudar también a los usuarios a que tengan drivers para sus dispositivos en Linux.

¿Qué es lo más gracioso o curioso que te ha sucedido durante el proceso de desarrollo colaborativo (discusión encarnizada, petición de un código ridículo, un logro increíble)?
No hay un hecho aislado que resaltar. En general ocurre cuando veo nueva gente empezando con parches simples y de repente llegan a ser contribuidores activos.

También está muy bien cuando drivers fuera de la rama estable del kernel son incorporados a este. Tuvimos varios casos de esos dentro del subsistema de medios: gente que trabajaba por su cuenta sobre un proyecto finalmente de daba cuenta que el unir su código es bueno no sólo para ellos sino para todos aquellos que quieren utilizar su código. La fusión de estos códigos no es fácil, ya que los desarrolladores en general se quejan del estilo de codificación de Linux. Pero al final, los drivers tienden a ser mejores, a medida que más gente revisa el código y ofrece soluciones.

¿Cual sería tu consejo para los desarrolladores que quieran implicarse?
No asustarse por aportar parches; si hay algo que no funciona o algo que mejorar por favor escribe un parche y compártelo.

Es muy probable que la gente haga malos comentarios sobre tu primer parche, diciendo que el parche no es correcto o que no sigue el estilo de código de Linux. Así que mi segundo consejo es (citando a Galaxy Quest): “Nunca abandones, nunca te rindas”. Vuelve a hacer el parche hasta que lo consigas. Puede que te lleve algunas intentonas hasta que lo consigas, pero aprenderás un montón durante el proceso.

Y mi tercer consejo: No te sientas intimidado por el lenguaje Inglés! Conozco mucha gente que se retrae cuando tiene que mandar sus parches porque no hablan inglés. Los parches son revisados por la calidad del código no por el vocabulario. De acuerdo que una buena descripción es una parte de ello, pero si no dominas el lenguaje al 100%, eso es algo que tiene solución. Algunos de los que revisan, incluyéndome a mí, tenemos el hábito de arreglar los comentarios mal escritos cuando los parches no están adecuadamente descritos o cuando se advierte que el escritor del parche tiene problemas con el idioma.

Leer documentación en el directorio /Documentation antes de subir un parche ayuda bastante a realizar mejor el código.

El proyecto de Greg K-H : Linux Drive Project es un buen punto de partida para aquellos que quieren implicarse.

¿Qué escuchas mientras programas?
El sonido del silencio 😉 Generalmente prefiero no ser molestado por ningún sonido mientras programo.

Cuando realizo un trabajo más rutinario, a veces escucho buena música. Soy muy ecléctico cuando escucho música: Me gusta la música clásica, rock, country, música internacional, ópera, ópera rock y por supuesto estilos brasileños (Samba, Bossa nova, Chorinho, old guard, new guard, Tropicalia, Sertaneja, rock de Brasilia, rock Brasileño, etc) también escucho nuevas voces como Adele.

Normalmente, al final de un día de trabajo, o cuando estoy muy estresado o si tengo que esperar una compilación que tarda bastante, tomo una guitarra (o un bajo) y trato de tocar una canción. Esa es una buena manera de deshacerse del estrés diario y darle a mi cerebro un poco de tiempo y oxígeno para pensar cómo resolver algún asunto complejo.

¿En qué lista de correo o en qué canal IRC puede encontrarte la gente?¿En que conferencias?
A la lista de correo de “media subsystem” que es: linux-media@vger.kernel.org. A la lista de correo de EDAC que es: linux-edac@vger.kernel.org. Normalmente estoy registrado en freenode en las salas de IRC: #v4l and #linuxtv. También estoy en OFTC en el servidor de IRC en las salas: #kernel-br (una iniciativa de la comunidad de desarrolladores del kernel en Brasil como una manera de ayudar a la gente que habla Portugués a empezar a conocer el kernel.)

En general no soy muy activo en el IRC, porque puede ser una gran distracción. Así que mantengo un bot siempre conectado y de vez en cuando me paso a echar un vistazo a los logs, a veces se discute sobre cómo tareas de desarrollar parches.

En cuanto a las conferencias, es más variable. Desde el año 2008, hacemos al menos una conferencia anual para el subsistema de medios de comunicación. En general suelo acudir. También suelo ira la Cumbre del Kernel de Linux y sus conferencias.

Enlaces de interés

Página de G+ | plus.google.com

BR-Linux.org | br-linux.org/2010/tv-digital-brasileira-no-linux-mais-drivers-experimentais-disponiveis/

Puedes ver las entrevistas que he traducido aqui: victorhckinthefreeworld.wordpress.com/30-entrevistas-a-desarrolladores-kernel-linux/ 

—————————————————-

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.