                          Contribuir a FreeBSD

  Jordan Hubbard

   $FreeBSD: doc/es_ES.ISO8859-1/articles/contributing/article.sgml,v
   1.4 2007/11/08 21:49:09 carvay Exp $

   En este articulo se describen las diferentes maneras en las que
   una persona o entidad pueden ayudar al Proyecto FreeBSD.

   Traduccion de Jose Ramon Baz <jr_baz@hartu.net> y Jose Vicente
   Carrasco <carvay@es.FreeBSD.org>.

     --------------------------------------------------------------

   ?Quiere ayudar a mejorar FreeBSD? !Eso es genial! FreeBSD depende
   del esfuerzo de base de usuarios y usuarias para sobrevivir. Su
   ayuda no solamente muy apreciada sino que es vital para el
   continuo crecimiento de FreeBSD.

   Contrariamente a lo que pudiera usted creer, no hace falta ser un
   brujo de la programacion o un amigo intimo del core team de
   FreeBSD para su trabajo sea aceptado. El desarrollo de FreeBSD
   esta al cargo de un gran grupo internacional de voluntarios y
   voluntarias en continuo crecimiento, de muy diversas edades y
   expertos en distintos campos del conocimiento. Siempre hay mas
   trabajo por hacer que gente disponible para hacerlo y una mano mas
   siempre es bienvenida.

   El proyecto FreeBSD tiene el compromiso de mantener un sistema
   operativo completo, no simplemente un kernel o unas cuantas
   aplicaciones sueltas. Por lo tanto nuestra lista de TAREAS
   PENDIENTES ("TODO") incluye una vasta lista de tareas: desde
   documentacion, prueba de versiones preliminares hasta el
   desarrollo del sistema de instalacion y el desarrollo del kernel
   en aspectos altamente especializados. Casi con total seguridad
   puede usted ayudar al proyecto sea cual sea su preparacion y el
   area en la que disponga de experiencia o interes.

   Invitamos a las empresas que tienen proyectos relacionados con
   FreeBSD a que se pongan en contacto con nosotros. ?Necesitan una
   extension concreta para hacer que su producto funcione? Estaremos
   encantados de escuchar sus peticiones (suponiendo que no sean
   demasiado esotericas). ?Su proyecto es interesante y/o beneficioso
   para su empresa y para FreeBSD? !Haganoslo saber! Podemos trabajar
   conjuntamente en algunos aspectos del mismo. El mundo del software
   libre esta cambiando muchas de las normas establecidas sobre como
   el software deberia ser desarrollado, vendido y mantenido asi que
   le rogamos encarecidamente que al menos le de un segundo vistazo.

     --------------------------------------------------------------

