.. include:: ../disclaimer-sp.rst

:Original: :ref:`Documentation/process/code-of-conduct.rst <code_of_conduct>`
:Translator: Contributor Covenant and Carlos Bilbao <carlos.bilbao@amd.com>

.. _sp_code_of_conduct:

Código de Conducta para Contribuyentes
+++++++++++++++++++++++++++++++++++++++

Nuestro Compromiso
==================

Nosotros, como miembros, contribuyentes y administradores nos comprometemos
a hacer de la participación en nuestra comunidad una experiencia libre de
acoso para todo el mundo, independientemente de la edad, dimensión corporal,
minusvalía visible o invisible, etnicidad, características sexuales,
identidad y expresión de género, nivel de experiencia, educación, nivel
socio-económico, nacionalidad, apariencia personal, raza, religión, o
identidad u orientación sexual. Nos comprometemos a actuar e interactuar de
maneras que contribuyan a una comunidad abierta, acogedora, diversa,
inclusiva y sana.

Nuestros Estándares
===================

Ejemplos de comportamiento que contribuyen a crear un ambiente positivo
para nuestra comunidad:

* Demostrar empatía y amabilidad ante otras personas
* Respeto a diferentes opiniones, puntos de vista y experiencias
* Dar y aceptar adecuadamente retroalimentación constructiva
* Aceptar la responsabilidad y disculparse ante quienes se vean afectados
  por nuestros errores, aprendiendo de la experiencia
* Centrarse en lo que sea mejor no sólo para nosotros como individuos, sino
  para la comunidad en general


Ejemplos de comportamiento inaceptable:

* El uso de lenguaje o imágenes sexualizadas, y aproximaciones o
  atenciones sexuales de cualquier tipo
* Comentarios despectivos (trolling), insultantes o derogatorios, y ataques
  personales o políticos
* El acoso en público o privado
* Publicar información privada de otras personas, tales como direcciones
  físicas o de correo
  electrónico, sin su permiso explícito
* Otras conductas que puedan ser razonablemente consideradas como
  inapropiadas en un entorno profesional


Aplicación de las responsabilidades
===================================

Los administradores de la comunidad son responsables de aclarar y hacer
cumplir nuestros estándares de comportamiento aceptable y tomarán acciones
apropiadas y correctivas de forma justa en respuesta a cualquier
comportamiento que consideren inapropiado, amenazante, ofensivo o dañino.

Los administradores de la comunidad tendrán el derecho y la responsabilidad
de eliminar, editar o rechazar comentarios, commits, código, ediciones de
páginas de wiki, issues y otras contribuciones que no se alineen con este
Código de Conducta, y comunicarán las razones para sus decisiones de
moderación cuando sea apropiado.

Alcance
=======

Este código de conducta aplica tanto a espacios del proyecto como a
espacios públicos donde un individuo esté en representación del proyecto o
comunidad. Ejemplos de esto incluyen el uso de la cuenta oficial de correo
electrónico, publicaciones a través de las redes sociales oficiales, o
presentaciones con personas designadas en eventos en línea o no.

Aplicación
==========

Instancias de comportamiento abusivo, acosador o inaceptable de otro modo
podrán ser reportadas contactando el Code of Conduct Commitee a través de
<conduct@kernel.org>. Todas las quejas serán evaluadas e investigadas de
una manera puntual y justa. El Code of Condut Commitee está obligados a
respetar la privacidad y la seguridad de quienes reporten incidentes.
Detalles de políticas y aplicación en particular, serán incluidos por
separado.

Atribución
==========

Este Código de Conducta es una adaptación del Contributor Covenant, versión
1.4, disponible en https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

Interpretación
==============

Consulte el documento :ref:`code_of_conduct_interpretation` para ver cómo
interpretará la comunidad del kernel Linux este documento.
