xref: /linux/Documentation/translations/sp_SP/process/researcher-guidelines.rst (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
19e6e2ed2SAvadhut Naik.. SPDX-License-Identifier: GPL-2.0
29e6e2ed2SAvadhut Naik
39e6e2ed2SAvadhut Naik:Original: :ref:`Documentation/process/researcher-guidelines.rst`
49e6e2ed2SAvadhut Naik:Translator: Avadhut Naik <avadhut.naik@amd.com>
59e6e2ed2SAvadhut Naik
69e6e2ed2SAvadhut NaikDirectrices para Investigadores
79e6e2ed2SAvadhut Naik++++++++++++++++++++++++++++++++
89e6e2ed2SAvadhut Naik
99e6e2ed2SAvadhut NaikLa comunidad del kernel de Linux da la bienvenida a la investigación
109e6e2ed2SAvadhut Naiktransparente sobre el kernel de Linux, las actividades involucradas
119e6e2ed2SAvadhut Naiken su producción, otros subproductos de su desarrollo. Linux se
129e6e2ed2SAvadhut Naikbeneficia mucho de este tipo de investigación, y la mayoría de los
139e6e2ed2SAvadhut Naikaspectos de Linux son impulsados por investigación en una forma u otra.
149e6e2ed2SAvadhut Naik
159e6e2ed2SAvadhut NaikLa comunidad agradece mucho si los investigadores pueden compartir
169e6e2ed2SAvadhut Naiklos hallazgos preliminares antes de hacer públicos sus resultados,
179e6e2ed2SAvadhut Naikespecialmente si tal investigación involucra seguridad. Involucrarse
189e6e2ed2SAvadhut Naiktemprano ayuda a mejorar la calidad de investigación y la capacidad
199e6e2ed2SAvadhut Naikde Linux para mejorar a partir de ella. En cualquier caso, se recomienda
209e6e2ed2SAvadhut Naikcompartir copias de acceso abierto de la investigación publicada con
219e6e2ed2SAvadhut Naikla comunidad.
229e6e2ed2SAvadhut Naik
239e6e2ed2SAvadhut NaikEste documento busca clarificar lo que la comunidad del kernel de Linux
249e6e2ed2SAvadhut Naikconsidera practicas aceptables y no aceptables al llevar a cabo
259e6e2ed2SAvadhut Naikinvestigación de este tipo. Por lo menos, dicha investigación y
269e6e2ed2SAvadhut Naikactividades afines deben seguir las reglas estándar de ética de la
279e6e2ed2SAvadhut Naikinvestigación. Para más información sobre la ética de la investigación
289e6e2ed2SAvadhut Naiken general, ética en la tecnología y la investigación de las comunidades
299e6e2ed2SAvadhut Naikde desarrolladores en particular, ver:
309e6e2ed2SAvadhut Naik
319e6e2ed2SAvadhut Naik
329e6e2ed2SAvadhut Naik* `Historia de la Ética en la Investigación <https://www.unlv.edu/research/ORI-HSR/history-ethics>`_
339e6e2ed2SAvadhut Naik* `Ética de la IEEE <https://www.ieee.org/about/ethics/index.html>`_
349e6e2ed2SAvadhut Naik* `Perspectivas de Desarrolladores e Investigadores sobre la Ética de los Experimentos en Proyectos de Código Abierto <https://arxiv.org/pdf/2112.13217.pdf>`_
359e6e2ed2SAvadhut Naik
369e6e2ed2SAvadhut NaikLa comunidad del kernel de Linux espera que todos los que interactúan con
379e6e2ed2SAvadhut Naikel proyecto están participando en buena fe para mejorar Linux. La
389e6e2ed2SAvadhut Naikinvestigación sobre cualquier artefacto disponible públicamente (incluido,
399e6e2ed2SAvadhut Naikpero no limitado a código fuente) producido por la comunidad del kernel
409e6e2ed2SAvadhut Naikde Linux es bienvenida, aunque la investigación sobre los desarrolladores
419e6e2ed2SAvadhut Naikdebe ser claramente opcional.
429e6e2ed2SAvadhut Naik
439e6e2ed2SAvadhut NaikLa investigación pasiva que se basa completamente en fuentes disponibles
449e6e2ed2SAvadhut Naikpúblicamente, incluidas las publicaciones en listas de correo públicas y
459e6e2ed2SAvadhut Naiklas contribuciones a los repositorios públicos, es claramente permitida.
469e6e2ed2SAvadhut NaikAunque, como con cualquier investigación, todavía se debe seguir la ética
479e6e2ed2SAvadhut Naikestándar.
489e6e2ed2SAvadhut Naik
499e6e2ed2SAvadhut NaikLa investigación activa sobre el comportamiento de los desarrolladores,
509e6e2ed2SAvadhut Naiksin embargo, debe hacerse con el acuerdo explícito y la divulgación
519e6e2ed2SAvadhut Naikcompleta a los desarrolladores individuales involucrados. No se puede
529e6e2ed2SAvadhut Naikinteractuar / experimentar con los desarrolladores sin consentimiento;
539e6e2ed2SAvadhut Naikesto también es ética de investigación estándar.
549e6e2ed2SAvadhut Naik
559e6e2ed2SAvadhut NaikPara ayudar a aclarar: enviar parches a los desarrolladores es interactuar
569e6e2ed2SAvadhut Naikcon ellos, pero ya han dado su consentimiento para recibir contribuciones
579e6e2ed2SAvadhut Naiken buena fe. No se ha dado consentimiento para enviar parches intencionalmente
589e6e2ed2SAvadhut Naikdefectuosos / vulnerables o contribuir con la información engañosa a las
599e6e2ed2SAvadhut Naikdiscusiones. Dicha comunicación puede ser perjudicial al desarrollador (por
609e6e2ed2SAvadhut Naikejemplo, agotar el tiempo, el esfuerzo, y la moral) y perjudicial para el
619e6e2ed2SAvadhut Naikproyecto al erosionar la confianza de toda la comunidad de desarrolladores en
629e6e2ed2SAvadhut Naikel colaborador (y la organización del colaborador en conjunto), socavando
639e6e2ed2SAvadhut Naiklos esfuerzos para proporcionar reacciones constructivas a los colaboradores
649e6e2ed2SAvadhut Naiky poniendo a los usuarios finales en riesgo de fallas de software.
659e6e2ed2SAvadhut Naik
669e6e2ed2SAvadhut NaikLa participación en el desarrollo de Linux en sí mismo por parte de
679e6e2ed2SAvadhut Naikinvestigadores, como con cualquiera, es bienvenida y alentada. La
689e6e2ed2SAvadhut Naikinvestigación del código de Linux es una práctica común, especialmente
699e6e2ed2SAvadhut Naikcuando se trata de desarrollar o ejecutar herramientas de análisis que
709e6e2ed2SAvadhut Naikproducen resultados procesables.
719e6e2ed2SAvadhut Naik
729e6e2ed2SAvadhut NaikCuando se interactúa con la comunidad de desarrolladores, enviar un
739e6e2ed2SAvadhut Naikparche ha sido tradicionalmente la mejor manera para hacer un impacto.
749e6e2ed2SAvadhut NaikLinux ya tiene muchos errores conocidos – lo que es mucho más útil es
759e6e2ed2SAvadhut Naiktener soluciones verificadas. Antes de contribuir, lea cuidadosamente
769e6e2ed2SAvadhut Naikla documentación adecuada.
779e6e2ed2SAvadhut Naik
789e6e2ed2SAvadhut Naik* Documentation/process/development-process.rst
799e6e2ed2SAvadhut Naik* Documentation/process/submitting-patches.rst
809e6e2ed2SAvadhut Naik* Documentation/admin-guide/reporting-issues.rst
819e6e2ed2SAvadhut Naik* Documentation/process/security-bugs.rst
829e6e2ed2SAvadhut Naik
839e6e2ed2SAvadhut NaikEntonces envíe un parche (incluyendo un registro de confirmación con
849e6e2ed2SAvadhut Naiktodos los detalles enumerados abajo) y haga un seguimiento de cualquier
859e6e2ed2SAvadhut Naikcomentario de otros desarrolladores.
869e6e2ed2SAvadhut Naik
879e6e2ed2SAvadhut Naik* ¿Cuál es el problema específico que se ha encontrado?
889e6e2ed2SAvadhut Naik* ¿Como podría llegar al problema en un sistema en ejecución?
899e6e2ed2SAvadhut Naik* ¿Qué efecto tendría encontrar el problema en el sistema?
909e6e2ed2SAvadhut Naik* ¿Como se encontró el problema? Incluya específicamente detalles sobre
919e6e2ed2SAvadhut Naik  cualquier prueba, programas de análisis estáticos o dinámicos, y cualquier
929e6e2ed2SAvadhut Naik  otra herramienta o método utilizado para realizar el trabajo.
939e6e2ed2SAvadhut Naik* ¿En qué versión de Linux se encontró el problema? Se prefiere usar la
949e6e2ed2SAvadhut Naik  versión más reciente o una rama reciente de linux-next (ver
959e6e2ed2SAvadhut Naik  Documentation/process/howto.rst).
969e6e2ed2SAvadhut Naik* ¿Que se cambió para solucionar el problema y por qué se cree es correcto?
979e6e2ed2SAvadhut Naik* ¿Como se probó el cambio para la complicación y el tiempo de ejecución?
989e6e2ed2SAvadhut Naik* ¿Qué confirmación previa corrige este cambio? Esto debería ir en un “Fixes:”
999e6e2ed2SAvadhut Naik  etiqueta como se describe en la documentación.
1009e6e2ed2SAvadhut Naik* ¿Quién más ha revisado este parche? Esto debería ir con la adecuada “Reviewed-by”
1019e6e2ed2SAvadhut Naik  etiqueta; Vea abajo.
1029e6e2ed2SAvadhut Naik
1039e6e2ed2SAvadhut NaikPor ejemplo (en inglés, pues es en las listas)::
1049e6e2ed2SAvadhut Naik
1059e6e2ed2SAvadhut Naik  From: Author <author@email>
1069e6e2ed2SAvadhut Naik  Subject: [PATCH] drivers/foo_bar: Add missing kfree()
1079e6e2ed2SAvadhut Naik
1089e6e2ed2SAvadhut Naik  The error path in foo_bar driver does not correctly free the allocated
1099e6e2ed2SAvadhut Naik  struct foo_bar_info. This can happen if the attached foo_bar device
1109e6e2ed2SAvadhut Naik  rejects the initialization packets sent during foo_bar_probe(). This
1119e6e2ed2SAvadhut Naik  would result in a 64 byte slab memory leak once per device attach,
1129e6e2ed2SAvadhut Naik  wasting memory resources over time.
1139e6e2ed2SAvadhut Naik
1149e6e2ed2SAvadhut Naik  This flaw was found using an experimental static analysis tool we are
1159e6e2ed2SAvadhut Naik  developing, LeakMagic[1], which reported the following warning when
1169e6e2ed2SAvadhut Naik  analyzing the v5.15 kernel release:
1179e6e2ed2SAvadhut Naik
1189e6e2ed2SAvadhut Naik   path/to/foo_bar.c:187: missing kfree() call?
1199e6e2ed2SAvadhut Naik
1209e6e2ed2SAvadhut Naik  Add the missing kfree() to the error path. No other references to
1219e6e2ed2SAvadhut Naik  this memory exist outside the probe function, so this is the only
1229e6e2ed2SAvadhut Naik  place it can be freed.
1239e6e2ed2SAvadhut Naik
1249e6e2ed2SAvadhut Naik  x86_64 and arm64 defconfig builds with CONFIG_FOO_BAR=y using GCC
1259e6e2ed2SAvadhut Naik  11.2 show no new warnings, and LeakMagic no longer warns about this
1269e6e2ed2SAvadhut Naik  code path. As we don't have a FooBar device to test with, no runtime
1279e6e2ed2SAvadhut Naik  testing was able to be performed.
1289e6e2ed2SAvadhut Naik
1299e6e2ed2SAvadhut Naik  [1] https://url/to/leakmagic/details
1309e6e2ed2SAvadhut Naik
1319e6e2ed2SAvadhut Naik  Reported-by: Researcher <researcher@email>
1329e6e2ed2SAvadhut Naik  Fixes: aaaabbbbccccdddd ("Introduce support for FooBar")
1339e6e2ed2SAvadhut Naik  Signed-off-by: Author <author@email>
1349e6e2ed2SAvadhut Naik  Reviewed-by: Reviewer <reviewer@email>
1359e6e2ed2SAvadhut Naik
1369e6e2ed2SAvadhut NaikSi usted es un colaborador por primera vez, se recomienda que el parche en
1379e6e2ed2SAvadhut Naiksi sea examinado por otros en privado antes de ser publicado en listas
1389e6e2ed2SAvadhut Naikpúblicas. (Esto es necesario si se le ha dicho explícitamente que sus parches
1399e6e2ed2SAvadhut Naiknecesitan una revisión interna más cuidadosa.) Se espera que estas personas
1409e6e2ed2SAvadhut Naiktengan su etiqueta “Reviewed-by” incluida en el parche resultante. Encontrar
1419e6e2ed2SAvadhut Naikotro desarrollador con conocimiento de las contribuciones a Linux, especialmente
1429e6e2ed2SAvadhut Naikdentro de su propia organización, y tener su ayuda con las revisiones antes de
1439e6e2ed2SAvadhut Naikenviarlas a las listas de correo publico tiende a mejorar significativamente la
1449e6e2ed2SAvadhut Naikcalidad de los parches resultantes, y reduce así la carga de otros desarrolladores.
1459e6e2ed2SAvadhut Naik
1469e6e2ed2SAvadhut NaikSi no se puede encontrar a nadie para revisar internamente los parches y necesita
1479e6e2ed2SAvadhut Naikayuda para encontrar a esa persona, o si tiene alguna otra pregunta relacionada
1489e6e2ed2SAvadhut Naikcon este documento y las expectativas de la comunidad de desarrolladores, por
1499e6e2ed2SAvadhut Naikfavor contacte con la lista de correo privada Technical Advisory Board:
150*27103dddSKonstantin Ryabitsev<tech-board@groups.linuxfoundation.org>.
151