xref: /openbmc/linux/Documentation/translations/sp_SP/process/researcher-guidelines.rst (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1*9e6e2ed2SAvadhut Naik.. SPDX-License-Identifier: GPL-2.0
2*9e6e2ed2SAvadhut Naik
3*9e6e2ed2SAvadhut Naik:Original: :ref:`Documentation/process/researcher-guidelines.rst`
4*9e6e2ed2SAvadhut Naik:Translator: Avadhut Naik <avadhut.naik@amd.com>
5*9e6e2ed2SAvadhut Naik
6*9e6e2ed2SAvadhut NaikDirectrices para Investigadores
7*9e6e2ed2SAvadhut Naik++++++++++++++++++++++++++++++++
8*9e6e2ed2SAvadhut Naik
9*9e6e2ed2SAvadhut NaikLa comunidad del kernel de Linux da la bienvenida a la investigación
10*9e6e2ed2SAvadhut Naiktransparente sobre el kernel de Linux, las actividades involucradas
11*9e6e2ed2SAvadhut Naiken su producción, otros subproductos de su desarrollo. Linux se
12*9e6e2ed2SAvadhut Naikbeneficia mucho de este tipo de investigación, y la mayoría de los
13*9e6e2ed2SAvadhut Naikaspectos de Linux son impulsados por investigación en una forma u otra.
14*9e6e2ed2SAvadhut Naik
15*9e6e2ed2SAvadhut NaikLa comunidad agradece mucho si los investigadores pueden compartir
16*9e6e2ed2SAvadhut Naiklos hallazgos preliminares antes de hacer públicos sus resultados,
17*9e6e2ed2SAvadhut Naikespecialmente si tal investigación involucra seguridad. Involucrarse
18*9e6e2ed2SAvadhut Naiktemprano ayuda a mejorar la calidad de investigación y la capacidad
19*9e6e2ed2SAvadhut Naikde Linux para mejorar a partir de ella. En cualquier caso, se recomienda
20*9e6e2ed2SAvadhut Naikcompartir copias de acceso abierto de la investigación publicada con
21*9e6e2ed2SAvadhut Naikla comunidad.
22*9e6e2ed2SAvadhut Naik
23*9e6e2ed2SAvadhut NaikEste documento busca clarificar lo que la comunidad del kernel de Linux
24*9e6e2ed2SAvadhut Naikconsidera practicas aceptables y no aceptables al llevar a cabo
25*9e6e2ed2SAvadhut Naikinvestigación de este tipo. Por lo menos, dicha investigación y
26*9e6e2ed2SAvadhut Naikactividades afines deben seguir las reglas estándar de ética de la
27*9e6e2ed2SAvadhut Naikinvestigación. Para más información sobre la ética de la investigación
28*9e6e2ed2SAvadhut Naiken general, ética en la tecnología y la investigación de las comunidades
29*9e6e2ed2SAvadhut Naikde desarrolladores en particular, ver:
30*9e6e2ed2SAvadhut Naik
31*9e6e2ed2SAvadhut Naik
32*9e6e2ed2SAvadhut Naik* `Historia de la Ética en la Investigación <https://www.unlv.edu/research/ORI-HSR/history-ethics>`_
33*9e6e2ed2SAvadhut Naik* `Ética de la IEEE <https://www.ieee.org/about/ethics/index.html>`_
34*9e6e2ed2SAvadhut 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>`_
35*9e6e2ed2SAvadhut Naik
36*9e6e2ed2SAvadhut NaikLa comunidad del kernel de Linux espera que todos los que interactúan con
37*9e6e2ed2SAvadhut Naikel proyecto están participando en buena fe para mejorar Linux. La
38*9e6e2ed2SAvadhut Naikinvestigación sobre cualquier artefacto disponible públicamente (incluido,
39*9e6e2ed2SAvadhut Naikpero no limitado a código fuente) producido por la comunidad del kernel
40*9e6e2ed2SAvadhut Naikde Linux es bienvenida, aunque la investigación sobre los desarrolladores
41*9e6e2ed2SAvadhut Naikdebe ser claramente opcional.
42*9e6e2ed2SAvadhut Naik
43*9e6e2ed2SAvadhut NaikLa investigación pasiva que se basa completamente en fuentes disponibles
44*9e6e2ed2SAvadhut Naikpúblicamente, incluidas las publicaciones en listas de correo públicas y
45*9e6e2ed2SAvadhut Naiklas contribuciones a los repositorios públicos, es claramente permitida.
46*9e6e2ed2SAvadhut NaikAunque, como con cualquier investigación, todavía se debe seguir la ética
47*9e6e2ed2SAvadhut Naikestándar.
48*9e6e2ed2SAvadhut Naik
49*9e6e2ed2SAvadhut NaikLa investigación activa sobre el comportamiento de los desarrolladores,
50*9e6e2ed2SAvadhut Naiksin embargo, debe hacerse con el acuerdo explícito y la divulgación
51*9e6e2ed2SAvadhut Naikcompleta a los desarrolladores individuales involucrados. No se puede
52*9e6e2ed2SAvadhut Naikinteractuar / experimentar con los desarrolladores sin consentimiento;
53*9e6e2ed2SAvadhut Naikesto también es ética de investigación estándar.
54*9e6e2ed2SAvadhut Naik
55*9e6e2ed2SAvadhut NaikPara ayudar a aclarar: enviar parches a los desarrolladores es interactuar
56*9e6e2ed2SAvadhut Naikcon ellos, pero ya han dado su consentimiento para recibir contribuciones
57*9e6e2ed2SAvadhut Naiken buena fe. No se ha dado consentimiento para enviar parches intencionalmente
58*9e6e2ed2SAvadhut Naikdefectuosos / vulnerables o contribuir con la información engañosa a las
59*9e6e2ed2SAvadhut Naikdiscusiones. Dicha comunicación puede ser perjudicial al desarrollador (por
60*9e6e2ed2SAvadhut Naikejemplo, agotar el tiempo, el esfuerzo, y la moral) y perjudicial para el
61*9e6e2ed2SAvadhut Naikproyecto al erosionar la confianza de toda la comunidad de desarrolladores en
62*9e6e2ed2SAvadhut Naikel colaborador (y la organización del colaborador en conjunto), socavando
63*9e6e2ed2SAvadhut Naiklos esfuerzos para proporcionar reacciones constructivas a los colaboradores
64*9e6e2ed2SAvadhut Naiky poniendo a los usuarios finales en riesgo de fallas de software.
65*9e6e2ed2SAvadhut Naik
66*9e6e2ed2SAvadhut NaikLa participación en el desarrollo de Linux en sí mismo por parte de
67*9e6e2ed2SAvadhut Naikinvestigadores, como con cualquiera, es bienvenida y alentada. La
68*9e6e2ed2SAvadhut Naikinvestigación del código de Linux es una práctica común, especialmente
69*9e6e2ed2SAvadhut Naikcuando se trata de desarrollar o ejecutar herramientas de análisis que
70*9e6e2ed2SAvadhut Naikproducen resultados procesables.
71*9e6e2ed2SAvadhut Naik
72*9e6e2ed2SAvadhut NaikCuando se interactúa con la comunidad de desarrolladores, enviar un
73*9e6e2ed2SAvadhut Naikparche ha sido tradicionalmente la mejor manera para hacer un impacto.
74*9e6e2ed2SAvadhut NaikLinux ya tiene muchos errores conocidos – lo que es mucho más útil es
75*9e6e2ed2SAvadhut Naiktener soluciones verificadas. Antes de contribuir, lea cuidadosamente
76*9e6e2ed2SAvadhut Naikla documentación adecuada.
77*9e6e2ed2SAvadhut Naik
78*9e6e2ed2SAvadhut Naik* Documentation/process/development-process.rst
79*9e6e2ed2SAvadhut Naik* Documentation/process/submitting-patches.rst
80*9e6e2ed2SAvadhut Naik* Documentation/admin-guide/reporting-issues.rst
81*9e6e2ed2SAvadhut Naik* Documentation/process/security-bugs.rst
82*9e6e2ed2SAvadhut Naik
83*9e6e2ed2SAvadhut NaikEntonces envíe un parche (incluyendo un registro de confirmación con
84*9e6e2ed2SAvadhut Naiktodos los detalles enumerados abajo) y haga un seguimiento de cualquier
85*9e6e2ed2SAvadhut Naikcomentario de otros desarrolladores.
86*9e6e2ed2SAvadhut Naik
87*9e6e2ed2SAvadhut Naik* ¿Cuál es el problema específico que se ha encontrado?
88*9e6e2ed2SAvadhut Naik* ¿Como podría llegar al problema en un sistema en ejecución?
89*9e6e2ed2SAvadhut Naik* ¿Qué efecto tendría encontrar el problema en el sistema?
90*9e6e2ed2SAvadhut Naik* ¿Como se encontró el problema? Incluya específicamente detalles sobre
91*9e6e2ed2SAvadhut Naik  cualquier prueba, programas de análisis estáticos o dinámicos, y cualquier
92*9e6e2ed2SAvadhut Naik  otra herramienta o método utilizado para realizar el trabajo.
93*9e6e2ed2SAvadhut Naik* ¿En qué versión de Linux se encontró el problema? Se prefiere usar la
94*9e6e2ed2SAvadhut Naik  versión más reciente o una rama reciente de linux-next (ver
95*9e6e2ed2SAvadhut Naik  Documentation/process/howto.rst).
96*9e6e2ed2SAvadhut Naik* ¿Que se cambió para solucionar el problema y por qué se cree es correcto?
97*9e6e2ed2SAvadhut Naik* ¿Como se probó el cambio para la complicación y el tiempo de ejecución?
98*9e6e2ed2SAvadhut Naik* ¿Qué confirmación previa corrige este cambio? Esto debería ir en un “Fixes:”
99*9e6e2ed2SAvadhut Naik  etiqueta como se describe en la documentación.
100*9e6e2ed2SAvadhut Naik* ¿Quién más ha revisado este parche? Esto debería ir con la adecuada “Reviewed-by”
101*9e6e2ed2SAvadhut Naik  etiqueta; Vea abajo.
102*9e6e2ed2SAvadhut Naik
103*9e6e2ed2SAvadhut NaikPor ejemplo (en inglés, pues es en las listas)::
104*9e6e2ed2SAvadhut Naik
105*9e6e2ed2SAvadhut Naik  From: Author <author@email>
106*9e6e2ed2SAvadhut Naik  Subject: [PATCH] drivers/foo_bar: Add missing kfree()
107*9e6e2ed2SAvadhut Naik
108*9e6e2ed2SAvadhut Naik  The error path in foo_bar driver does not correctly free the allocated
109*9e6e2ed2SAvadhut Naik  struct foo_bar_info. This can happen if the attached foo_bar device
110*9e6e2ed2SAvadhut Naik  rejects the initialization packets sent during foo_bar_probe(). This
111*9e6e2ed2SAvadhut Naik  would result in a 64 byte slab memory leak once per device attach,
112*9e6e2ed2SAvadhut Naik  wasting memory resources over time.
113*9e6e2ed2SAvadhut Naik
114*9e6e2ed2SAvadhut Naik  This flaw was found using an experimental static analysis tool we are
115*9e6e2ed2SAvadhut Naik  developing, LeakMagic[1], which reported the following warning when
116*9e6e2ed2SAvadhut Naik  analyzing the v5.15 kernel release:
117*9e6e2ed2SAvadhut Naik
118*9e6e2ed2SAvadhut Naik   path/to/foo_bar.c:187: missing kfree() call?
119*9e6e2ed2SAvadhut Naik
120*9e6e2ed2SAvadhut Naik  Add the missing kfree() to the error path. No other references to
121*9e6e2ed2SAvadhut Naik  this memory exist outside the probe function, so this is the only
122*9e6e2ed2SAvadhut Naik  place it can be freed.
123*9e6e2ed2SAvadhut Naik
124*9e6e2ed2SAvadhut Naik  x86_64 and arm64 defconfig builds with CONFIG_FOO_BAR=y using GCC
125*9e6e2ed2SAvadhut Naik  11.2 show no new warnings, and LeakMagic no longer warns about this
126*9e6e2ed2SAvadhut Naik  code path. As we don't have a FooBar device to test with, no runtime
127*9e6e2ed2SAvadhut Naik  testing was able to be performed.
128*9e6e2ed2SAvadhut Naik
129*9e6e2ed2SAvadhut Naik  [1] https://url/to/leakmagic/details
130*9e6e2ed2SAvadhut Naik
131*9e6e2ed2SAvadhut Naik  Reported-by: Researcher <researcher@email>
132*9e6e2ed2SAvadhut Naik  Fixes: aaaabbbbccccdddd ("Introduce support for FooBar")
133*9e6e2ed2SAvadhut Naik  Signed-off-by: Author <author@email>
134*9e6e2ed2SAvadhut Naik  Reviewed-by: Reviewer <reviewer@email>
135*9e6e2ed2SAvadhut Naik
136*9e6e2ed2SAvadhut NaikSi usted es un colaborador por primera vez, se recomienda que el parche en
137*9e6e2ed2SAvadhut Naiksi sea examinado por otros en privado antes de ser publicado en listas
138*9e6e2ed2SAvadhut Naikpúblicas. (Esto es necesario si se le ha dicho explícitamente que sus parches
139*9e6e2ed2SAvadhut Naiknecesitan una revisión interna más cuidadosa.) Se espera que estas personas
140*9e6e2ed2SAvadhut Naiktengan su etiqueta “Reviewed-by” incluida en el parche resultante. Encontrar
141*9e6e2ed2SAvadhut Naikotro desarrollador con conocimiento de las contribuciones a Linux, especialmente
142*9e6e2ed2SAvadhut Naikdentro de su propia organización, y tener su ayuda con las revisiones antes de
143*9e6e2ed2SAvadhut Naikenviarlas a las listas de correo publico tiende a mejorar significativamente la
144*9e6e2ed2SAvadhut Naikcalidad de los parches resultantes, y reduce así la carga de otros desarrolladores.
145*9e6e2ed2SAvadhut Naik
146*9e6e2ed2SAvadhut NaikSi no se puede encontrar a nadie para revisar internamente los parches y necesita
147*9e6e2ed2SAvadhut Naikayuda para encontrar a esa persona, o si tiene alguna otra pregunta relacionada
148*9e6e2ed2SAvadhut Naikcon este documento y las expectativas de la comunidad de desarrolladores, por
149*9e6e2ed2SAvadhut Naikfavor contacte con la lista de correo privada Technical Advisory Board:
150*9e6e2ed2SAvadhut Naik<tech-board@lists.linux-foundation.org>.
151