151 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3:Original: :ref:`Documentation/process/researcher-guidelines.rst`4:Translator: Avadhut Naik <avadhut.naik@amd.com>5 6Directrices para Investigadores7++++++++++++++++++++++++++++++++8 9La comunidad del kernel de Linux da la bienvenida a la investigación10transparente sobre el kernel de Linux, las actividades involucradas11en su producción, otros subproductos de su desarrollo. Linux se12beneficia mucho de este tipo de investigación, y la mayoría de los13aspectos de Linux son impulsados por investigación en una forma u otra.14 15La comunidad agradece mucho si los investigadores pueden compartir16los hallazgos preliminares antes de hacer públicos sus resultados,17especialmente si tal investigación involucra seguridad. Involucrarse18temprano ayuda a mejorar la calidad de investigación y la capacidad19de Linux para mejorar a partir de ella. En cualquier caso, se recomienda20compartir copias de acceso abierto de la investigación publicada con21la comunidad.22 23Este documento busca clarificar lo que la comunidad del kernel de Linux24considera practicas aceptables y no aceptables al llevar a cabo25investigación de este tipo. Por lo menos, dicha investigación y26actividades afines deben seguir las reglas estándar de ética de la27investigación. Para más información sobre la ética de la investigación28en general, ética en la tecnología y la investigación de las comunidades29de desarrolladores en particular, ver:30 31 32* `Historia de la Ética en la Investigación <https://www.unlv.edu/research/ORI-HSR/history-ethics>`_33* `Ética de la IEEE <https://www.ieee.org/about/ethics/index.html>`_34* `Perspectivas de Desarrolladores e Investigadores sobre la Ética de los Experimentos en Proyectos de Código Abierto <https://arxiv.org/pdf/2112.13217.pdf>`_35 36La comunidad del kernel de Linux espera que todos los que interactúan con37el proyecto están participando en buena fe para mejorar Linux. La38investigación sobre cualquier artefacto disponible públicamente (incluido,39pero no limitado a código fuente) producido por la comunidad del kernel40de Linux es bienvenida, aunque la investigación sobre los desarrolladores41debe ser claramente opcional.42 43La investigación pasiva que se basa completamente en fuentes disponibles44públicamente, incluidas las publicaciones en listas de correo públicas y45las contribuciones a los repositorios públicos, es claramente permitida.46Aunque, como con cualquier investigación, todavía se debe seguir la ética47estándar.48 49La investigación activa sobre el comportamiento de los desarrolladores,50sin embargo, debe hacerse con el acuerdo explícito y la divulgación51completa a los desarrolladores individuales involucrados. No se puede52interactuar / experimentar con los desarrolladores sin consentimiento;53esto también es ética de investigación estándar.54 55Para ayudar a aclarar: enviar parches a los desarrolladores es interactuar56con ellos, pero ya han dado su consentimiento para recibir contribuciones57en buena fe. No se ha dado consentimiento para enviar parches intencionalmente58defectuosos / vulnerables o contribuir con la información engañosa a las59discusiones. Dicha comunicación puede ser perjudicial al desarrollador (por60ejemplo, agotar el tiempo, el esfuerzo, y la moral) y perjudicial para el61proyecto al erosionar la confianza de toda la comunidad de desarrolladores en62el colaborador (y la organización del colaborador en conjunto), socavando63los esfuerzos para proporcionar reacciones constructivas a los colaboradores64y poniendo a los usuarios finales en riesgo de fallas de software.65 66La participación en el desarrollo de Linux en sí mismo por parte de67investigadores, como con cualquiera, es bienvenida y alentada. La68investigación del código de Linux es una práctica común, especialmente69cuando se trata de desarrollar o ejecutar herramientas de análisis que70producen resultados procesables.71 72Cuando se interactúa con la comunidad de desarrolladores, enviar un73parche ha sido tradicionalmente la mejor manera para hacer un impacto.74Linux ya tiene muchos errores conocidos – lo que es mucho más útil es75tener soluciones verificadas. Antes de contribuir, lea cuidadosamente76la documentación adecuada.77 78* Documentation/process/development-process.rst79* Documentation/process/submitting-patches.rst80* Documentation/admin-guide/reporting-issues.rst81* Documentation/process/security-bugs.rst82 83Entonces envíe un parche (incluyendo un registro de confirmación con84todos los detalles enumerados abajo) y haga un seguimiento de cualquier85comentario de otros desarrolladores.86 87* ¿Cuál es el problema específico que se ha encontrado?88* ¿Como podría llegar al problema en un sistema en ejecución?89* ¿Qué efecto tendría encontrar el problema en el sistema?90* ¿Como se encontró el problema? Incluya específicamente detalles sobre91 cualquier prueba, programas de análisis estáticos o dinámicos, y cualquier92 otra herramienta o método utilizado para realizar el trabajo.93* ¿En qué versión de Linux se encontró el problema? Se prefiere usar la94 versión más reciente o una rama reciente de linux-next (ver95 Documentation/process/howto.rst).96* ¿Que se cambió para solucionar el problema y por qué se cree es correcto?97* ¿Como se probó el cambio para la complicación y el tiempo de ejecución?98* ¿Qué confirmación previa corrige este cambio? Esto debería ir en un “Fixes:”99 etiqueta como se describe en la documentación.100* ¿Quién más ha revisado este parche? Esto debería ir con la adecuada “Reviewed-by”101 etiqueta; Vea abajo.102 103Por ejemplo (en inglés, pues es en las listas)::104 105 From: Author <author@email>106 Subject: [PATCH] drivers/foo_bar: Add missing kfree()107 108 The error path in foo_bar driver does not correctly free the allocated109 struct foo_bar_info. This can happen if the attached foo_bar device110 rejects the initialization packets sent during foo_bar_probe(). This111 would result in a 64 byte slab memory leak once per device attach,112 wasting memory resources over time.113 114 This flaw was found using an experimental static analysis tool we are115 developing, LeakMagic[1], which reported the following warning when116 analyzing the v5.15 kernel release:117 118 path/to/foo_bar.c:187: missing kfree() call?119 120 Add the missing kfree() to the error path. No other references to121 this memory exist outside the probe function, so this is the only122 place it can be freed.123 124 x86_64 and arm64 defconfig builds with CONFIG_FOO_BAR=y using GCC125 11.2 show no new warnings, and LeakMagic no longer warns about this126 code path. As we don't have a FooBar device to test with, no runtime127 testing was able to be performed.128 129 [1] https://url/to/leakmagic/details130 131 Reported-by: Researcher <researcher@email>132 Fixes: aaaabbbbccccdddd ("Introduce support for FooBar")133 Signed-off-by: Author <author@email>134 Reviewed-by: Reviewer <reviewer@email>135 136Si usted es un colaborador por primera vez, se recomienda que el parche en137si sea examinado por otros en privado antes de ser publicado en listas138públicas. (Esto es necesario si se le ha dicho explícitamente que sus parches139necesitan una revisión interna más cuidadosa.) Se espera que estas personas140tengan su etiqueta “Reviewed-by” incluida en el parche resultante. Encontrar141otro desarrollador con conocimiento de las contribuciones a Linux, especialmente142dentro de su propia organización, y tener su ayuda con las revisiones antes de143enviarlas a las listas de correo publico tiende a mejorar significativamente la144calidad de los parches resultantes, y reduce así la carga de otros desarrolladores.145 146Si no se puede encontrar a nadie para revisar internamente los parches y necesita147ayuda para encontrar a esa persona, o si tiene alguna otra pregunta relacionada148con este documento y las expectativas de la comunidad de desarrolladores, por149favor contacte con la lista de correo privada Technical Advisory Board:150<tech-board@groups.linuxfoundation.org>.151