
El 5 de octubre de 2024 estalló una tensa discusión entre ambas partes. Linus TorvaldsCreador del kernel de Linux, y Kent Overstreetel desarrollador principal del proyecto Bcachefs Sistema de archivos. Torvalds expresó su frustración con el enfoque de Overstreet hacia el desarrollo de Bcachefs, particularmente la falta de pruebas y colaboración antes de enviar parches.
Kent Overstreet defendió su enfoque, enfatizando el rápido ritmo de desarrollo y la necesidad de una rápida iteración. La discusión continúa escalando, Torvalds amenaza con eliminar bcachefs del núcleo principallo que llevó a Overstreet a defender su compromiso con Linux.
En este artículo resumiremos brevemente la situación actual entre Linus Torvalds y Kent Overstreet con respecto al sistema de archivos Bcachefs.
Linus Torvalds critica a los desarrolladores de Bcachefs por falta de pruebas y colaboración
En una conversación reciente en la lista de correo principal de Linux, Linus TorvaldsEl creador y desarrollador principal del núcleo de Linux expresa su opinión Decepcionado con el manejo del sistema de archivos bcachefs por parte de Kent Overstreet.
Estoy realmente cansado de que Kent esté aquí.
Estos tienen tiempos de envío que comienzan anoche. Esto me hace preguntarme cómo
Se hacen muchas pruebas.Antes de que empieces a quejarte de nuevo sobre cómo solucionar el error,
Déjame recordarte el error de compilación del Big Endian.
máquina porque su parche no tiene pruebas fuera de usted
Árbol.
escribió Linus en la lista de correo.
Linus Torvalds y Kent Overstreet: El caos del desarrollo de Bcachefs
Este intercambio comenzó cuando Kent Overstreet envió una serie de correcciones para los próximos bcachefs. Linux 6.12-rc2 liberar. Estas correcciones abordan una variedad de problemas, incluidos problemas de LRU fragmentados, manejo de errores operativos registrados y correcciones de conexión del sistema de archivos. Vale la pena señalar que estas correcciones se enviaron al repositorio personal de Overstreet sin revisión pública previa ni discusión en la lista de correo.
Esta falta de transparencia provocó duras críticas por parte de Torvalds, quien expresó su preocupación por las pruebas limitadas que recibieron las correcciones antes de comprometerse con el núcleo principal. Señaló incidentes recientes en los que un parche de bcachefs provocó que fallara una compilación. máquina big endianenfatiza la necesidad de realizar pruebas exhaustivas fuera del propio entorno del desarrollador.
Torvalds continuó criticando el modelo de desarrollo general de Overstreet, lamentándose Falta de contribuciones significativas de otros desarrolladores. y la naturaleza aparentemente apresurada de las correcciones de errores enviadas cerca de la fecha límite de lanzamiento.
Linus publicó esta respuesta en respuesta a la respuesta de Kent:
Espero y espero que bcachefs sea una línea principal
En realidad, es propicio para el desarrollo. Pero ese no es el caso. Básicamente sigues siendo el mismo.
único desarrolladorno hay ninguna señal real de que esto vaya a cambiar, y usted
Parece que quieren enviarme algo que nadie más ha probado nunca.
Sería bueno verlo un día antes del lanzamiento de la próxima versión rc.
También instó a Overstreet a involucrarse más activamente con la comunidad, seguir prácticas de desarrollo establecidas y priorizar el desarrollo colaborativo sobre un enfoque individual.
Respuesta de los desarrolladores de Bacachefs
Kent Overstreet respondió que estos compromisos, aunque recientes, representan correcciones desarrolladas durante las últimas dos semanas. Defendió su enfoque enfatizando el ciclo de retroalimentación positiva que mantiene con sus usuarios y la rápida corrección de errores que se benefician de esta interacción directa.
La fecha /commit/ es de anoche porque perfeccioné el compromiso
mensajes y reordenar hasta el último momento posible (siempre hago correcciones más pequeñas
Colóquelo al frente y arregle las áreas que puedan necesitar retrabajo).La gran mayoría de estas correcciones se realizaron hace aproximadamente dos semanas.
Dijo Kent.
También lo comparó con las primeras etapas del desarrollo central de Linux, recomendando un enfoque más flexible en las primeras etapas del ciclo de vida del proyecto.
Torvalds refuta el argumento de Kent
Sin embargo, Torvalds rechaza estos argumentos e insiste en que los procesos establecidos existen por una razón y que seguirlos beneficia a todos los involucrados.
Descartó los intentos de Overstreet de comparar la situación actual con los primeros días de Linux, enfatizando que el proyecto aprendió de experiencias pasadas y evolucionó sus prácticas de desarrollo en consecuencia.
Afirmar que no teníamos estas reglas hace veinte años
Simplemente estúpido. Los tenemos ahora porque aprendimos mejor.——Linus Torvalds.
Kent Overstreet desafía a Torvalds a escribir su propio sistema de archivo
La conversación se intensificó y ambas partes expresaron frustración con el estilo de comunicación del otro y su falta de voluntad para llegar a un acuerdo.
Overstreet defendió su compromiso de desarrollar un sistema de archivos fuerte y confiable para Linux, pero cuestionó el valor de las «reglas ascendentes» cuando su razonamiento y sus procesos parecían ser ignorados. En una respuesta frustrada, Overstreet desafió a Torvalds a escribir su propio sistema de archivo Si tan solo tuviera tanta confianza en sus métodos.
Si estás convencido de que sabes más, te invito a empezar a escribir tu
propio sistema de archivos. A por ello.——Kent Overstreet.
Torvalds amenaza con sacar a Bcachefs de la línea principal
Torvalds respondió que su intención podría haber sido Eliminar bcachefs del núcleo principal Si Overstreet continúa ignorando los procesos de desarrollo establecidos y la participación comunitaria, cualquier cosa sucederá.
Estoy considerando eliminar completamente bcachefs de la línea principal.
Árbol. Porque has demostrado repetidamente que no estás interesado.
Intentando que la línea principal funcione.——Linus Torvalds.
Cuestiona el propósito de que bcachefs exista en el árbol principal si sigue siendo un proyecto personal Rara vez se consideran la integración y la colaboración.
Principales divergencias en el desarrollo de Bcachefs
El principal desacuerdo entre Linus Torvalds y Kent Overstreet se centró en el proceso de desarrollo del sistema de archivo bcachefs, específicamente en lo que respecta a las pruebas, la participación de la comunidad y el cumplimiento de las principales prácticas de desarrollo centrales.
La crítica de Linus:
- Pruebas inadecuadas: Linus expresó su frustración con la percepción de que Kent no probó los cambios en su código, destacando en particular una falla reciente en la compilación de una máquina big-endian que había llegado a la versión rc. Creía que Kent envió parches no probados sin una revisión adecuada por parte de otros.
- Falta de participación comunitaria: Linus criticó el estilo de desarrollo de Kent por ser demasiado insular y no involucrar a la comunidad de desarrollo central más amplia. Señaló que Kent sigue siendo el desarrollador principal, con una participación limitada de otros. También estaba insatisfecho con la frecuente falta de discusión pública sobre los parches de Kent antes de su presentación.
La defensa de Kent:
- Iteración rápida y comentarios de los usuarios: Kent cree que bcachefs aún se encuentra en las primeras etapas de desarrollo y requiere un ciclo de iteración rápido, centrándose en corregir errores e incorporar comentarios de los usuarios. Dio prioridad a la corrección de errores en lugar de un enfoque más lento y cauteloso centrado en evitar regresiones.
- Pruebas existentes y participación comunitaria: Kent defendió sus prácticas de prueba, diciendo que confiaba en una base de usuarios que proporcionaba comentarios rápidos y que a menudo descubría problemas la mañana después de impulsar un cambio. Afirma interactuar activamente con usuarios y desarrolladores a través de comunicación directa en IRC. Él cree que involucrar a otros desarrolladores en la revisión de pequeñas correcciones de errores es improductivo y ha llevado a resultados improductivos en el pasado.
- Progreso y estabilidad de bcachefs: Kent destacó avances significativos en bcachefs, demostrando que se está volviendo cada vez más estable y ya más poderoso de lo que ha sido durante mucho tiempo. sistema de archivos btrfs. Él cree que su enfoque de desarrollo, aunque diferente de las especificaciones básicas establecidas, fue eficaz para lograr este progreso.
Respuestas de otros usuarios
un usuario, Carl E. Thompsonproporciona una perspectiva sobre esta situación y recomienda migrar temporalmente bcachefs a un modelo de desarrollo fuera del árbol. Él cree que esto permitirá a Overstreet mantener la velocidad de desarrollo que desea y, al mismo tiempo, brindará a los usuarios una mayor flexibilidad para elegir una combinación de sistemas centrales y de archivo.
Thompson también señaló que la actualización de bcachefs introdujo regresiones que afectaron su capacidad para utilizar el núcleo candidato de versión. Señala un ejemplo específico en el que los problemas de bcachefs informados en el núcleo 6.12-rc lo hicieron dudar en comprar una computadora portátil nueva que requiriera esa versión del núcleo.
Además, cuestionó la postura de Overstreet sobre la estabilidad del kernel en las versiones candidatas, indicando una desconexión en su comprensión de lo que significa «candidata a la versión».
Overstreet agradeció los comentarios de Thompson, particularmente en relación con los problemas de regresión encontrados. Expresó sorpresa por la magnitud de los problemas y pidió detalles para mejorar las pruebas de regresión de bcachefs.
cao sioOtro destacado desarrollador central de Linux se unió a la conversación para refutar la afirmación de Overstreet de que la participación de la comunidad en las pruebas automatizadas de sistemas de archivos es limitada.
Destacó los marcos de prueba existentes, como {kvm,gce,android}-xfstests y Devopsestá disponible para otros desarrolladores y cuenta con contribuciones de varias personas.
Overstreet respondió que el sistema de pruebas de Ts'o no era de acceso público para la comunidad en general y carecía de un panel centralizado o de una configuración de integración continua. Reiteró su creencia de que se necesita una solución de prueba estandarizada que todos puedan usar y destacó sus esfuerzos para crear dicho sistema.
No sabemos cómo terminará este conflicto.
El acalorado intercambio entre Torvalds y Overstreet reveló las complejidades de gestionar grandes proyectos de código abierto y el delicado equilibrio entre las contribuciones individuales y la colaboración comunitaria.
Queda por ver cómo se resolverá este conflicto y qué impacto tendrá en el desarrollo futuro de bcachefs y su inclusión en el núcleo principal de Linux.
¡Esperemos que al final todo mejore!
Puedes leer la conversación completa entre Linus y Kent y otros desarrolladores en el siguiente enlace: