                              Contribuir a FreeBSD

  Jordan Hubbard

   Enviado por  
   Revision: 43184
   2013-11-13 por hrs.
   Resumen

   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>.

   [ Split HTML / Single HTML ]

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

   Tabla de contenidos

   1. Que es lo que hace falta

   2. Como Colaborar

   Indice

   ?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.

Indice

  B

   base de datos de informes de problemas (PR), Trabajo en la "PR Database"

  C

   contributing, Contribuir a FreeBSD

  D

   diff, Cambios al Codigo Fuente ya Existente

   donaciones, Donacion de Hardware

  E

   envios de documentacion, Cambios en la Documentacion

  F

   FreeBSD-CURRENT, Cambios al Codigo Fuente ya Existente

  G

   GNU General Public License, New Code or Major Value-Added Packages

   GPL (ver GNU General Public License)

  L

   La Licencia BSD, New Code or Major Value-Added Packages

  U

   uuencode, Cambios al Codigo Fuente ya Existente