1. Que es lo que hace falta

   La siguiente lista de tareas y subproyectos representa de algun
   modo la amalgama de listas de TAREAS PENDIENTES y peticiones de
   usuarios.

     --------------------------------------------------------------

  1.1. Tareas en Curso para No Programadores

   Una gran parte de quienes trabajan en FreeBSD no son
   programadores. El Proyecto incluye escritores de documentacion,
   disenadores y tecnicos de soporte. Los unicos requisitos
   necesarios son poner algo de su tiempo y ganas de aprender.

    1. Lea cuidadosamente las FAQ y el Handbook cada cierto tiempo.
       Si algo esta mal explicado, desfasado o sencillamente
       completamente equivocado haganoslo saber. Aun mejor, envienos
       la correccion (no es dificil aprender SGML pero no hay
       problema si lo envia en ASCII).

    2. Ayude a traducir la documentacion de FreeBSD a su lengua
       materna. Si ya existe documentacion en su idioma puede ayudar
       a traducir otros documentos o a mantener al dia los que ya
       existan. Antes de nada consulte Translations FAQ en el
       "FreeBSD Documentation Project Primer". El hecho de traducir
       algo no implica la obligacion de traducir todo: al ser una
       tarea voluntaria puede usted traducir tanto o tan poco como
       prefiera. Cuando alguien empieza a traducir casi siempre hay
       alguien que se une. Si solo tiene tiempo o ganas para traducir
       una parte de la documentacion por favor, traduzca las
       instrucciones de instalacion.

    3. Lea la lista de correo para preguntas generales sobre FreeBSD
       y el grupo de noticias comp.unix.bsd.freebsd.misc de vez en
       cuando (o incluso regularmente). Compartir sus conocimientos
       mientras ayuda a la gente a resolver sus problemas puede ser
       muy gratificante. !Puede ser que incluso aprenda usted tambien
       algo nuevo! Esos foros pueden ser tambien un importante foco
       de ideas para nuevas cosas en las que trabajar.

     --------------------------------------------------------------

  1.2. Tareas en Curso para Programadores

   La mayoria de las tareas aqui expuestas requieren una considerable
   cantidad de tiempo o un conocimiento profundo del kernel de
   FreeBSD o ambas cosas. Existen, sin embargo, multitud de tareas
   muy utiles que son ideales para "hackers de fin de semana".

    1. Si utiliza FreeBSD-CURRENT y tiene una buena conexion con
       Internet existe una maquina llamada current.FreeBSD.org que
       genera diariamente (en teoria, la frecuencia puede variar) una
       distribucion completa. Intente instalar la ultima version
       desde ella e informe de cualquier anomalia en el proceso.

    2. Lea la lista de 'problem reports' de FreeBSD. Puede encontrar
       algun problema sobre el que hacer un comentario constructivo o
       sobre el que probar parches. Puede incluso intentar arreglarlo
       usted.

    3. Si sabe de alguna correccion que ha sido aplicada con exito a
       -CURRENT pero que aun no haya sido incluida en -STABLE tras un
       periodo de tiempo razonable (por lo general un par de semanas)
       envie al committer responsable un (educado) mensaje
       recordandoselo.

    4. Mueva software de terceras partes a src/contrib en el arbol de
       fuentes.

    5. Asegurese de que el codigo de src/contrib esta actualizado.

    6. Compile el arbol de fuentes (o solo una parte del mismo) con
       una cantidad extra de "warnings " activadas y depurelas.

    7. Corrija "warnings" en los ports en los que aparecen cosas en
       desuso como gets() o que incluyen malloc.h.

    8. Si ha enviado algun port envie sus parches a los autores
       originales: le hara la vida mas facil cuando liberen la
       siguiente version.

    9. Consiga copias de estandares formales como POSIX. Hay enlaces
       relacionados con esos estandares en el sitio web del FreeBSD
       C99 & Posix Standards Conformance Project. Compare el
       funcionamiento interno de FreeBSD con el que exije el
       estandar. Si hay diferencias, en especial en algun rincon
       sutil y oscuro de la especificacion, envie un PR ("Problem
       Report"). Si es capaz de aventurar una solucion incluya un
       parche en el PR. Si cree que el estandar es incorrecto pongase
       en contacto con los responsables del mismo para que tengan en
       cuenta su propuesta.

   10. !Sugiera nuevas tareas para esta lista!

     --------------------------------------------------------------

  1.3. Trabajo en la "PR Database"

   La lista de PR de FreBSD muestra los informes de problemas activos
   asi como las peticiones de mejoras que han enviado los usuarios de
   FreeBSD. La "PR database" incluye tanto problemas que han de ser
   corregidos por programadores como por no programadores. Busque
   entre los PR que estan abiertos, puede haber alguno que le
   interese. Algunos pueden ser tareas muy sencillas que solo
   necesiten una mirada adicional para confirmar que la solucion
   adjunta es la adecuada. Otras, por el contrario, pueden llegar a
   ser muchisimo mas complejas o incluso no incluir una solucion.

   Comience con un PR no haya sido aun asignado. Si el PR ya ha sido
   asignado a alguien pero cree que puede ayudar envie un correo
   electronico a la persona responsable del PR y preguntele si puede
   colaborar (tal vez ya exista un parche listo para ser probado o
   puedan contrastar ideas).

     --------------------------------------------------------------

2. Como Colaborar

   Las colaboraciones al sistema generalmente pueden catalogarse en
   las siguientes 5 categorias:

     --------------------------------------------------------------

  2.1. Informes de Errores y Comentarios Generales

   Las ideas o sugerencias de interes tecnico general deben enviarse
   a lista de correo de discusiones tecnicas en FreeBSD. En
   consecuencia, si le interesan ese tipo de cuestiones (!y no le
   importa recibir un gran volumen de correo!) deberia suscribirse a
   la lista de correo de discusiones tecnicas en FreeBSD enviando un
   correo electronico a <majordomo@FreeBSD.org>. Consulte el FreeBSD
   Handbook para mas informacion sobre esta y otras listas de correo.

   Si encuentra un error o quiere enviar un cambio concreto por favor
   utilice el programa send-pr(1) o su equivalente en la web (N. del
   T.: El interfaz web de send-pr fue desactivado a causa del
   "spam"). Trate de rellenar todos los campos del informe de
   errores. A menos que exceda de 65KB puede incluir los parches
   directamente en el informe. Si es posible aplicar el parche al
   arbol de fuentes no olvide incluir [PATCH] en la sinopsis del
   informe. Cuando incluya parches no "copie y pegue" ya que las
   tabulaciones son transformadas en espacios, haciendo el parche
   inutil. Considere la posibilidad de comprimir los parches mediante
   uuencode(1) si sobrepasan los 20KB.

   Tras rellenar el informe deberia recibir un mensaje de
   confirmacion junto con un numero de seguimiento. Conserve ese
   numero por si en algun momento pudiera anadir nueva informacion
   sobre el problema enviando correo a
   <FreeBSD-gnats-submit@FreeBSD.org>. Utilice el numero como asunto
   del mensaje (por ejemplo, "Re: kern/3377". Asi deberia enviarse la
   informacion adicional sobre cualquier PR.

   Si no recibe confirmacion en un periodo de tiempo razonable (entre
   3 dias y una semana, dependiendo de su tipo de conexion) o si por
   alguna razon no puede utilizar el comando send-pr(1), puede
   solicitar que alguien lo haga por usted enviando un correo a lista
   de 'problem reports' de FreeBSD.

   No olvide consultar este "article" sobre como escribir buenos
   informes de problemas.

     --------------------------------------------------------------

  2.2. Cambios en la Documentacion

   Los cambios en la documentacion son revisados por la lista de
   correo del proyecto de documentacion de FreeBSD. Por favor,
   consulte FreeBSD Documentation Project Primer para recibir
   instrucciones detalladas. Envie nuevos contenidos o cambios sobre
   los ya existentes (!incluso los pequenos son bienvenidos!)
   mediante send-pr(1) tal y como se detalla en Informes de Error y
   Comentarios Generales.

     --------------------------------------------------------------

  2.3. Cambios al Codigo Fuente ya Existente

   Anadir cambios o modificar el codigo fuente existente es un tema
   delicado y depende mucho de hasta que punto este usted al dia
   sobre el estado actual del desarrollo de FreeBSD. Hay una version
   en desarrollo permanente de FreeBSD conocida como
   "FreeBSD-CURRENT", disponible de muy diversas formas para mayor
   comodidad de los desarrolladores que estan trabajando activamente
   en el sistema. Consulte el FreeBSD Handbook, donde se explica como
   obtener y utilizar FreeBSD-CURRENT.

   Si trabaja con versiones anticuadas de los fuentes
   desafortunadamente significara que sus cambios podrian con
   frecuencia resultar demasiado obsoletos o demasiado divergentes
   para una facil reintegracion dentro de FreeBSD. Esta posibilidad
   puede minimizarse suscribiendose a la lista de anuncios
   importantes del Proyecto FreeBSD y a la FreeBSD-CURRENT lista de
   correo, donde tienen lugar los debates sobre el estado actual del
   sistema.

   Asumiendo que puede manejarse con seguridad con unos fuentes
   totalmente actualizados sobre los que aplicar sus cambios, el
   siguiente paso es generar los "diffs" que enviara al equipo de
   FreeBSD. Hagalo con el comando diff(1).

   El formato diff(1) que preferimos para el envio de parches es la
   salida unificada generada por diff -u. Sin embargo, para parches
   que implican cambios sustanciales en una region de codigo una
   salida contextual de "diff" generada por diff -c resultara mas
   legible y en consecuencia preferible.

   Por ejemplo:

 % diff -c ficheroantiguo ficheronuevo

   o

 % diff -c -r directorioantiguo directorionuevo

   generarian un conjunto de "diffs" contextuales de fichero fuente o
   la jerarquia de directorios.

   Del mismo modo

 % diff -u ficheroantiguo ficheronuevo

   o

 % diff -u -r directorioantiguo directorionuevo

   nos darian el mismo resultado excepcion hecha del formato
   unificado de los "diffs" resultantes.

   Consulte la pagina man de diff(1) para mas detalles.

   Una vez que disponga de un conjunto de "diffs " (que deberia
   probar con el comando patch(1)) puede enviarlos para que sean
   incluidos en FreeBSD. Utilice el programa send-pr(1) tal y como se
   muestra Informes de Errores y Comentarios Generales. !No se limite
   simplemente a enviar sus "diffs" a la lista de correo de
   discusiones tecnicas en FreeBSD o se perderan! Agradecemos
   inmensamente su colaboracion (!este es un proyecto que funciona
   gracias al trabajo desinteresado de mucha gente!). Estamos muy
   ocupados, asi que no podemos atender inmediatamente todos y cada
   uno de los envios recibidos, pero permaneceran en la "PR database"
   hasta que lo hagamos. Etiquete sus envios incluyendo [PATCH] en la
   sinopsis del informe.

   Si lo considera oportuno (esto es, si ha anadido borrado o
   renombrado ficheros) empaquete sus cambios en un fichero tar y
   ejecute el programa uuencode(1) sobre el. Puede usar tambien
   ficheros creados con shar(1)

   Si su cambio puede tener un cariz potencialmente delicado esto es,
   no esta seguro de bajo que tipo de "licencia" seria su
   distribucion ulterior o simplemente no esta listo para liberarlo
   sin una revision exhaustiva, deberia enviarlo directamente a
   FreeBSD core team en lugar de usar send-pr(1). El FreeBSD core
   team incluye un grupo de gente mucho mas pequeno que lleva a cabo
   la mayor parte del trabajo diario en FreeBSD. Tenga en cuenta que
   el FreeBSD core team esta muy ocupado y por lo tanto solo deberia
   enviarsele correo cuando sea estrictamente necesario.

   Consulte la paginas "man" de intro(9) y style(9) para saber mas
   acerca del estilo de codificacion requerido. Le agradeceriamos
   mucho que al menos tuviera en cuenta esa informacion antes de
   enviar codigo.

     --------------------------------------------------------------

  2.4. New Code or Major Value-Added Packages

   En el caso de una contribucion significativa o de gran impacto, o
   si se trata de anadir una nueva caracteristica importante a
   FreeBSD, enviar ficheros tar tratados con "uuencode" o por el
   contrario ponerlos a disposicion de otras personas en un sitio web
   o FTP se convierte en algo practicamente imprescindible. Si no
   dispone de acceso a un sitio web o FTP pregunte en la lista
   apropiada de FreeBSD para que alguien se lo facilite.

   Cuando se trabaja con un gran volumen de codigo el espinoso tema
   de la "licencia" invariablemente sale a la palestra. Las
   "licencias" admitidas para la inclusion de codigo en FreeBSD son:

    1. La licencia BSD. Esta licencia es la preferida a causa de su
       naturaleza carente de "requerimientos anadidos" y su atractivo
       general para la empresa. Lejos de buscar evitar el uso
       comercial, el Proyecto FreeBSD recomienda vivamente la
       participacion de entidades comerciales que pudieran en casos
       determinados dedicar parte de sus recursos a FreeBSD.

    2. La GNU General Public License, o "GPL". Esta licencia no es
       tan popular debido al esfuerzo anadido que requiere de
       cualquiera que usara el codigo con fines comerciales, pero
       dada la ingente cantidad de codigo GPL que usamos
       habitualmente (el compilador, el ensamblador, el procesador de
       texto, etc) seria estupido rechazar contribuciones bajo esta
       licencia. El codigo bajo licencia GPL tambien se incluye bajo
       una parte diferenciada del arbol, pudiendo ser /sys/gnu o
       /usr/src/gnu, y es por tanto facilmente identificable para
       quienes la licencia GPL suponga un problema.

   Todo lo que vaya bajo cualquier otro tipo de licencia requiere que
   esta deba ser cuidadosamente revisada antes de que su inclusion en
   FreeBSD sea llevada a consideracion. Las aportaciones bajo
   licencias comerciales particularmente restrictivas en vigor por lo
   general son rechazadas aunque siempre se recomienda a los autores
   que hagan publicamente accesible su trabajo usando sus propios
   medios.

   Para poner su trabajo bajo la licencia "BSD" inserte el siguiente
   texto al principio de todos y cada uno de los ficheros de codigo
   que quiera amparar bajo la misma, reemplazando el texto entre %%
   con la informacion apropiada:

 Copyright (c) %%anos_exactos%%
         %%su_nombre%%, %%su_estado/pais%%  %%su_codigo_postal%%. 
         All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:
 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer as
    the first lines of this file unmodified.
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.

 THIS SOFTWARE IS PROVIDED BY %%su_nombre%% ``AS IS'' AND ANY EXPRESS OR
 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 IN NO EVENT SHALL %%su_nombre%% BE LIABLE FOR ANY DIRECT, INDIRECT,
 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

         $Id$

   Para su comodidad existe una copia de este texto en
   /usr/share/examples/etc/bsd-style-copyright.

     --------------------------------------------------------------

  2.5. Dinero, Hardware o Acceso a Internet

   Estamos encantados de aceptar donaciones economicas para ayudar a
   impulsar el Proyecto FreeBSD y, como en cualquier proyecto
   mantenido por voluntarios, un poco puede hacer mucho. Tambien son
   muy importantes las donaciones de hardware para ampliar nuestra
   lista de hardware soportado, dado que normalmente andamos cortos
   de fondos con los que comprar ese tipo de material.

     --------------------------------------------------------------

    2.5.1. Donacion de Fondos

   La Fundacion FreeBSD es una fundacion sin animo de lucro y exenta
   de impuestos creada para impulsar los objetivos del Proyecto
   FreeBSD. Como una entidad 501(c)3, la Fundacion esta practicamente
   exenta del pago del impuesto federal de la renta de los EEUU asi
   como del del Estado de Colorado. Las donaciones a una entidad
   libre de impuestos suelen ser deducibles en la declaracion federal
   de impuestos.

   Las donaciones pueden enviarse mediante cheque a:

       The FreeBSD Foundation
       7321 Brockway Dr.
       Boulder, CO 80303
       USA
     

   La Fundacion FreeBSD puede tambien aceptar donaciones via web
   mediante PayPal. Para hacer una donacion visite la pagina web de
   la Fundacion.

   Puede encontrar mas informacion sobre la Fundacion en The FreeBSD
   Foundation -- an Introduction. Puede enviar correo electronico a
   la Fundacion a <bod@FreeBSDFoundation.org>.

     --------------------------------------------------------------

    2.5.2. Donacion de Hardware

   El Proyecto FreeBSD acepta encantado donaciones de hardware que le
   resulte util. Si desea donar hardware por favor pongase en
   contacto con la Donations Liaison Office.

     --------------------------------------------------------------

    2.5.3. Donacion de Acceso a Internet

   Nunca viene mal una nueva replica para sitios FTP, WWW o cvsup. Si
   desea ofrecer alguno de esos servicios por favor consulte el
   siguiente articulo Mirroring FreeBSD para mas informacion.

     --------------------------------------------------------------

          Puede descargar este y muchos otros documentos desde
                ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Si tiene dudas sobre FreeBSD consulte la documentacion antes de escribir
                  a la lista <questions@FreeBSD.org>.
    Envie sus preguntas sobre la documentacion a <doc@FreeBSD.org>.
