€•þŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒEnglish”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/process/howto”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Simplified)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/zh_CN/process/howto”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/zh_TW/process/howto”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/it_IT/process/howto”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ja_JP/process/howto”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ko_KR/process/howto”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒSpanish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒwarning”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”h]”hŒ paragraph”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”h]”hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”…””}”(hh©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸŒ2Documentation/translations/sp_SP/disclaimer-sp.rst”h Khh£ubah}”(h]”h ]”h"]”h$]”h&]”uh1h¡hhhžhhŸh·h NubhŒ field_list”“”)”}”(hhh]”(hŒfield”“”)”}”(hhh]”(hŒ field_name”“”)”}”(hŒOriginal”h]”hŒOriginal”…””}”(hhÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhhÅhŸŒN/var/lib/git/docbuild/linux/Documentation/translations/sp_SP/process/howto.rst”h KubhŒ field_body”“”)”}”(hŒ6:ref:`Documentation/process/howto.rst `”h]”h¨)”}”(hhÝh]”h)”}”(hhÝh]”hŒinline”“”)”}”(hhÝh]”hŒDocumentation/process/howto.rst”…””}”(hhçhžhhŸNh Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1håhhâubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ translations/sp_SP/process/howto”Œ refdomain”hòŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ process_howto”uh1hhŸhØh Khhßubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KhhÛubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhhÅubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÃhŸhØh KhhÀhžhubhÄ)”}”(hhh]”(hÉ)”}”(hŒ Translator”h]”hŒ Translator”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhjhŸhØh KubhÚ)”}”(hŒ.Carlos Bilbao ”h]”h¨)”}”(hŒ-Carlos Bilbao ”h]”(hŒCarlos Bilbao <”…””}”(hj-hžhhŸNh NubhŒ reference”“”)”}”(hŒcarlos.bilbao.osdev@gmail.com”h]”hŒcarlos.bilbao.osdev@gmail.com”…””}”(hj7hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ$mailto:carlos.bilbao.osdev@gmail.com”uh1j5hj-ubhŒ>”…””}”(hj-hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÙhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÃhŸhØh KhhÀhžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1h¾hhhžhhŸhØh KubhŒtarget”“”)”}”(hŒ.. _sp_process_howto:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œsp-process-howto”uh1jch KhhhžhhŸhØubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ5Cómo participar en el desarrollo del kernel de Linux”h]”hŒ5Cómo participar en el desarrollo del kernel de Linux”…””}”(hjxhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjshžhhŸhØh K ubh¨)”}”(hXKEste documento es el principal punto de partida. Contiene instrucciones sobre cómo convertirse en desarrollador del kernel de Linux y explica cómo trabajar con el y en su desarrollo. El documento no tratará ningún aspecto técnico relacionado con la programación del kernel, pero le ayudará guiándole por el camino correcto.”h]”hXKEste documento es el principal punto de partida. Contiene instrucciones sobre cómo convertirse en desarrollador del kernel de Linux y explica cómo trabajar con el y en su desarrollo. El documento no tratará ningún aspecto técnico relacionado con la programación del kernel, pero le ayudará guiándole por el camino correcto.”…””}”(hj†hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K hjshžhubh¨)”}”(hŒŽSi algo en este documento quedara obsoleto, envíe parches al maintainer de este archivo, que se encuentra en la parte superior del documento.”h]”hŒŽSi algo en este documento quedara obsoleto, envíe parches al maintainer de este archivo, que se encuentra en la parte superior del documento.”…””}”(hj”hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khjshžhubjr)”}”(hhh]”(jw)”}”(hŒ Introducción”h]”hŒ Introducción”…””}”(hj¥hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj¢hžhhŸhØh Kubh¨)”}”(hXÑ¿De modo que quiere descubrir como convertirse en un/a desarrollador/a del kernel de Linux? Tal vez su jefe le haya dicho, "Escriba un driver de Linux para este dispositivo." El objetivo de este documento en enseñarle todo cuanto necesita para conseguir esto, describiendo el proceso por el que debe pasar, y con indicaciones de como trabajar con la comunidad. También trata de explicar las razones por las cuales la comunidad trabaja de la forma en que lo hace.”h]”hXÕ¿De modo que quiere descubrir como convertirse en un/a desarrollador/a del kernel de Linux? Tal vez su jefe le haya dicho, “Escriba un driver de Linux para este dispositivo.†El objetivo de este documento en enseñarle todo cuanto necesita para conseguir esto, describiendo el proceso por el que debe pasar, y con indicaciones de como trabajar con la comunidad. También trata de explicar las razones por las cuales la comunidad trabaja de la forma en que lo hace.”…””}”(hj³hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khj¢hžhubh¨)”}”(hXæEl kernel esta principalmente escrito en C, con algunas partes que son dependientes de la arquitectura en ensamblador. Un buen conocimiento de C es necesario para desarrollar en el kernel. Lenguaje ensamblador (en cualquier arquitectura) no es necesario excepto que planee realizar desarrollo de bajo nivel para dicha arquitectura. Aunque no es un perfecto sustituto para una educación sólida en C y/o años de experiencia, los siguientes libros sirven, como mínimo, como referencia:”h]”hXæEl kernel esta principalmente escrito en C, con algunas partes que son dependientes de la arquitectura en ensamblador. Un buen conocimiento de C es necesario para desarrollar en el kernel. Lenguaje ensamblador (en cualquier arquitectura) no es necesario excepto que planee realizar desarrollo de bajo nivel para dicha arquitectura. Aunque no es un perfecto sustituto para una educación sólida en C y/o años de experiencia, los siguientes libros sirven, como mínimo, como referencia:”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khj¢hžhubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒC"The C Programming Language" de Kernighan e Ritchie [Prentice Hall]”h]”h¨)”}”(hjØh]”hŒG“The C Programming Language†de Kernighan e Ritchie [Prentice Hall]”…””}”(hjÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K&hjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÑhžhhŸhØh NubjÕ)”}”(hŒ6"Practical C Programming" de Steve Oualline [O'Reilly]”h]”h¨)”}”(hjïh]”hŒ<“Practical C Programming†de Steve Oualline [O’Reilly]”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K'hjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÑhžhhŸhØh NubjÕ)”}”(hŒ@"C: A Reference Manual" de Harbison and Steele [Prentice Hall] ”h]”h¨)”}”(hŒ?"C: A Reference Manual" de Harbison and Steele [Prentice Hall]”h]”hŒC“C: A Reference Manual†de Harbison and Steele [Prentice Hall]”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K(hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÑhžhhŸhØh Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jÏhŸhØh K&hj¢hžhubh¨)”}”(hXÃEl kernel está escrito usando GNU C y la cadena de herramientas GNU. Si bien se adhiere al estándar ISO C89, utiliza una serie de extensiones que no aparecen en dicho estándar. El kernel usa un C independiente de entorno, sin depender de la biblioteca C estándar, por lo que algunas partes del estándar C no son compatibles. Divisiones de long long arbitrarios o de coma flotante no son permitidas. En ocasiones, puede ser difícil de entender las suposiciones que el kernel hace respecto a la cadena de herramientas y las extensiones que usa, y desafortunadamente no hay referencia definitiva para estas. Consulte las páginas de información de gcc (`info gcc`) para obtener información al respecto.”h]”(hX‘El kernel está escrito usando GNU C y la cadena de herramientas GNU. Si bien se adhiere al estándar ISO C89, utiliza una serie de extensiones que no aparecen en dicho estándar. El kernel usa un C independiente de entorno, sin depender de la biblioteca C estándar, por lo que algunas partes del estándar C no son compatibles. Divisiones de long long arbitrarios o de coma flotante no son permitidas. En ocasiones, puede ser difícil de entender las suposiciones que el kernel hace respecto a la cadena de herramientas y las extensiones que usa, y desafortunadamente no hay referencia definitiva para estas. Consulte las páginas de información de gcc (”…””}”(hj$hžhhŸNh NubhŒtitle_reference”“”)”}”(hŒ `info gcc`”h]”hŒinfo gcc”…””}”(hj.hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j,hj$ubhŒ() para obtener información al respecto.”…””}”(hj$hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K*hj¢hžhubh¨)”}”(hX/Recuerde que está tratando de aprender a trabajar con una comunidad de desarrollo existente. Es un grupo diverso de personas, con altos estándares de código, estilo y procedimiento. Estas normas han sido creadas a lo largo del tiempo en función de lo que se ha encontrado que funciona mejor para un equipo tan grande y geográficamente disperso. Trate de aprender tanto como le sea posible acerca de estos estándares antes de tiempo, ya que están bien documentados; no espere que la gente se adapte a usted o a la forma de hacer las cosas en su empresa.”h]”hX/Recuerde que está tratando de aprender a trabajar con una comunidad de desarrollo existente. Es un grupo diverso de personas, con altos estándares de código, estilo y procedimiento. Estas normas han sido creadas a lo largo del tiempo en función de lo que se ha encontrado que funciona mejor para un equipo tan grande y geográficamente disperso. Trate de aprender tanto como le sea posible acerca de estos estándares antes de tiempo, ya que están bien documentados; no espere que la gente se adapte a usted o a la forma de hacer las cosas en su empresa.”…””}”(hjFhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K5hj¢hžhubeh}”(h]”Œ introduccion”ah ]”h"]”Œ introducción”ah$]”h&]”uh1jqhjshžhhŸhØh Kubjr)”}”(hhh]”(jw)”}”(hŒCuestiones legales”h]”hŒCuestiones legales”…””}”(hj_hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj\hžhhŸhØh K?ubh¨)”}”(hXšEl código fuente del kernel de Linux se publica bajo licencia GPL. Por favor, revise el archivo COPYING, presente en la carpeta principal del código fuente, para detalles de la licencia. Si tiene alguna otra pregunta sobre licencias, contacte a un abogado, no pregunte en listas de discusión del kernel de Linux. La gente en estas listas no son abogadas, y no debe confiar en sus opiniones en materia legal.”h]”hXšEl código fuente del kernel de Linux se publica bajo licencia GPL. Por favor, revise el archivo COPYING, presente en la carpeta principal del código fuente, para detalles de la licencia. Si tiene alguna otra pregunta sobre licencias, contacte a un abogado, no pregunte en listas de discusión del kernel de Linux. La gente en estas listas no son abogadas, y no debe confiar en sus opiniones en materia legal.”…””}”(hjmhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K@hj\hžhubh¨)”}”(hŒLPara preguntas y respuestas más frecuentes sobre la licencia GPL, consulte:”h]”hŒLPara preguntas y respuestas más frecuentes sobre la licencia GPL, consulte:”…””}”(hj{hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KGhj\hžhubhŒ block_quote”“”)”}”(hŒ*https://www.gnu.org/licenses/gpl-faq.html ”h]”h¨)”}”(hŒ)https://www.gnu.org/licenses/gpl-faq.html”h]”j6)”}”(hj‘h]”hŒ)https://www.gnu.org/licenses/gpl-faq.html”…””}”(hj“hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j‘uh1j5hjubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KIhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh KIhj\hžhubeh}”(h]”Œcuestiones-legales”ah ]”h"]”Œcuestiones legales”ah$]”h&]”uh1jqhjshžhhŸhØh K?ubjr)”}”(hhh]”(jw)”}”(hŒDocumentación”h]”hŒDocumentación”…””}”(hj¸hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjµhžhhŸhØh KLubh¨)”}”(hXGEl código fuente del kernel de Linux tiene una gran variedad de documentos que son increíblemente valiosos para aprender a interactuar con la comunidad del kernel. Cuando se agregan nuevas funciones al kernel, se recomienda que se incluyan nuevos archivos de documentación que expliquen cómo usar la función. Cuando un cambio en el kernel hace que la interfaz que el kernel expone espacio de usuario cambie, se recomienda que envíe la información o un parche en las páginas del manual que expliquen el cambio a mtk.manpages@gmail.com, y CC la lista linux-api@vger.kernel.org.”h]”(hXEl código fuente del kernel de Linux tiene una gran variedad de documentos que son increíblemente valiosos para aprender a interactuar con la comunidad del kernel. Cuando se agregan nuevas funciones al kernel, se recomienda que se incluyan nuevos archivos de documentación que expliquen cómo usar la función. Cuando un cambio en el kernel hace que la interfaz que el kernel expone espacio de usuario cambie, se recomienda que envíe la información o un parche en las páginas del manual que expliquen el cambio a ”…””}”(hjÆhžhhŸNh Nubj6)”}”(hŒmtk.manpages@gmail.com”h]”hŒmtk.manpages@gmail.com”…””}”(hjÎhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:mtk.manpages@gmail.com”uh1j5hjÆubhŒ, y CC la lista ”…””}”(hjÆhžhhŸNh Nubj6)”}”(hŒlinux-api@vger.kernel.org”h]”hŒlinux-api@vger.kernel.org”…””}”(hjâhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ mailto:linux-api@vger.kernel.org”uh1j5hjÆubhŒ.”…””}”(hjÆhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KMhjµhžhubh¨)”}”(hŒbEsta es la lista de archivos que están en el código fuente del kernel y son de obligada lectura:”h]”hŒbEsta es la lista de archivos que están en el código fuente del kernel y son de obligada lectura:”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KVhjµhžhubjŠ)”}”(hX¯:ref:`Documentation/admin-guide/README.rst ` Este archivo ofrece una breve descripción del kernel de Linux y describe lo que es necesario hacer para configurar y compilar el kernel. Quienes sean nuevos en el kernel deben comenzar aquí. :ref:`Documentation/process/changes.rst ` Este archivo proporciona una lista de los niveles mínimos de varios paquetes que son necesarios para construir y ejecutar el kernel exitosamente. :ref:`Documentation/process/coding-style.rst ` Esto describe el estilo de código del kernel de Linux y algunas de los razones detrás de esto. Se espera que todo el código nuevo siga las directrices de este documento. La mayoría de los maintainers solo aceptarán parches si se siguen estas reglas, y muchas personas solo revisan el código si tiene el estilo adecuado. :ref:`Documentation/process/submitting-patches.rst ` Este archivo describe en gran detalle cómo crear con éxito y enviar un parche, que incluye (pero no se limita a): - Contenidos del correo electrónico (email) - Formato del email - A quien se debe enviar Seguir estas reglas no garantiza el éxito (ya que todos los parches son sujetos a escrutinio de contenido y estilo), pero en caso de no seguir dichas reglas, el fracaso es prácticamente garantizado. Otras excelentes descripciones de cómo crear parches correctamente son: "The Perfect Patch" https://www.ozlabs.org/~akpm/stuff/tpp.txt "Linux kernel patch submission format" https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html :ref:`Documentation/process/stable-api-nonsense.rst ` Este archivo describe la lógica detrás de la decisión consciente de no tener una API estable dentro del kernel, incluidas cosas como: - Capas intermedias del subsistema (por compatibilidad?) - Portabilidad de drivers entre sistemas operativos - Mitigar el cambio rápido dentro del árbol de fuentes del kernel (o prevenir cambios rápidos) Este documento es crucial para comprender la filosofía del desarrollo de Linux y es muy importante para las personas que se mudan a Linux tras desarrollar otros sistemas operativos. :ref:`Documentation/process/security-bugs.rst ` Si cree que ha encontrado un problema de seguridad en el kernel de Linux, siga los pasos de este documento para ayudar a notificar a los desarrolladores del kernel y ayudar a resolver el problema. :ref:`Documentation/process/management-style.rst ` Este documento describe cómo operan los maintainers del kernel de Linux y los valores compartidos detrás de sus metodologías. Esta es una lectura importante para cualquier persona nueva en el desarrollo del kernel (o cualquier persona que simplemente sienta curiosidad por el campo IT), ya que clarifica muchos conceptos erróneos y confusiones comunes sobre el comportamiento único de los maintainers del kernel. :ref:`Documentation/process/stable-kernel-rules.rst ` Este archivo describe las reglas sobre cómo se suceden las versiones del kernel estable, y qué hacer si desea obtener un cambio en una de estas publicaciones. :ref:`Documentation/process/kernel-docs.rst ` Una lista de documentación externa relativa al desarrollo del kernel. Por favor consulte esta lista si no encuentra lo que están buscando dentro de la documentación del kernel. :ref:`Documentation/process/applying-patches.rst ` Una buena introducción que describe exactamente qué es un parche y cómo aplicarlo a las diferentes ramas de desarrollo del kernel. ”h]”hŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒö:ref:`Documentation/admin-guide/README.rst ` Este archivo ofrece una breve descripción del kernel de Linux y describe lo que es necesario hacer para configurar y compilar el kernel. Quienes sean nuevos en el kernel deben comenzar aquí. ”h]”(hŒterm”“”)”}”(hŒ4:ref:`Documentation/admin-guide/README.rst `”h]”h)”}”(hjh]”hæ)”}”(hjh]”hŒ$Documentation/admin-guide/README.rst”…””}”(hj"hžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”j,Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒreadme”uh1hhŸhØh K\hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K\hjubhŒ definition”“”)”}”(hhh]”h¨)”}”(hŒÀEste archivo ofrece una breve descripción del kernel de Linux y describe lo que es necesario hacer para configurar y compilar el kernel. Quienes sean nuevos en el kernel deben comenzar aquí.”h]”hŒÀEste archivo ofrece una breve descripción del kernel de Linux y describe lo que es necesario hacer para configurar y compilar el kernel. Quienes sean nuevos en el kernel deben comenzar aquí.”…””}”(hjIhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KZhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K\hjubj)”}”(hŒÆ:ref:`Documentation/process/changes.rst ` Este archivo proporciona una lista de los niveles mínimos de varios paquetes que son necesarios para construir y ejecutar el kernel exitosamente. ”h]”(j)”}”(hŒ2:ref:`Documentation/process/changes.rst `”h]”h)”}”(hjih]”hæ)”}”(hjih]”hŒ!Documentation/process/changes.rst”…””}”(hjnhžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjkubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”jxŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒchanges”uh1hhŸhØh Kahjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh KahjcubjE)”}”(hhh]”h¨)”}”(hŒ’Este archivo proporciona una lista de los niveles mínimos de varios paquetes que son necesarios para construir y ejecutar el kernel exitosamente.”h]”hŒ’Este archivo proporciona una lista de los niveles mínimos de varios paquetes que son necesarios para construir y ejecutar el kernel exitosamente.”…””}”(hj“hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K_hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Kahjubj)”}”(hX‚:ref:`Documentation/process/coding-style.rst ` Esto describe el estilo de código del kernel de Linux y algunas de los razones detrás de esto. Se espera que todo el código nuevo siga las directrices de este documento. La mayoría de los maintainers solo aceptarán parches si se siguen estas reglas, y muchas personas solo revisan el código si tiene el estilo adecuado. ”h]”(j)”}”(hŒ;:ref:`Documentation/process/coding-style.rst `”h]”h)”}”(hj³h]”hæ)”}”(hj³h]”hŒ&Documentation/process/coding-style.rst”…””}”(hj¸hžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjµubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”jÂŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ codingstyle”uh1hhŸhØh Khhj±ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Khhj­ubjE)”}”(hhh]”h¨)”}”(hXEEsto describe el estilo de código del kernel de Linux y algunas de los razones detrás de esto. Se espera que todo el código nuevo siga las directrices de este documento. La mayoría de los maintainers solo aceptarán parches si se siguen estas reglas, y muchas personas solo revisan el código si tiene el estilo adecuado.”h]”hXEEsto describe el estilo de código del kernel de Linux y algunas de los razones detrás de esto. Se espera que todo el código nuevo siga las directrices de este documento. La mayoría de los maintainers solo aceptarán parches si se siguen estas reglas, y muchas personas solo revisan el código si tiene el estilo adecuado.”…””}”(hjÝhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KdhjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhj­ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Khhjubj)”}”(hX :ref:`Documentation/process/submitting-patches.rst ` Este archivo describe en gran detalle cómo crear con éxito y enviar un parche, que incluye (pero no se limita a): - Contenidos del correo electrónico (email) - Formato del email - A quien se debe enviar Seguir estas reglas no garantiza el éxito (ya que todos los parches son sujetos a escrutinio de contenido y estilo), pero en caso de no seguir dichas reglas, el fracaso es prácticamente garantizado. Otras excelentes descripciones de cómo crear parches correctamente son: "The Perfect Patch" https://www.ozlabs.org/~akpm/stuff/tpp.txt "Linux kernel patch submission format" https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html ”h]”(j)”}”(hŒG:ref:`Documentation/process/submitting-patches.rst `”h]”h)”}”(hjýh]”hæ)”}”(hjýh]”hŒ,Documentation/process/submitting-patches.rst”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjÿubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”j Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒsubmittingpatches”uh1hhŸhØh K{hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K{hj÷ubjE)”}”(hhh]”(h¨)”}”(hŒsEste archivo describe en gran detalle cómo crear con éxito y enviar un parche, que incluye (pero no se limita a):”h]”hŒsEste archivo describe en gran detalle cómo crear con éxito y enviar un parche, que incluye (pero no se limita a):”…””}”(hj'hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kkhj$ubjŠ)”}”(hŒZ- Contenidos del correo electrónico (email) - Formato del email - A quien se debe enviar ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒ*Contenidos del correo electrónico (email)”h]”h¨)”}”(hj>h]”hŒ*Contenidos del correo electrónico (email)”…””}”(hj@hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Knhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj9ubjÕ)”}”(hŒFormato del email”h]”h¨)”}”(hjUh]”hŒFormato del email”…””}”(hjWhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KohjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj9ubjÕ)”}”(hŒA quien se debe enviar ”h]”h¨)”}”(hŒA quien se debe enviar”h]”hŒA quien se debe enviar”…””}”(hjnhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kphjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj9ubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh Knhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Knhj$ubh¨)”}”(hXSeguir estas reglas no garantiza el éxito (ya que todos los parches son sujetos a escrutinio de contenido y estilo), pero en caso de no seguir dichas reglas, el fracaso es prácticamente garantizado. Otras excelentes descripciones de cómo crear parches correctamente son:”h]”hXSeguir estas reglas no garantiza el éxito (ya que todos los parches son sujetos a escrutinio de contenido y estilo), pero en caso de no seguir dichas reglas, el fracaso es prácticamente garantizado. Otras excelentes descripciones de cómo crear parches correctamente son:”…””}”(hjŽhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Krhj$ubjŠ)”}”(hŒÈ"The Perfect Patch" https://www.ozlabs.org/~akpm/stuff/tpp.txt "Linux kernel patch submission format" https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html ”h]”j)”}”(hhh]”(j)”}”(hŒ?"The Perfect Patch" https://www.ozlabs.org/~akpm/stuff/tpp.txt ”h]”(j)”}”(hŒ"The Perfect Patch"”h]”hŒ“The Perfect Patch—…””}”(hj§hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Kxhj£ubjE)”}”(hhh]”h¨)”}”(hŒ*https://www.ozlabs.org/~akpm/stuff/tpp.txt”h]”j6)”}”(hjºh]”hŒ*https://www.ozlabs.org/~akpm/stuff/tpp.txt”…””}”(hj¼hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jºuh1j5hj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kxhjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Kxhj ubj)”}”(hŒx"Linux kernel patch submission format" https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html ”h]”(j)”}”(hŒ&"Linux kernel patch submission format"”h]”hŒ*“Linux kernel patch submission format—…””}”(hjàhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K{hjÜubjE)”}”(hhh]”h¨)”}”(hŒPhttps://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html”h]”j6)”}”(hjóh]”hŒPhttps://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html”…””}”(hjõhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jóuh1j5hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K{hjîubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K{hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjœubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Kwhj$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jDhj÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K{hjubj)”}”(hXi:ref:`Documentation/process/stable-api-nonsense.rst ` Este archivo describe la lógica detrás de la decisión consciente de no tener una API estable dentro del kernel, incluidas cosas como: - Capas intermedias del subsistema (por compatibilidad?) - Portabilidad de drivers entre sistemas operativos - Mitigar el cambio rápido dentro del árbol de fuentes del kernel (o prevenir cambios rápidos) Este documento es crucial para comprender la filosofía del desarrollo de Linux y es muy importante para las personas que se mudan a Linux tras desarrollar otros sistemas operativos. ”h]”(j)”}”(hŒJ:ref:`Documentation/process/stable-api-nonsense.rst `”h]”h)”}”(hj3h]”hæ)”}”(hj3h]”hŒ-Documentation/process/stable-api-nonsense.rst”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhj5ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”jBŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒstable_api_nonsense”uh1hhŸhØh Kˆhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Kˆhj-ubjE)”}”(hhh]”(h¨)”}”(hŒˆEste archivo describe la lógica detrás de la decisión consciente de no tener una API estable dentro del kernel, incluidas cosas como:”h]”hŒˆEste archivo describe la lógica detrás de la decisión consciente de no tener una API estable dentro del kernel, incluidas cosas como:”…””}”(hj]hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K~hjZubjŠ)”}”(hX - Capas intermedias del subsistema (por compatibilidad?) - Portabilidad de drivers entre sistemas operativos - Mitigar el cambio rápido dentro del árbol de fuentes del kernel (o prevenir cambios rápidos) Este documento es crucial para comprender la filosofía del desarrollo de Linux y es muy importante para las personas que se mudan a Linux tras desarrollar otros sistemas operativos. ”h]”(jŠ)”}”(hŒÑ- Capas intermedias del subsistema (por compatibilidad?) - Portabilidad de drivers entre sistemas operativos - Mitigar el cambio rápido dentro del árbol de fuentes del kernel (o prevenir cambios rápidos) ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒ6Capas intermedias del subsistema (por compatibilidad?)”h]”h¨)”}”(hjxh]”hŒ6Capas intermedias del subsistema (por compatibilidad?)”…””}”(hjzhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjsubjÕ)”}”(hŒ1Portabilidad de drivers entre sistemas operativos”h]”h¨)”}”(hjh]”hŒ1Portabilidad de drivers entre sistemas operativos”…””}”(hj‘hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K‚hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjsubjÕ)”}”(hŒ`Mitigar el cambio rápido dentro del árbol de fuentes del kernel (o prevenir cambios rápidos) ”h]”h¨)”}”(hŒ_Mitigar el cambio rápido dentro del árbol de fuentes del kernel (o prevenir cambios rápidos)”h]”hŒ_Mitigar el cambio rápido dentro del árbol de fuentes del kernel (o prevenir cambios rápidos)”…””}”(hj¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kƒhj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjsubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh Khjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Khjkubh¨)”}”(hŒ¶Este documento es crucial para comprender la filosofía del desarrollo de Linux y es muy importante para las personas que se mudan a Linux tras desarrollar otros sistemas operativos.”h]”hŒ¶Este documento es crucial para comprender la filosofía del desarrollo de Linux y es muy importante para las personas que se mudan a Linux tras desarrollar otros sistemas operativos.”…””}”(hjÈhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K†hjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh KhjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1jDhj-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Kˆhjubj)”}”(hX:ref:`Documentation/process/security-bugs.rst ` Si cree que ha encontrado un problema de seguridad en el kernel de Linux, siga los pasos de este documento para ayudar a notificar a los desarrolladores del kernel y ayudar a resolver el problema. ”h]”(j)”}”(hŒ=:ref:`Documentation/process/security-bugs.rst `”h]”h)”}”(hjîh]”hæ)”}”(hjîh]”hŒ'Documentation/process/security-bugs.rst”…””}”(hjóhžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjðubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”jýŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ securitybugs”uh1hhŸhØh Khjìubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh KhjèubjE)”}”(hhh]”h¨)”}”(hŒÄSi cree que ha encontrado un problema de seguridad en el kernel de Linux, siga los pasos de este documento para ayudar a notificar a los desarrolladores del kernel y ayudar a resolver el problema.”h]”hŒÄSi cree que ha encontrado un problema de seguridad en el kernel de Linux, siga los pasos de este documento para ayudar a notificar a los desarrolladores del kernel y ayudar a resolver el problema.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K‹hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhjèubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Khjubj)”}”(hXæ:ref:`Documentation/process/management-style.rst ` Este documento describe cómo operan los maintainers del kernel de Linux y los valores compartidos detrás de sus metodologías. Esta es una lectura importante para cualquier persona nueva en el desarrollo del kernel (o cualquier persona que simplemente sienta curiosidad por el campo IT), ya que clarifica muchos conceptos erróneos y confusiones comunes sobre el comportamiento único de los maintainers del kernel. ”h]”(j)”}”(hŒC:ref:`Documentation/process/management-style.rst `”h]”h)”}”(hj8h]”hæ)”}”(hj8h]”hŒ*Documentation/process/management-style.rst”…””}”(hj=hžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhj:ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”jGŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒmanagementstyle”uh1hhŸhØh K•hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K•hj2ubjE)”}”(hhh]”h¨)”}”(hX¡Este documento describe cómo operan los maintainers del kernel de Linux y los valores compartidos detrás de sus metodologías. Esta es una lectura importante para cualquier persona nueva en el desarrollo del kernel (o cualquier persona que simplemente sienta curiosidad por el campo IT), ya que clarifica muchos conceptos erróneos y confusiones comunes sobre el comportamiento único de los maintainers del kernel.”h]”hX¡Este documento describe cómo operan los maintainers del kernel de Linux y los valores compartidos detrás de sus metodologías. Esta es una lectura importante para cualquier persona nueva en el desarrollo del kernel (o cualquier persona que simplemente sienta curiosidad por el campo IT), ya que clarifica muchos conceptos erróneos y confusiones comunes sobre el comportamiento único de los maintainers del kernel.”…””}”(hjbhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K•hjubj)”}”(hŒì:ref:`Documentation/process/stable-kernel-rules.rst ` Este archivo describe las reglas sobre cómo se suceden las versiones del kernel estable, y qué hacer si desea obtener un cambio en una de estas publicaciones. ”h]”(j)”}”(hŒJ:ref:`Documentation/process/stable-kernel-rules.rst `”h]”h)”}”(hj‚h]”hæ)”}”(hj‚h]”hŒ-Documentation/process/stable-kernel-rules.rst”…””}”(hj‡hžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhj„ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”j‘Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒstable_kernel_rules”uh1hhŸhØh Kšhj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Kšhj|ubjE)”}”(hhh]”h¨)”}”(hŒ Este archivo describe las reglas sobre cómo se suceden las versiones del kernel estable, y qué hacer si desea obtener un cambio en una de estas publicaciones.”h]”hŒ Este archivo describe las reglas sobre cómo se suceden las versiones del kernel estable, y qué hacer si desea obtener un cambio en una de estas publicaciones.”…””}”(hj¬hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K˜hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh Kšhjubj)”}”(hŒï:ref:`Documentation/process/kernel-docs.rst ` Una lista de documentación externa relativa al desarrollo del kernel. Por favor consulte esta lista si no encuentra lo que están buscando dentro de la documentación del kernel. ”h]”(j)”}”(hŒ::ref:`Documentation/process/kernel-docs.rst `”h]”h)”}”(hjÌh]”hæ)”}”(hjÌh]”hŒ%Documentation/process/kernel-docs.rst”…””}”(hjÑhžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjÎubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”jÛŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ kernel_docs”uh1hhŸhØh KŸhjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh KŸhjÆubjE)”}”(hhh]”h¨)”}”(hŒ³Una lista de documentación externa relativa al desarrollo del kernel. Por favor consulte esta lista si no encuentra lo que están buscando dentro de la documentación del kernel.”h]”hŒ³Una lista de documentación externa relativa al desarrollo del kernel. Por favor consulte esta lista si no encuentra lo que están buscando dentro de la documentación del kernel.”…””}”(hjöhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Khjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhjÆubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh KŸhjubj)”}”(hŒË:ref:`Documentation/process/applying-patches.rst ` Una buena introducción que describe exactamente qué es un parche y cómo aplicarlo a las diferentes ramas de desarrollo del kernel. ”h]”(j)”}”(hŒD:ref:`Documentation/process/applying-patches.rst `”h]”h)”}”(hjh]”hæ)”}”(hjh]”hŒ*Documentation/process/applying-patches.rst”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”j%Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒapplying_patches”uh1hhŸhØh K£hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K£hjubjE)”}”(hhh]”h¨)”}”(hŒ…Una buena introducción que describe exactamente qué es un parche y cómo aplicarlo a las diferentes ramas de desarrollo del kernel.”h]”hŒ…Una buena introducción que describe exactamente qué es un parche y cómo aplicarlo a las diferentes ramas de desarrollo del kernel.”…””}”(hj@hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K¢hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh K£hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh KYhjµhžhubh¨)”}”(hX1El kernel también tiene una gran cantidad de documentos que pueden ser generados automáticamente desde el propio código fuente o desde ReStructuredText markups (ReST), como este. Esto incluye un descripción completa de la API en el kernel y reglas sobre cómo manejar cerrojos (locking) correctamente.”h]”hX1El kernel también tiene una gran cantidad de documentos que pueden ser generados automáticamente desde el propio código fuente o desde ReStructuredText markups (ReST), como este. Esto incluye un descripción completa de la API en el kernel y reglas sobre cómo manejar cerrojos (locking) correctamente.”…””}”(hjfhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K¥hjµhžhubh¨)”}”(hŒETodos estos documentos se pueden generar como PDF o HTML ejecutando::”h]”hŒDTodos estos documentos se pueden generar como PDF o HTML ejecutando:”…””}”(hjthžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K«hjµhžhubhŒ literal_block”“”)”}”(hŒmake pdfdocs make htmldocs”h]”hŒmake pdfdocs make htmldocs”…””}”hj„sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j‚hŸhØh K­hjµhžhubh¨)”}”(hŒ@respectivamente desde el directorio fuente principal del kernel.”h]”hŒ@respectivamente desde el directorio fuente principal del kernel.”…””}”(hj”hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K°hjµhžhubh¨)”}”(hŒ‹Los documentos que utilizan el markup ReST se generarán en Documentation/output. También se pueden generar en formatos LaTeX y ePub con::”h]”hŒŠLos documentos que utilizan el markup ReST se generarán en Documentation/output. También se pueden generar en formatos LaTeX y ePub con:”…””}”(hj¢hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K²hjµhžhubjƒ)”}”(hŒmake latexdocs make epubdocs”h]”hŒmake latexdocs make epubdocs”…””}”hj°sbah}”(h]”h ]”h"]”h$]”h&]”j’j“uh1j‚hŸhØh K¶hjµhžhubeh}”(h]”Œ documentacion”ah ]”h"]”Œdocumentación”ah$]”h&]”uh1jqhjshžhhŸhØh KLubjr)”}”(hhh]”(jw)”}”(hŒ-Convertirse en un/a desarrollador/a de kernel”h]”hŒ-Convertirse en un/a desarrollador/a de kernel”…””}”(hjÉhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjÆhžhhŸhØh Kºubh¨)”}”(hŒlSi no sabe nada sobre el desarrollo del kernel de Linux, debería consultar el proyecto Linux KernelNewbies:”h]”hŒlSi no sabe nada sobre el desarrollo del kernel de Linux, debería consultar el proyecto Linux KernelNewbies:”…””}”(hj×hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K¼hjÆhžhubjŠ)”}”(hŒhttps://kernelnewbies.org ”h]”h¨)”}”(hŒhttps://kernelnewbies.org”h]”j6)”}”(hjëh]”hŒhttps://kernelnewbies.org”…””}”(hjíhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jëuh1j5hjéubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh K¿hjåubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh K¿hjÆhžhubh¨)”}”(hX¥Consiste en una útil lista de correo donde puede preguntar casi cualquier tipo de pregunta básica de desarrollo del kernel (asegúrese de buscar en los archivos primero, antes de preguntar algo que ya ha sido respondido en el pasado.) También tiene un canal IRC que puede usar para hacer preguntas en tiempo real, y una gran cantidad de documentación útil para ir aprendiendo sobre el desarrollo del kernel de Linux.”h]”hX¥Consiste en una útil lista de correo donde puede preguntar casi cualquier tipo de pregunta básica de desarrollo del kernel (asegúrese de buscar en los archivos primero, antes de preguntar algo que ya ha sido respondido en el pasado.) También tiene un canal IRC que puede usar para hacer preguntas en tiempo real, y una gran cantidad de documentación útil para ir aprendiendo sobre el desarrollo del kernel de Linux.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÁhjÆhžhubh¨)”}”(hXEl sitio web tiene información básica sobre la organización del código, subsistemas, y proyectos actuales (tanto dentro como fuera del árbol). También describe alguna información logística básica, como cómo compilar un kernel y aplicar un parche.”h]”hXEl sitio web tiene información básica sobre la organización del código, subsistemas, y proyectos actuales (tanto dentro como fuera del árbol). También describe alguna información logística básica, como cómo compilar un kernel y aplicar un parche.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÈhjÆhžhubh¨)”}”(hŒ¸Si no sabe por dónde quiere empezar, pero quieres buscar alguna tarea que comenzar a hacer para unirse a la comunidad de desarrollo del kernel, acuda al proyecto Linux Kernel Janitor:”h]”hŒ¸Si no sabe por dónde quiere empezar, pero quieres buscar alguna tarea que comenzar a hacer para unirse a la comunidad de desarrollo del kernel, acuda al proyecto Linux Kernel Janitor:”…””}”(hj#hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÍhjÆhžhubjŠ)”}”(hŒ)https://kernelnewbies.org/KernelJanitors ”h]”h¨)”}”(hŒ(https://kernelnewbies.org/KernelJanitors”h]”j6)”}”(hj7h]”hŒ(https://kernelnewbies.org/KernelJanitors”…””}”(hj9hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j7uh1j5hj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÑhj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh KÑhjÆhžhubh¨)”}”(hX³Es un gran lugar para comenzar. Describe una lista de problemas relativamente simples que deben limpiarse y corregirse dentro del código fuente del kernel de Linux árbol de fuentes. Trabajando con los desarrolladores a cargo de este proyecto, aprenderá los conceptos básicos para incluir su parche en el árbol del kernel de Linux, y posiblemente descubrir en la dirección en que trabajar a continuación, si no tiene ya una idea.”h]”hX³Es un gran lugar para comenzar. Describe una lista de problemas relativamente simples que deben limpiarse y corregirse dentro del código fuente del kernel de Linux árbol de fuentes. Trabajando con los desarrolladores a cargo de este proyecto, aprenderá los conceptos básicos para incluir su parche en el árbol del kernel de Linux, y posiblemente descubrir en la dirección en que trabajar a continuación, si no tiene ya una idea.”…””}”(hjShžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÓhjÆhžhubh¨)”}”(hXQAntes de realizar cualquier modificación real al código del kernel de Linux, es imperativo entender cómo funciona el código en cuestión. Para este propósito, nada es mejor que leerlo directamente (lo más complicado está bien comentado), tal vez incluso con la ayuda de herramientas especializadas. Una de esas herramientas que se recomienda especialmente es el proyecto Linux Cross-Reference, que es capaz de presentar el código fuente en un formato de página web indexada y autorreferencial. Una excelente puesta al día del repositorio del código del kernel se puede encontrar en:”h]”hXQAntes de realizar cualquier modificación real al código del kernel de Linux, es imperativo entender cómo funciona el código en cuestión. Para este propósito, nada es mejor que leerlo directamente (lo más complicado está bien comentado), tal vez incluso con la ayuda de herramientas especializadas. Una de esas herramientas que se recomienda especialmente es el proyecto Linux Cross-Reference, que es capaz de presentar el código fuente en un formato de página web indexada y autorreferencial. Una excelente puesta al día del repositorio del código del kernel se puede encontrar en:”…””}”(hjahžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KÛhjÆhžhubjŠ)”}”(hŒhttps://elixir.bootlin.com/ ”h]”h¨)”}”(hŒhttps://elixir.bootlin.com/”h]”j6)”}”(hjuh]”hŒhttps://elixir.bootlin.com/”…””}”(hjwhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”juuh1j5hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kåhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh KåhjÆhžhubeh}”(h]”Œ-convertirse-en-un-a-desarrollador-a-de-kernel”ah ]”h"]”Œ-convertirse en un/a desarrollador/a de kernel”ah$]”h&]”uh1jqhjshžhhŸhØh Kºubjr)”}”(hhh]”(jw)”}”(hŒEl proceso de desarrollo”h]”hŒEl proceso de desarrollo”…””}”(hjœhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj™hžhhŸhØh Kèubh¨)”}”(hŒ¿El proceso de desarrollo del kernel de Linux consiste actualmente de diferentes "branches" (ramas) con muchos distintos subsistemas específicos a cada una de ellas. Las diferentes ramas son:”h]”hŒÃEl proceso de desarrollo del kernel de Linux consiste actualmente de diferentes “branches†(ramas) con muchos distintos subsistemas específicos a cada una de ellas. Las diferentes ramas son:”…””}”(hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kêhj™hžhubjŠ)”}”(hŒ­- El código principal de Linus (mainline tree) - Varios árboles estables con múltiples major numbers - Subsistemas específicos - linux-next, para integración y testing ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒ-El código principal de Linus (mainline tree)”h]”h¨)”}”(hjÁh]”hŒ-El código principal de Linus (mainline tree)”…””}”(hjÃhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kîhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj¼ubjÕ)”}”(hŒ5Varios árboles estables con múltiples major numbers”h]”h¨)”}”(hjØh]”hŒ5Varios árboles estables con múltiples major numbers”…””}”(hjÚhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh KïhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj¼ubjÕ)”}”(hŒSubsistemas específicos”h]”h¨)”}”(hjïh]”hŒSubsistemas específicos”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kðhjíubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj¼ubjÕ)”}”(hŒ(linux-next, para integración y testing ”h]”h¨)”}”(hŒ'linux-next, para integración y testing”h]”hŒ'linux-next, para integración y testing”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kñhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj¼ubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh Kîhj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Kîhj™hžhubjr)”}”(hhh]”(jw)”}”(hŒ Mainline tree (Ãrbol principal)”h]”hŒ Mainline tree (Ãrbol principal)”…””}”(hj+ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj( hžhhŸhØh Kôubh¨)”}”(hŒ”El mainline tree es mantenido por Linus Torvalds, y puede encontrarse en https://kernel.org o en su repo. El proceso de desarrollo es el siguiente:”h]”(hŒIEl mainline tree es mantenido por Linus Torvalds, y puede encontrarse en ”…””}”(hj9 hžhhŸNh Nubj6)”}”(hŒhttps://kernel.org”h]”hŒhttps://kernel.org”…””}”(hjA hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jC uh1j5hj9 ubhŒ9 o en su repo. El proceso de desarrollo es el siguiente:”…””}”(hj9 hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Köhj( hžhubjŠ)”}”(hXP- Tan pronto como se lanza un nuevo kernel, se abre una ventana de dos semanas, durante este período de tiempo, los maintainers pueden enviar grandes modificaciones a Linus, por lo general los parches que ya se han incluido en el linux-next durante unas semanas. La forma preferida de enviar grandes cambios es usando git (la herramienta de administración de código fuente del kernel, más información al respecto en https://git-scm.com/), pero los parches simples también son validos. - Después de dos semanas, se lanza un kernel -rc1 y la atención se centra en hacer el kernel nuevo lo más estable ("solido") posible. La mayoría de los parches en este punto deben arreglar una regresión. Los errores que siempre han existido no son regresiones, por lo tanto, solo envíe este tipo de correcciones si son importantes. Tenga en cuenta que se podría aceptar un controlador (o sistema de archivos) completamente nuevo después de -rc1 porque no hay riesgo de causar regresiones con tal cambio, siempre y cuando el cambio sea autónomo y no afecte áreas fuera del código que se está agregando. git se puede usar para enviar parches a Linus después de que se lance -rc1, pero los parches también deben ser enviado a una lista de correo pública para su revisión. - Se lanza un nuevo -rc cada vez que Linus considera que el árbol git actual esta en un estado razonablemente sano y adecuado para la prueba. La meta es lanzar un nuevo kernel -rc cada semana. - El proceso continúa hasta que el kernel se considera "listo", y esto puede durar alrededor de 6 semanas. ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hXèTan pronto como se lanza un nuevo kernel, se abre una ventana de dos semanas, durante este período de tiempo, los maintainers pueden enviar grandes modificaciones a Linus, por lo general los parches que ya se han incluido en el linux-next durante unas semanas. La forma preferida de enviar grandes cambios es usando git (la herramienta de administración de código fuente del kernel, más información al respecto en https://git-scm.com/), pero los parches simples también son validos.”h]”h¨)”}”(hXèTan pronto como se lanza un nuevo kernel, se abre una ventana de dos semanas, durante este período de tiempo, los maintainers pueden enviar grandes modificaciones a Linus, por lo general los parches que ya se han incluido en el linux-next durante unas semanas. La forma preferida de enviar grandes cambios es usando git (la herramienta de administración de código fuente del kernel, más información al respecto en https://git-scm.com/), pero los parches simples también son validos.”h]”(hX£Tan pronto como se lanza un nuevo kernel, se abre una ventana de dos semanas, durante este período de tiempo, los maintainers pueden enviar grandes modificaciones a Linus, por lo general los parches que ya se han incluido en el linux-next durante unas semanas. La forma preferida de enviar grandes cambios es usando git (la herramienta de administración de código fuente del kernel, más información al respecto en ”…””}”(hje hžhhŸNh Nubj6)”}”(hŒhttps://git-scm.com/”h]”hŒhttps://git-scm.com/”…””}”(hjm hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jo uh1j5hje ubhŒ1), pero los parches simples también son validos.”…””}”(hje hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Kùhja ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj^ ubjÕ)”}”(hXDespués de dos semanas, se lanza un kernel -rc1 y la atención se centra en hacer el kernel nuevo lo más estable ("solido") posible. La mayoría de los parches en este punto deben arreglar una regresión. Los errores que siempre han existido no son regresiones, por lo tanto, solo envíe este tipo de correcciones si son importantes. Tenga en cuenta que se podría aceptar un controlador (o sistema de archivos) completamente nuevo después de -rc1 porque no hay riesgo de causar regresiones con tal cambio, siempre y cuando el cambio sea autónomo y no afecte áreas fuera del código que se está agregando. git se puede usar para enviar parches a Linus después de que se lance -rc1, pero los parches también deben ser enviado a una lista de correo pública para su revisión.”h]”h¨)”}”(hXDespués de dos semanas, se lanza un kernel -rc1 y la atención se centra en hacer el kernel nuevo lo más estable ("solido") posible. La mayoría de los parches en este punto deben arreglar una regresión. Los errores que siempre han existido no son regresiones, por lo tanto, solo envíe este tipo de correcciones si son importantes. Tenga en cuenta que se podría aceptar un controlador (o sistema de archivos) completamente nuevo después de -rc1 porque no hay riesgo de causar regresiones con tal cambio, siempre y cuando el cambio sea autónomo y no afecte áreas fuera del código que se está agregando. git se puede usar para enviar parches a Linus después de que se lance -rc1, pero los parches también deben ser enviado a una lista de correo pública para su revisión.”h]”hXDespués de dos semanas, se lanza un kernel -rc1 y la atención se centra en hacer el kernel nuevo lo más estable (“solidoâ€) posible. La mayoría de los parches en este punto deben arreglar una regresión. Los errores que siempre han existido no son regresiones, por lo tanto, solo envíe este tipo de correcciones si son importantes. Tenga en cuenta que se podría aceptar un controlador (o sistema de archivos) completamente nuevo después de -rc1 porque no hay riesgo de causar regresiones con tal cambio, siempre y cuando el cambio sea autónomo y no afecte áreas fuera del código que se está agregando. git se puede usar para enviar parches a Linus después de que se lance -rc1, pero los parches también deben ser enviado a una lista de correo pública para su revisión.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MhjŒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj^ ubjÕ)”}”(hŒ¿Se lanza un nuevo -rc cada vez que Linus considera que el árbol git actual esta en un estado razonablemente sano y adecuado para la prueba. La meta es lanzar un nuevo kernel -rc cada semana.”h]”h¨)”}”(hŒ¿Se lanza un nuevo -rc cada vez que Linus considera que el árbol git actual esta en un estado razonablemente sano y adecuado para la prueba. La meta es lanzar un nuevo kernel -rc cada semana.”h]”hŒ¿Se lanza un nuevo -rc cada vez que Linus considera que el árbol git actual esta en un estado razonablemente sano y adecuado para la prueba. La meta es lanzar un nuevo kernel -rc cada semana.”…””}”(hj¨ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M hj¤ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj^ ubjÕ)”}”(hŒjEl proceso continúa hasta que el kernel se considera "listo", y esto puede durar alrededor de 6 semanas. ”h]”h¨)”}”(hŒiEl proceso continúa hasta que el kernel se considera "listo", y esto puede durar alrededor de 6 semanas.”h]”hŒmEl proceso continúa hasta que el kernel se considera “listoâ€, y esto puede durar alrededor de 6 semanas.”…””}”(hjÀ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhj¼ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj^ ubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh KùhjZ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Kùhj( hžhubh¨)”}”(hŒVale la pena mencionar lo que Andrew Morton escribió en las listas de correo del kernel de Linux, sobre lanzamientos del kernel (traducido):”h]”hŒVale la pena mencionar lo que Andrew Morton escribió en las listas de correo del kernel de Linux, sobre lanzamientos del kernel (traducido):”…””}”(hjà hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhj( hžhubjŠ)”}”(hŒˆ*"Nadie sabe cuándo se publicara un nuevo kernel, pues esto sucede según el estado de los bugs, no de una cronología preconcebida."* ”h]”h¨)”}”(hŒ‡*"Nadie sabe cuándo se publicara un nuevo kernel, pues esto sucede según el estado de los bugs, no de una cronología preconcebida."*”h]”hŒemphasis”“”)”}”(hjô h]”hŒ‰â€œNadie sabe cuándo se publicara un nuevo kernel, pues esto sucede según el estado de los bugs, no de una cronología preconcebida.—…””}”(hjø hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jö hjò ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhjî ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Mhj( hžhubeh}”(h]”Œmainline-tree-arbol-principal”ah ]”h"]”Œ mainline tree (árbol principal)”ah$]”h&]”uh1jqhj™hžhhŸhØh Kôubjr)”}”(hhh]”(jw)”}”(hŒ5Varios árboles estables con múltiples major numbers”h]”hŒ5Varios árboles estables con múltiples major numbers”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj hžhhŸhØh Mubh¨)”}”(hXmLos kernels con versiones de 3 partes son kernels estables. Estos contienen correcciones relativamente pequeñas y críticas para problemas de seguridad o importantes regresiones descubiertas para una publicación de código. Cada lanzamiento en una gran serie estable incrementa la tercera parte de la versión número, manteniendo las dos primeras partes iguales.”h]”hXmLos kernels con versiones de 3 partes son kernels estables. Estos contienen correcciones relativamente pequeñas y críticas para problemas de seguridad o importantes regresiones descubiertas para una publicación de código. Cada lanzamiento en una gran serie estable incrementa la tercera parte de la versión número, manteniendo las dos primeras partes iguales.”…””}”(hj* hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhj hžhubh¨)”}”(hŒºEsta es la rama recomendada para los usuarios que quieren la versión estable más reciente del kernel, y no están interesados en ayudar a probar versiones en desarrollo/experimentales.”h]”hŒºEsta es la rama recomendada para los usuarios que quieren la versión estable más reciente del kernel, y no están interesados en ayudar a probar versiones en desarrollo/experimentales.”…””}”(hj8 hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M hj hžhubh¨)”}”(hXyLos árboles estables son mantenidos por el equipo "estable" , y se liberan (publican) según lo dicten las necesidades. El período de liberación normal es de aproximadamente dos semanas, pero puede ser más largo si no hay problemas apremiantes. Un problema relacionado con la seguridad, en cambio, puede causar un lanzamiento casi instantáneamente.”h]”(hŒBLos árboles estables son mantenidos por el equipo “estable†<”…””}”(hjF hžhhŸNh Nubj6)”}”(hŒstable@vger.kernel.org”h]”hŒstable@vger.kernel.org”…””}”(hjN hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:stable@vger.kernel.org”uh1j5hjF ubhX%>, y se liberan (publican) según lo dicten las necesidades. El período de liberación normal es de aproximadamente dos semanas, pero puede ser más largo si no hay problemas apremiantes. Un problema relacionado con la seguridad, en cambio, puede causar un lanzamiento casi instantáneamente.”…””}”(hjF hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M$hj hžhubh¨)”}”(hŒàEl archivo :ref:`Documentación/proceso/stable-kernel-rules.rst ` en el árbol del kernel documenta qué tipos de cambios son aceptables para el árbol estable y cómo funciona el proceso de lanzamiento.”h]”(hŒ El archivo ”…””}”(hjh hžhhŸNh Nubh)”}”(hŒK:ref:`Documentación/proceso/stable-kernel-rules.rst `”h]”hæ)”}”(hjr h]”hŒ.Documentación/proceso/stable-kernel-rules.rst”…””}”(hjt hžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjp ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”j~ Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒstable_kernel_rules”uh1hhŸhØh M+hjh ubhŒŠ en el árbol del kernel documenta qué tipos de cambios son aceptables para el árbol estable y cómo funciona el proceso de lanzamiento.”…””}”(hjh hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M+hj hžhubeh}”(h]”Œ3varios-arboles-estables-con-multiples-major-numbers”ah ]”h"]”Œ5varios árboles estables con múltiples major numbers”ah$]”h&]”uh1jqhj™hžhhŸhØh Mubjr)”}”(hhh]”(jw)”}”(hŒSubsistemas específicos”h]”hŒSubsistemas específicos”…””}”(hj¥ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj¢ hžhhŸhØh M0ubh¨)”}”(hXäLos maintainers de los diversos subsistemas del kernel --- y también muchos desarrolladores de subsistemas del kernel --- exponen su estado actual de desarrollo en repositorios fuente. De esta manera, otros pueden ver lo que está sucediendo en las diferentes áreas del kernel. En áreas donde el desarrollo es rápido, se le puede pedir a un desarrollador que base sus envíos en tal árbol del subsistema del kernel, para evitar conflictos entre este y otros trabajos ya en curso.”h]”hXäLos maintainers de los diversos subsistemas del kernel --- y también muchos desarrolladores de subsistemas del kernel --- exponen su estado actual de desarrollo en repositorios fuente. De esta manera, otros pueden ver lo que está sucediendo en las diferentes áreas del kernel. En áreas donde el desarrollo es rápido, se le puede pedir a un desarrollador que base sus envíos en tal árbol del subsistema del kernel, para evitar conflictos entre este y otros trabajos ya en curso.”…””}”(hj³ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M1hj¢ hžhubh¨)”}”(hX#La mayoría de estos repositorios son árboles git, pero también hay otros SCM en uso, o colas de parches que se publican como series quilt. Las direcciones de estos repositorios de subsistemas se enumeran en el archivo MAINTAINERS. Muchos de estos se pueden ver en https://git.kernel.org/.”h]”(hX La mayoría de estos repositorios son árboles git, pero también hay otros SCM en uso, o colas de parches que se publican como series quilt. Las direcciones de estos repositorios de subsistemas se enumeran en el archivo MAINTAINERS. Muchos de estos se pueden ver en ”…””}”(hjÁ hžhhŸNh Nubj6)”}”(hŒhttps://git.kernel.org/”h]”hŒhttps://git.kernel.org/”…””}”(hjÉ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jË uh1j5hjÁ ubhŒ.”…””}”(hjÁ hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M9hj¢ hžhubh¨)”}”(hX7Antes de que un parche propuesto se incluya con dicho árbol de subsistemas, es sujeto a revisión, que ocurre principalmente en las listas de correo (ver la sección respectiva a continuación). Para varios subsistemas del kernel, esta revisión se rastrea con la herramienta patchwork. Patchwork ofrece una interfaz web que muestra publicaciones de parches, cualquier comentario sobre un parche o revisiones a él, y los maintainers pueden marcar los parches como en revisión, aceptado, o rechazado. La mayoría de estos sitios de trabajo de parches se enumeran en”h]”hX7Antes de que un parche propuesto se incluya con dicho árbol de subsistemas, es sujeto a revisión, que ocurre principalmente en las listas de correo (ver la sección respectiva a continuación). Para varios subsistemas del kernel, esta revisión se rastrea con la herramienta patchwork. Patchwork ofrece una interfaz web que muestra publicaciones de parches, cualquier comentario sobre un parche o revisiones a él, y los maintainers pueden marcar los parches como en revisión, aceptado, o rechazado. La mayoría de estos sitios de trabajo de parches se enumeran en”…””•Â}”(hjâ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M>hj¢ hžhubh¨)”}”(hŒhttps://patchwork.kernel.org/.”h]”(j6)”}”(hŒhttps://patchwork.kernel.org/”h]”hŒhttps://patchwork.kernel.org/”…””}”(hjô hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jö uh1j5hjð ubhŒ.”…””}”(hjð hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MGhj¢ hžhubeh}”(h]”Œsubsistemas-especificos”ah ]”h"]”Œsubsistemas específicos”ah$]”h&]”uh1jqhj™hžhhŸhØh M0ubjr)”}”(hhh]”(jw)”}”(hŒ'linux-next, para integración y testing”h]”hŒ'linux-next, para integración y testing”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj hžhhŸhØh MJubh¨)”}”(hXAntes de que las actualizaciones de los árboles de subsistemas se combinen con el árbol principal, necesitan probar su integración. Para ello, existe un repositorio especial de pruebas en el que se encuentran casi todos los árboles de subsistema, actualizado casi a diario:”h]”hXAntes de que las actualizaciones de los árboles de subsistemas se combinen con el árbol principal, necesitan probar su integración. Para ello, existe un repositorio especial de pruebas en el que se encuentran casi todos los árboles de subsistema, actualizado casi a diario:”…””}”(hj& hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MLhj hžhubjŠ)”}”(hŒ?https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git ”h]”h¨)”}”(hŒ>https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git”h]”j6)”}”(hj: h]”hŒ>https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git”…””}”(hj< hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j: uh1j5hj8 ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MQhj4 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh MQhj hžhubh¨)”}”(hŒóDe esta manera, linux-next ofrece una perspectiva resumida de lo que se espera que entre en el kernel principal en el próximo período de "merge" (fusión de código). Los testers aventureros son bienvenidos a probar linux-next en ejecución.”h]”hŒ÷De esta manera, linux-next ofrece una perspectiva resumida de lo que se espera que entre en el kernel principal en el próximo período de “merge†(fusión de código). Los testers aventureros son bienvenidos a probar linux-next en ejecución.”…””}”(hjV hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MShj hžhubeh}”(h]”Œ%linux-next-para-integracion-y-testing”ah ]”h"]”Œ'linux-next, para integración y testing”ah$]”h&]”uh1jqhj™hžhhŸhØh MJubeh}”(h]”Œel-proceso-de-desarrollo”ah ]”h"]”Œel proceso de desarrollo”ah$]”h&]”uh1jqhjshžhhŸhØh Kèubjr)”}”(hhh]”(jw)”}”(hŒ Reportar bugs”h]”hŒ Reportar bugs”…””}”(hjw hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjt hžhhŸhØh MYubh¨)”}”(hXEl archivo 'Documentación/admin-guide/reporting-issues.rst' en el directorio principal del kernel describe cómo informar un posible bug del kernel y detalles sobre qué tipo de información necesitan los desarrolladores del kernel para ayudar a rastrear la fuente del problema.”h]”hXEl archivo ‘Documentación/admin-guide/reporting-issues.rst’ en el directorio principal del kernel describe cómo informar un posible bug del kernel y detalles sobre qué tipo de información necesitan los desarrolladores del kernel para ayudar a rastrear la fuente del problema.”…””}”(hj… hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M[hjt hžhubeh}”(h]”Œ reportar-bugs”ah ]”h"]”Œ reportar bugs”ah$]”h&]”uh1jqhjshžhhŸhØh MYubjr)”}”(hhh]”(jw)”}”(hŒGestión de informes de bugs”h]”hŒGestión de informes de bugs”…””}”(hjž hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj› hžhhŸhØh Maubh¨)”}”(hXÿUna de las mejores formas de poner en práctica sus habilidades de hacking es arreglando errores reportados por otras personas. No solo ayudará a hacer el kernel más estable, también aprenderá a solucionar problemas del mundo real y mejora sus habilidades, y otros desarrolladores se darán cuenta de tu presencia. La corrección de errores es una de las mejores formas de ganar méritos entre desarrolladores, porque no a muchas personas les gusta perder el tiempo arreglando los errores de otras personas.”h]”hXÿUna de las mejores formas de poner en práctica sus habilidades de hacking es arreglando errores reportados por otras personas. No solo ayudará a hacer el kernel más estable, también aprenderá a solucionar problemas del mundo real y mejora sus habilidades, y otros desarrolladores se darán cuenta de tu presencia. La corrección de errores es una de las mejores formas de ganar méritos entre desarrolladores, porque no a muchas personas les gusta perder el tiempo arreglando los errores de otras personas.”…””}”(hj¬ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mchj› hžhubh¨)”}”(hXcPara trabajar en informes de errores ya reportados, busque un subsistema que le interese. Verifique el archivo MAINTAINERS donde se informan los errores de ese subsistema; con frecuencia será una lista de correo, rara vez un rastreador de errores (bugtracker). Busque en los archivos de dicho lugar para informes recientes y ayude donde lo crea conveniente. También es posible que desee revisar https://bugzilla.kernel.org para informes de errores; solo un puñado de subsistemas del kernel lo emplean activamente para informar o rastrear; sin embargo, todos los errores para todo el kernel se archivan allí.”h]”(hXPara trabajar en informes de errores ya reportados, busque un subsistema que le interese. Verifique el archivo MAINTAINERS donde se informan los errores de ese subsistema; con frecuencia será una lista de correo, rara vez un rastreador de errores (bugtracker). Busque en los archivos de dicho lugar para informes recientes y ayude donde lo crea conveniente. También es posible que desee revisar ”…””}”(hjº hžhhŸNh Nubj6)”}”(hŒhttps://bugzilla.kernel.org”h]”hŒhttps://bugzilla.kernel.org”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jÄ uh1j5hjº ubhŒ» para informes de errores; solo un puñado de subsistemas del kernel lo emplean activamente para informar o rastrear; sin embargo, todos los errores para todo el kernel se archivan allí.”…””}”(hjº hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mkhj› hžhubeh}”(h]”Œgestion-de-informes-de-bugs”ah ]”h"]”Œgestión de informes de bugs”ah$]”h&]”uh1jqhjshžhhŸhØh Maubjr)”}”(hhh]”(jw)”}”(hŒListas de correo”h]”hŒListas de correo”…””}”(hjæ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjã hžhhŸhØh Mvubh¨)”}”(hŒòComo se explica en algunos de los documentos anteriores, la mayoría de desarrolladores del kernel participan en la lista de correo del kernel de Linux. Detalles sobre cómo para suscribirse y darse de baja de la lista se pueden encontrar en:”h]”hŒòComo se explica en algunos de los documentos anteriores, la mayoría de desarrolladores del kernel participan en la lista de correo del kernel de Linux. Detalles sobre cómo para suscribirse y darse de baja de la lista se pueden encontrar en:”…””}”(hjô hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mxhjã hžhubjŠ)”}”(hŒ4http://vger.kernel.org/vger-lists.html#linux-kernel ”h]”h¨)”}”(hŒ3http://vger.kernel.org/vger-lists.html#linux-kernel”h]”j6)”}”(hj h]”hŒ3http://vger.kernel.org/vger-lists.html#linux-kernel”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j uh1j5hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M}hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh M}hjã hžhubh¨)”}”(hŒ—Existen archivos de la lista de correo en la web en muchos lugares distintos. Utilice un motor de búsqueda para encontrar estos archivos. Por ejemplo:”h]”hŒ—Existen archivos de la lista de correo en la web en muchos lugares distintos. Utilice un motor de búsqueda para encontrar estos archivos. Por ejemplo:”…””}”(hj$ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhjã hžhubjŠ)”}”(hŒ(http://dir.gmane.org/gmane.linux.kernel ”h]”h¨)”}”(hŒ'http://dir.gmane.org/gmane.linux.kernel”h]”j6)”}”(hj8 h]”hŒ'http://dir.gmane.org/gmane.linux.kernel”…””}”(hj: hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j8 uh1j5hj6 ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mƒhj2 ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Mƒhjã hžhubh¨)”}”(hŒÕEs muy recomendable que busque en los archivos sobre el tema que desea tratar, antes de publicarlo en la lista. Un montón de cosas ya discutidas en detalle solo se registran en los archivos de la lista de correo.”h]”hŒÕEs muy recomendable que busque en los archivos sobre el tema que desea tratar, antes de publicarlo en la lista. Un montón de cosas ya discutidas en detalle solo se registran en los archivos de la lista de correo.”…””}”(hjT hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M…hjã hžhubh¨)”}”(hŒõLa mayoría de los subsistemas individuales del kernel también tienen sus propias lista de correo donde hacen sus esfuerzos de desarrollo. Revise el archivo MAINTAINERS para obtener referencias de lo que estas listas para los diferentes grupos.”h]”hŒõLa mayoría de los subsistemas individuales del kernel también tienen sus propias lista de correo donde hacen sus esfuerzos de desarrollo. Revise el archivo MAINTAINERS para obtener referencias de lo que estas listas para los diferentes grupos.”…””}”(hjb hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M‰hjã hžhubh¨)”}”(hŒhMuchas de las listas están alojadas en kernel.org. La información sobre estas puede ser encontrada en:”h]”hŒhMuchas de las listas están alojadas en kernel.org. La información sobre estas puede ser encontrada en:”…””}”(hjp hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MŽhjã hžhubjŠ)”}”(hŒ'http://vger.kernel.org/vger-lists.html ”h]”h¨)”}”(hŒ&http://vger.kernel.org/vger-lists.html”h]”j6)”}”(hj„ h]”hŒ&http://vger.kernel.org/vger-lists.html”…””}”(hj† hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j„ uh1j5hj‚ ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M‘hj~ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh M‘hjã hžhubh¨)”}”(hŒ¾Recuerde mantener buenos hábitos de comportamiento al usar las listas. Aunque un poco cursi, la siguiente URL tiene algunas pautas simples para interactuar con la lista (o cualquier lista):”h]”hŒ¾Recuerde mantener buenos hábitos de comportamiento al usar las listas. Aunque un poco cursi, la siguiente URL tiene algunas pautas simples para interactuar con la lista (o cualquier lista):”…””}”(hj  hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M“hjã hžhubjŠ)”}”(hŒ"http://www.albion.com/netiquette/ ”h]”h¨)”}”(hŒ!http://www.albion.com/netiquette/”h]”j6)”}”(hj´ h]”hŒ!http://www.albion.com/netiquette/”…””}”(hj¶ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j´ uh1j5hj² ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M—hj® ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh M—hjã hžhubh¨)”}”(hXSi varias personas responden a su correo, el CC (lista de destinatarios) puede hacerse bastante grande. No elimine a nadie de la lista CC: sin una buena razón, o no responda solo a la dirección de la lista. Acostúmbrese a recibir correos dos veces, una del remitente y otra de la lista, y no intente ajustar esto agregando encabezados de correo astutos, a la gente no le gustará.”h]”hXSi varias personas responden a su correo, el CC (lista de destinatarios) puede hacerse bastante grande. No elimine a nadie de la lista CC: sin una buena razón, o no responda solo a la dirección de la lista. Acostúmbrese a recibir correos dos veces, una del remitente y otra de la lista, y no intente ajustar esto agregando encabezados de correo astutos, a la gente no le gustará.”…””}”(hjÐ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M™hjã hžhubh¨)”}”(hX6Recuerde mantener intacto el contexto y la atribución de sus respuestas, mantenga las líneas "El hacker John Kernel escribió ...:" en la parte superior de su respuesta, y agregue sus declaraciones entre las secciones individuales citadas en lugar de escribiendo en la parte superior del correo electrónico.”h]”hX:Recuerde mantener intacto el contexto y la atribución de sus respuestas, mantenga las líneas “El hacker John Kernel escribió ...:†en la parte superior de su respuesta, y agregue sus declaraciones entre las secciones individuales citadas en lugar de escribiendo en la parte superior del correo electrónico.”…””}”(hjÞ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M hjã hžhubh¨)”}”(hXxSi incluye parches en su correo, asegúrese de que sean texto legible sin formato como se indica en :ref:`Documentation/process/submitting-patches.rst `. Los desarrolladores del kernel no quieren lidiar con archivos adjuntos o parches comprimidos; y pueden querer comentar líneas individuales de su parche, que funciona sólo de esa manera. Asegúrese de emplear un programa de correo que no altere los espacios ni los tabuladores. Una buena primera prueba es enviarse el correo a usted mismo, e intentar aplicar su propio parche. Si eso no funciona, arregle su programa de correo o reemplace hasta que funcione.”h]”(hŒdSi incluye parches en su correo, asegúrese de que sean texto legible sin formato como se indica en ”…””}”(hjì hžhhŸNh Nubh)”}”(hŒG:ref:`Documentation/process/submitting-patches.rst `”h]”hæ)”}”(hjö h]”hŒ,Documentation/process/submitting-patches.rst”…””}”(hjø hžhhŸNh Nubah}”(h]”h ]”(hñŒstd”Œstd-ref”eh"]”h$]”h&]”uh1håhjô ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”hþŒ refdomain”j Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒsubmittingpatches”uh1hhŸhØh M¦hjì ubhXÍ. Los desarrolladores del kernel no quieren lidiar con archivos adjuntos o parches comprimidos; y pueden querer comentar líneas individuales de su parche, que funciona sólo de esa manera. Asegúrese de emplear un programa de correo que no altere los espacios ni los tabuladores. Una buena primera prueba es enviarse el correo a usted mismo, e intentar aplicar su propio parche. Si eso no funciona, arregle su programa de correo o reemplace hasta que funcione.”…””}”(hjì hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M¦hjã hžhubh¨)”}”(hŒ>Sobretodo, recuerde de ser respetuoso con otros subscriptores.”h]”hŒ>Sobretodo, recuerde de ser respetuoso con otros subscriptores.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M°hjã hžhubeh}”(h]”Œlistas-de-correo”ah ]”h"]”Œlistas de correo”ah$]”h&]”uh1jqhjshžhhŸhØh Mvubjr)”}”(hhh]”(jw)”}”(hŒColaborando con la comunidad”h]”hŒColaborando con la comunidad”…””}”(hj7 hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj4 hžhhŸhØh M³ubh¨)”}”(hŒÎEl objetivo de la comunidad del kernel es proporcionar el mejor kernel posible. Cuando envíe un parche para su aceptación, se revisará en sus méritos técnicos solamente. Entonces, ¿qué deberías ser?”h]”hŒÎEl objetivo de la comunidad del kernel es proporcionar el mejor kernel posible. Cuando envíe un parche para su aceptación, se revisará en sus méritos técnicos solamente. Entonces, ¿qué deberías ser?”…””}”(hjE hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mµhj4 hžhubjŠ)”}”(hŒ]- críticas - comentarios - peticiones de cambios - peticiones de justificaciones - silencio ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒ críticas”h]”h¨)”}”(hj\ h]”hŒ críticas”…””}”(hj^ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M¹hjZ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjW ubjÕ)”}”(hŒ comentarios”h]”h¨)”}”(hjs h]”hŒ comentarios”…””}”(hju hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mºhjq ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjW ubjÕ)”}”(hŒpeticiones de cambios”h]”h¨)”}”(hjŠ h]”hŒpeticiones de cambios”…””}”(hjŒ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M»hjˆ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjW ubjÕ)”}”(hŒpeticiones de justificaciones”h]”h¨)”}”(hj¡ h]”hŒpeticiones de justificaciones”…””}”(hj£ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M¼hjŸ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjW ubjÕ)”}”(hŒ silencio ”h]”h¨)”}”(hŒsilencio”h]”hŒsilencio”…””}”(hjº hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M½hj¶ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjW ubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh M¹hjS ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh M¹hj4 hžhubh¨)”}”(hX”Recuerde, esto es parte de introducir su parche en el kernel. Tiene que ser capaz de recibir críticas y comentarios sobre sus parches, evaluar a nivel técnico y re-elaborar sus parches o proporcionar razonamiento claro y conciso de por qué no se deben hacer tales cambios. Si no hay respuestas a su publicación, espere unos días e intente de nuevo, a veces las cosas se pierden dado el gran volumen.”h]”hX”Recuerde, esto es parte de introducir su parche en el kernel. Tiene que ser capaz de recibir críticas y comentarios sobre sus parches, evaluar a nivel técnico y re-elaborar sus parches o proporcionar razonamiento claro y conciso de por qué no se deben hacer tales cambios. Si no hay respuestas a su publicación, espere unos días e intente de nuevo, a veces las cosas se pierden dado el gran volumen.”…””}”(hjÚ hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M¿hj4 hžhubh¨)”}”(hŒ¿Qué no debería hacer?”h]”hŒ¿Qué no debería hacer?”…””}”(hjè hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MÆhj4 hžhubjŠ)”}”(hŒ«- esperar que su parche se acepte sin preguntas - actuar de forma defensiva - ignorar comentarios - enviar el parche de nuevo, sin haber aplicados los cambios pertinentes ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒ-esperar que su parche se acepte sin preguntas”h]”h¨)”}”(hjÿ h]”hŒ-esperar que su parche se acepte sin preguntas”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MÈhjý ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjú ubjÕ)”}”(hŒactuar de forma defensiva”h]”h¨)”}”(hjh]”hŒactuar de forma defensiva”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MÉhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjú ubjÕ)”}”(hŒignorar comentarios”h]”h¨)”}”(hj-h]”hŒignorar comentarios”…””}”(hj/hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MÊhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjú ubjÕ)”}”(hŒGenviar el parche de nuevo, sin haber aplicados los cambios pertinentes ”h]”h¨)”}”(hŒFenviar el parche de nuevo, sin haber aplicados los cambios pertinentes”h]”hŒFenviar el parche de nuevo, sin haber aplicados los cambios pertinentes”…””}”(hjFhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MËhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjú ubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh MÈhjö ubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh MÈhj4 hžhubh¨)”}”(hX§En una comunidad que busca la mejor solución técnica posible, siempre habrá diferentes opiniones sobre lo beneficioso que es un parche. Tiene que ser cooperativo y estar dispuesto a adaptar su idea para que encaje dentro del kernel, o al menos esté dispuesto a demostrar que su idea vale la pena. Recuerde, estar equivocado es aceptable siempre y cuando estés dispuesto a trabajar hacia una solución que sea correcta.”h]”hX§En una comunidad que busca la mejor solución técnica posible, siempre habrá diferentes opiniones sobre lo beneficioso que es un parche. Tiene que ser cooperativo y estar dispuesto a adaptar su idea para que encaje dentro del kernel, o al menos esté dispuesto a demostrar que su idea vale la pena. Recuerde, estar equivocado es aceptable siempre y cuando estés dispuesto a trabajar hacia una solución que sea correcta.”…””}”(hjfhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MÍhj4 hžhubh¨)”}”(hXEs normal que las respuestas a su primer parche sean simplemente una lista de una docena de cosas que debe corregir. Esto **no** implica que su parche no será aceptado, y **no** es personal. Simplemente corrija todos los problemas planteados en su parche, y envié otra vez.”h]”(hŒzEs normal que las respuestas a su primer parche sean simplemente una lista de una docena de cosas que debe corregir. Esto ”…””}”(hjthžhhŸNh NubhŒstrong”“”)”}”(hŒ**no**”h]”hŒno”…””}”(hj~hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjtubhŒ, implica que su parche no será aceptado, y ”…””}”(hjthžhhŸNh Nubj})”}”(hŒ**no**”h]”hŒno”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjtubhŒa es personal. Simplemente corrija todos los problemas planteados en su parche, y envié otra vez.”…””}”(hjthžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MÔhj4 hžhubeh}”(h]”Œcolaborando-con-la-comunidad”ah ]”h"]”Œcolaborando con la comunidad”ah$]”h&]”uh1jqhjshžhhŸhØh M³ubjr)”}”(hhh]”(jw)”}”(hŒDDiferencias entre la comunidad kernel y las estructuras corporativas”h]”hŒDDiferencias entre la comunidad kernel y las estructuras corporativas”…””}”(hj³hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj°hžhhŸhØh MÚubh¨)”}”(hŒÈLa comunidad del kernel funciona de manera diferente a la mayoría de los entornos de desarrollo tradicionales en empresas. Aquí hay una lista de cosas que puede intentar hacer para evitar problemas:”h]”hŒÈLa comunidad del kernel funciona de manera diferente a la mayoría de los entornos de desarrollo tradicionales en empresas. Aquí hay una lista de cosas que puede intentar hacer para evitar problemas:”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MÜhj°hžhubjŠ)”}”(hXœCosas buenas que decir respecto a los cambios propuestos: - "Esto arregla múltiples problemas." - "Esto elimina 2000 lineas de código." - "Aquí hay un parche que explica lo que intento describir." - "Lo he testeado en 5 arquitecturas distintas..." - "Aquí hay una serie de parches menores que..." - "Esto mejora el rendimiento en maquinas típicas..." Cosas negativas que debe evitar decir: - "Lo hicimos así en AIX/ptx/Solaris, de modo que debe ser bueno..." - "Llevo haciendo esto 20 años, de modo que..." - "Esto lo necesita mi empresa para ganar dinero" - "Esto es para la linea de nuestros productos Enterprise" - "Aquí esta el documento de 1000 paginas describiendo mi idea" - "Llevo 6 meses trabajando en esto..." - "Aquí esta un parche de 5000 lineas que..." - "He rescrito todo el desastre actual, y aquí esta..." - "Tengo un deadline, y este parche debe aplicarse ahora." ”h]”(h¨)”}”(hŒ9Cosas buenas que decir respecto a los cambios propuestos:”h]”hŒ9Cosas buenas que decir respecto a los cambios propuestos:”…””}”(hjÓhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MàhjÏubjŠ)”}”(hX*- "Esto arregla múltiples problemas." - "Esto elimina 2000 lineas de código." - "Aquí hay un parche que explica lo que intento describir." - "Lo he testeado en 5 arquitecturas distintas..." - "Aquí hay una serie de parches menores que..." - "Esto mejora el rendimiento en maquinas típicas..." ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒ$"Esto arregla múltiples problemas."”h]”h¨)”}”(hjêh]”hŒ(“Esto arregla múltiples problemas.—…””}”(hjìhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mâhjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjåubjÕ)”}”(hŒ&"Esto elimina 2000 lineas de código."”h]”h¨)”}”(hjh]”hŒ*“Esto elimina 2000 lineas de código.—…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mãhjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjåubjÕ)”}”(hŒ;"Aquí hay un parche que explica lo que intento describir."”h]”h¨)”}”(hjh]”hŒ?“Aquí hay un parche que explica lo que intento describir.—…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mähjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjåubjÕ)”}”(hŒ0"Lo he testeado en 5 arquitecturas distintas..."”h]”h¨)”}”(hj/h]”hŒ4“Lo he testeado en 5 arquitecturas distintas...—…””}”(hj1hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Måhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjåubjÕ)”}”(hŒ/"Aquí hay una serie de parches menores que..."”h]”h¨)”}”(hjFh]”hŒ3“Aquí hay una serie de parches menores que...—…””}”(hjHhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MæhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjåubjÕ)”}”(hŒ5"Esto mejora el rendimiento en maquinas típicas..." ”h]”h¨)”}”(hŒ4"Esto mejora el rendimiento en maquinas típicas..."”h]”hŒ8“Esto mejora el rendimiento en maquinas típicas...—…””}”(hj_hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mçhj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjåubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh Mâhjáubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh MâhjÏubh¨)”}”(hŒ&Cosas negativas que debe evitar decir:”h]”hŒ&Cosas negativas que debe evitar decir:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MéhjÏubjŠ)”}”(hXð- "Lo hicimos así en AIX/ptx/Solaris, de modo que debe ser bueno..." - "Llevo haciendo esto 20 años, de modo que..." - "Esto lo necesita mi empresa para ganar dinero" - "Esto es para la linea de nuestros productos Enterprise" - "Aquí esta el documento de 1000 paginas describiendo mi idea" - "Llevo 6 meses trabajando en esto..." - "Aquí esta un parche de 5000 lineas que..." - "He rescrito todo el desastre actual, y aquí esta..." - "Tengo un deadline, y este parche debe aplicarse ahora." ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒC"Lo hicimos así en AIX/ptx/Solaris, de modo que debe ser bueno..."”h]”h¨)”}”(hj–h]”hŒG“Lo hicimos así en AIX/ptx/Solaris, de modo que debe ser bueno...—…””}”(hj˜hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mëhj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ."Llevo haciendo esto 20 años, de modo que..."”h]”h¨)”}”(hj­h]”hŒ2“Llevo haciendo esto 20 años, de modo que...—…””}”(hj¯hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mìhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ/"Esto lo necesita mi empresa para ganar dinero"”h]”h¨)”}”(hjÄh]”hŒ3“Esto lo necesita mi empresa para ganar dinero—…””}”(hjÆhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MíhjÂubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ8"Esto es para la linea de nuestros productos Enterprise"”h]”h¨)”}”(hjÛh]”hŒ<“Esto es para la linea de nuestros productos Enterprise—…””}”(hjÝhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MîhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ>"Aquí esta el documento de 1000 paginas describiendo mi idea"”h]”h¨)”}”(hjòh]”hŒB“Aquí esta el documento de 1000 paginas describiendo mi idea—…””}”(hjôhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mïhjðubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ%"Llevo 6 meses trabajando en esto..."”h]”h¨)”}”(hj h]”hŒ)“Llevo 6 meses trabajando en esto...—…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mðhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ,"Aquí esta un parche de 5000 lineas que..."”h]”h¨)”}”(hj h]”hŒ0“Aquí esta un parche de 5000 lineas que...—…””}”(hj"hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mñhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ6"He rescrito todo el desastre actual, y aquí esta..."”h]”h¨)”}”(hj7h]”hŒ:“He rescrito todo el desastre actual, y aquí esta...—…””}”(hj9hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mòhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubjÕ)”}”(hŒ9"Tengo un deadline, y este parche debe aplicarse ahora." ”h]”h¨)”}”(hŒ8"Tengo un deadline, y este parche debe aplicarse ahora."”h]”hŒ<“Tengo un deadline, y este parche debe aplicarse ahora.—…””}”(hjPhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MóhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh Mëhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh MëhjÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh Màhj°hžhubh¨)”}”(hX/Otra forma en que la comunidad del kernel es diferente a la mayoría de los entornos de trabajo tradicionales en ingeniería de software, es la naturaleza sin rostro de interacción. Una de las ventajas de utilizar el correo electrónico y el IRC como formas principales de comunicación es la no discriminación por motivos de género o raza. El entorno de trabajo del kernel de Linux acepta a mujeres y minorías porque todo lo que eres es una dirección de correo electrónico. El aspecto internacional también ayuda a nivelar el campo de juego porque no puede adivinar el género basado en el nombre de una persona. Un hombre puede llamarse Andrea y una mujer puede llamarse Pat. La mayoría de las mujeres que han trabajado en el kernel de Linux y han expresado una opinión han tenido experiencias positivas.”h]”hX/Otra forma en que la comunidad del kernel es diferente a la mayoría de los entornos de trabajo tradicionales en ingeniería de software, es la naturaleza sin rostro de interacción. Una de las ventajas de utilizar el correo electrónico y el IRC como formas principales de comunicación es la no discriminación por motivos de género o raza. El entorno de trabajo del kernel de Linux acepta a mujeres y minorías porque todo lo que eres es una dirección de correo electrónico. El aspecto internacional también ayuda a nivelar el campo de juego porque no puede adivinar el género basado en el nombre de una persona. Un hombre puede llamarse Andrea y una mujer puede llamarse Pat. La mayoría de las mujeres que han trabajado en el kernel de Linux y han expresado una opinión han tenido experiencias positivas.”…””}”(hjvhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mõhj°hžhubh¨)”}”(hX[La barrera del idioma puede causar problemas a algunas personas que no se sientes cómodas con el inglés. Un buen dominio del idioma puede ser necesario para transmitir ideas correctamente en las listas de correo, por lo que le recomendamos que revise sus correos electrónicos para asegurarse de que tengan sentido en inglés antes de enviarlos.”h]”hX[La barrera del idioma puede causar problemas a algunas personas que no se sientes cómodas con el inglés. Un buen dominio del idioma puede ser necesario para transmitir ideas correctamente en las listas de correo, por lo que le recomendamos que revise sus correos electrónicos para asegurarse de que tengan sentido en inglés antes de enviarlos.”…””}”(hj„hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mhj°hžhubeh}”(h]”ŒDdiferencias-entre-la-comunidad-kernel-y-las-estructuras-corporativas”ah ]”h"]”ŒDdiferencias entre la comunidad kernel y las estructuras corporativas”ah$]”h&]”uh1jqhjshžhhŸhØh MÚubjr)”}”(hhh]”(jw)”}”(hŒDivida sus cambios”h]”hŒDivida sus cambios”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjšhžhhŸhØh Mubh¨)”}”(hXÙLa comunidad del kernel de Linux no acepta con gusto grandes fragmentos de código, sobretodo a la vez. Los cambios deben introducirse correctamente, discutidos y divididos en pequeñas porciones individuales. Esto es casi exactamente lo contrario de lo que las empresas están acostumbradas a hacer. Su propuesta también debe introducirse muy temprano en el proceso de desarrollo, de modo que pueda recibir comentarios sobre lo que está haciendo. También deje que la comunidad sienta que está trabajando con ellos, y no simplemente usándolos como un vertedero para su función. Sin embargo, no envíe 50 correos electrónicos a una vez a una lista de correo, su serie de parches debe casi siempre ser más pequeña que eso.”h]”hXÙLa comunidad del kernel de Linux no acepta con gusto grandes fragmentos de código, sobretodo a la vez. Los cambios deben introducirse correctamente, discutidos y divididos en pequeñas porciones individuales. Esto es casi exactamente lo contrario de lo que las empresas están acostumbradas a hacer. Su propuesta también debe introducirse muy temprano en el proceso de desarrollo, de modo que pueda recibir comentarios sobre lo que está haciendo. También deje que la comunidad sienta que está trabajando con ellos, y no simplemente usándolos como un vertedero para su función. Sin embargo, no envíe 50 correos electrónicos a una vez a una lista de correo, su serie de parches debe casi siempre ser más pequeña que eso.”…””}”(hj«hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M hjšhžhubh¨)”}”(hŒ6Las razones para dividir las cosas son las siguientes:”h]”hŒ6Las razones para dividir las cosas son las siguientes:”…””}”(hj¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MhjšhžhubhŒenumerated_list”“”)”}”(hhh]”(jÕ)”}”(hX‘Los cambios pequeños aumentan la probabilidad de que sus parches sean aplicados, ya que no requieren mucho tiempo o esfuerzo para verificar su exactitud. Un parche de 5 líneas puede ser aplicado por un maintainer con apenas una segunda mirada. Sin embargo, un parche de 500 líneas puede tardar horas en ser revisado en términos de corrección (el tiempo que toma es exponencialmente proporcional al tamaño del parche, o algo así). Los parches pequeños también facilitan la depuración cuando algo falla. Es mucho más fácil retirar los parches uno por uno que diseccionar un parche muy grande después de haber sido aplicado (y roto alguna cosa). ”h]”(h¨)”}”(hX´Los cambios pequeños aumentan la probabilidad de que sus parches sean aplicados, ya que no requieren mucho tiempo o esfuerzo para verificar su exactitud. Un parche de 5 líneas puede ser aplicado por un maintainer con apenas una segunda mirada. Sin embargo, un parche de 500 líneas puede tardar horas en ser revisado en términos de corrección (el tiempo que toma es exponencialmente proporcional al tamaño del parche, o algo así).”h]”hX´Los cambios pequeños aumentan la probabilidad de que sus parches sean aplicados, ya que no requieren mucho tiempo o esfuerzo para verificar su exactitud. Un parche de 5 líneas puede ser aplicado por un maintainer con apenas una segunda mirada. Sin embargo, un parche de 500 líneas puede tardar horas en ser revisado en términos de corrección (el tiempo que toma es exponencialmente proporcional al tamaño del parche, o algo así).”…””}”(hjÐhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MhjÌubh¨)”}”(hŒÚLos parches pequeños también facilitan la depuración cuando algo falla. Es mucho más fácil retirar los parches uno por uno que diseccionar un parche muy grande después de haber sido aplicado (y roto alguna cosa).”h]”hŒÚLos parches pequeños también facilitan la depuración cuando algo falla. Es mucho más fácil retirar los parches uno por uno que diseccionar un parche muy grande después de haber sido aplicado (y roto alguna cosa).”…””}”(hjÞhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MhjÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÉhžhhŸhØh NubjÕ)”}”(hŒ‘Es importante no solo enviar pequeños parches, sino también reescribir y simplificar (o simplemente reordenar) los parches antes de enviarlos. ”h]”h¨)”}”(hŒEs importante no solo enviar pequeños parches, sino también reescribir y simplificar (o simplemente reordenar) los parches antes de enviarlos.”h]”hŒEs importante no solo enviar pequeños parches, sino también reescribir y simplificar (o simplemente reordenar) los parches antes de enviarlos.”…””}”(hjöhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M#hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÉhžhhŸhØh Nubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ)”uh1jÇhjšhžhhŸhØh Mubh¨)”}”(hŒGEsta es una analogía del desarrollador del kernel Al Viro (traducida):”h]”hŒGEsta es una analogía del desarrollador del kernel Al Viro (traducida):”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M&hjšhžhubjŠ)”}”(hX6*"Piense en un maestro que califica la tarea de un estudiante de matemáticas. El maestro no quiere ver los intentos y errores del estudiante antes de que se les ocurriera la solución. Quiere ver la respuesta más limpia y elegante. Un buen estudiante lo sabe, y nunca presentaría su trabajo intermedio antes de tener la solución final.* *Lo mismo ocurre con el desarrollo del kernel. Los maintainers y revisores no quieren ver el proceso de pensamiento detrás de la solución al problema que se está resolviendo. Quieren ver un solución simple y elegante."* ”h]”(h¨)”}”(hXT*"Piense en un maestro que califica la tarea de un estudiante de matemáticas. El maestro no quiere ver los intentos y errores del estudiante antes de que se les ocurriera la solución. Quiere ver la respuesta más limpia y elegante. Un buen estudiante lo sabe, y nunca presentaría su trabajo intermedio antes de tener la solución final.*”h]”j÷ )”}”(hj)h]”hXT“Piense en un maestro que califica la tarea de un estudiante de matemáticas. El maestro no quiere ver los intentos y errores del estudiante antes de que se les ocurriera la solución. Quiere ver la respuesta más limpia y elegante. Un buen estudiante lo sabe, y nunca presentaría su trabajo intermedio antes de tener la solución final.”…””}”(hj+hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jö hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M(hj#ubh¨)”}”(hŒß*Lo mismo ocurre con el desarrollo del kernel. Los maintainers y revisores no quieren ver el proceso de pensamiento detrás de la solución al problema que se está resolviendo. Quieren ver un solución simple y elegante."*”h]”j÷ )”}”(hj@h]”hŒßLo mismo ocurre con el desarrollo del kernel. Los maintainers y revisores no quieren ver el proceso de pensamiento detrás de la solución al problema que se está resolviendo. Quieren ver un solución simple y elegante.—…””}”(hjBhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jö hj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M.hj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh M(hjšhžhubh¨)”}”(hXPuede resultar un reto mantener el equilibrio entre presentar una solución elegante y trabajar junto a la comunidad, discutiendo su trabajo inacabado. Por lo tanto, es bueno comenzar temprano en el proceso para obtener "feedback" y mejorar su trabajo, pero también mantenga sus cambios en pequeños trozos que pueden ser aceptados, incluso cuando toda su labor no está listo para inclusión en un momento dado.”h]”hX¡Puede resultar un reto mantener el equilibrio entre presentar una solución elegante y trabajar junto a la comunidad, discutiendo su trabajo inacabado. Por lo tanto, es bueno comenzar temprano en el proceso para obtener “feedback†y mejorar su trabajo, pero también mantenga sus cambios en pequeños trozos que pueden ser aceptados, incluso cuando toda su labor no está listo para inclusión en un momento dado.”…””}”(hj[hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M3hjšhžhubh¨)”}”(hŒˆTambién tenga en cuenta que no es aceptable enviar parches para su inclusión que están sin terminar y serán "arreglados más tarde".”h]”hŒŒTambién tenga en cuenta que no es aceptable enviar parches para su inclusión que están sin terminar y serán “arreglados más tardeâ€.”…””}”(hjihžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M:hjšhžhubeh}”(h]”Œdivida-sus-cambios”ah ]”h"]”Œdivida sus cambios”ah$]”h&]”uh1jqhjshžhhŸhØh Mubjr)”}”(hhh]”(jw)”}”(hŒJustifique sus cambios”h]”hŒJustifique sus cambios”…””}”(hj‚hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhjhžhhŸhØh M>ubh¨)”}”(hŒÄAdemás de dividir sus parches, es muy importante que deje a la comunidad de Linux sabe por qué deberían agregar este cambio. Nuevas características debe justificarse como necesarias y útiles.”h]”hŒÄAdemás de dividir sus parches, es muy importante que deje a la comunidad de Linux sabe por qué deberían agregar este cambio. Nuevas características debe justificarse como necesarias y útiles.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M@hjhžhubeh}”(h]”Œjustifique-sus-cambios”ah ]”h"]”Œjustifique sus cambios”ah$]”h&]”uh1jqhjshžhhŸhØh M>ubjr)”}”(hhh]”(jw)”}”(hŒDocumente sus cambios”h]”hŒDocumente sus cambios”…””}”(hj©hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jvhj¦hžhhŸhØh MEubh¨)”}”(hXCuando envíe sus parches, preste especial atención a lo que dice en el texto de su correo electrónico. Esta información se convertirá en el ChangeLog del parche, y se conservará para que todos la vean, todo el tiempo. Debe describir el parche por completo y contener:”h]”hXCuando envíe sus parches, preste especial atención a lo que dice en el texto de su correo electrónico. Esta información se convertirá en el ChangeLog del parche, y se conservará para que todos la vean, todo el tiempo. Debe describir el parche por completo y contener:”…””}”(hj·hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MGhj¦hžhubjŠ)”}”(hŒŠ- por qué los cambios son necesarios - el diseño general de su propuesta - detalles de implementación - resultados de sus experimentos ”h]”jÐ)”}”(hhh]”(jÕ)”}”(hŒ#por qué los cambios son necesarios”h]”h¨)”}”(hjÎh]”hŒ#por qué los cambios son necesarios”…””}”(hjÐhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MLhjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÉubjÕ)”}”(hŒ"el diseño general de su propuesta”h]”h¨)”}”(hjåh]”hŒ"el diseño general de su propuesta”…””}”(hjçhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MMhjãubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÉubjÕ)”}”(hŒdetalles de implementación”h]”h¨)”}”(hjüh]”hŒdetalles de implementación”…””}”(hjþhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MNhjúubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÉubjÕ)”}”(hŒresultados de sus experimentos ”h]”h¨)”}”(hŒresultados de sus experimentos”h]”hŒresultados de sus experimentos”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MOhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÔhjÉubeh}”(h]”h ]”h"]”h$]”h&]”j"j#uh1jÏhŸhØh MLhjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh MLhj¦hžhubh¨)”}”(hŒoPara obtener más detalles sobre cómo debería quedar todo esto, consulte la sección ChangeLog del documento:”h]”hŒoPara obtener más detalles sobre cómo debería quedar todo esto, consulte la sección ChangeLog del documento:”…””}”(hj5hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MQhj¦hžhubjŠ)”}”(hŒC"The Perfect Patch" https://www.ozlabs.org/~akpm/stuff/tpp.txt ”h]”j)”}”(hhh]”j)”}”(hŒ?"The Perfect Patch" https://www.ozlabs.org/~akpm/stuff/tpp.txt ”h]”(j)”}”(hŒ"The Perfect Patch"”h]”hŒ“The Perfect Patch—…””}”(hjNhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh MUhjJubjE)”}”(hhh]”h¨)”}”(hŒ*https://www.ozlabs.org/~akpm/stuff/tpp.txt”h]”j6)”}”(hjah]”hŒ*https://www.ozlabs.org/~akpm/stuff/tpp.txt”…””}”(hjchžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jauh1j5hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MUhj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jDhjJubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh MUhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjCubah}”(h]”h ]”h"]”h$]”h&]”uh1j‰hŸhØh MThj¦hžhubh¨)”}”(hXTTodas estas cuestiones son a veces son muy difíciles de conseguir. Puede llevar años perfeccionar estas prácticas (si es que lo hace). Es un proceso continuo de mejora que requiere mucha paciencia y determinación. Pero no se rinda, es posible. Muchos lo han hecho antes, y cada uno tuvo que comenzar exactamente donde está usted ahora.”h]”hXTTodas estas cuestiones son a veces son muy difíciles de conseguir. Puede llevar años perfeccionar estas prácticas (si es que lo hace). Es un proceso continuo de mejora que requiere mucha paciencia y determinación. Pero no se rinda, es posible. Muchos lo han hecho antes, y cada uno tuvo que comenzar exactamente donde está usted ahora.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh MWhj¦hžhubhŒ transition”“”)”}”(hŒ ----------”h]”h}”(h]”h ]”h"]”h$]”h&]”uh1jhŸhØh M]hj¦hžhubh¨)”}”(hXtGracias a Paolo Ciarrocchi que permitió que la sección "Development Process" se basara en el texto que había escrito (https://lwn.net/Articles/94386/), y a Randy Dunlap y Gerrit Huizenga por algunas de la lista de cosas que debes y no debes decir. También gracias a Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers, Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi Kleen, Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop, David A. Wheeler, Junio Hamano, Michael Kerrisk y Alex Shepard por su revisión, comentarios y contribuciones. Sin su ayuda, este documento no hubiera sido posible.”h]”(hŒ}Gracias a Paolo Ciarrocchi que permitió que la sección “Development Process†se basara en el texto que había escrito (”…””}”(hj©hžhhŸNh Nubj6)”}”(hŒhttps://lwn.net/Articles/94386/”h]”hŒhttps://lwn.net/Articles/94386/”…””}”(hj±hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j³uh1j5hj©ubhXÜ), y a Randy Dunlap y Gerrit Huizenga por algunas de la lista de cosas que debes y no debes decir. También gracias a Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers, Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi Kleen, Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop, David A. Wheeler, Junio Hamano, Michael Kerrisk y Alex Shepard por su revisión, comentarios y contribuciones. Sin su ayuda, este documento no hubiera sido posible.”…””}”(hj©hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh M_hj¦hžhubh¨)”}”(hŒ/Maintainer: Greg Kroah-Hartman ”h]”(hŒ Maintainer: Greg Kroah-Hartman <”…””}”(hjÊhžhhŸNh Nubj6)”}”(hŒgreg@kroah.com”h]”hŒgreg@kroah.com”…””}”(hjÒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:greg@kroah.com”uh1j5hjÊubhŒ>”…””}”(hjÊhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h§hŸhØh Mihj¦hžhubeh}”(h]”Œdocumente-sus-cambios”ah ]”h"]”Œdocumente sus cambios”ah$]”h&]”uh1jqhjshžhhŸhØh MEubeh}”(h]”(Œ4como-participar-en-el-desarrollo-del-kernel-de-linux”jpeh ]”h"]”(Œ5cómo participar en el desarrollo del kernel de linux”Œsp_process_howto”eh$]”h&]”uh1jqhhhžhhŸhØh K Œexpect_referenced_by_name”}”jújesŒexpect_referenced_by_id”}”jpjesubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hØuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(jvNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j$Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hØŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”jp]”jeasŒnameids”}”(jújpjùjöjYjVj²j¯jÃjÀj–j“jq jn j j jŸ jœ j j ji jf j˜ j• jà jÝ j1 j. j­jªj—j”j|jyj£j jñjîuŒ nametypes”}”(júˆjù‰jY‰j²‰jÉj–‰jq ‰j ‰jŸ ‰j ‰ji ‰j˜ ‰jà ‰j1 ‰j­‰j—‰j|‰j£‰jñ‰uh}”(jpjsjöjsjVj¢j¯j\jÀjµj“jÆjn j™j j( jœ j j j¢ jf j j• jt jÝ j› j. jã jªj4 j”j°jyjšj jjîj¦uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”h¨)”}”(hhh]”hŒ6Hyperlink target "sp-process-howto" is not referenced.”…””}”hjŽsbah}”(h]”h ]”h"]”h$]”h&]”uh1h§hj‹ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hØŒline”Kuh1j‰ubaŒ transformer”NŒ include_log”]”Œ2Documentation/translations/sp_SP/process/howto.rst”(NNNNt”†”aŒ decoration”Nhžhub.