¿Quiere ayudar a mejorar FreeBSD? ¡Eso es genial! FreeBSD depende del esfuerzo de base de usuarios y usuarias para sobrevivir. Su ayuda no sólamente muy apreciada sino que es vital para el contínuo crecimiento de FreeBSD.
Contrariamente a lo que pudiera usted creer, no hace falta ser un brujo de la programación o un amigo íntimo del core team de FreeBSD para su trabajo sea aceptado. El desarrollo de FreeBSD está al cargo de un gran grupo internacional de voluntarios y voluntarias en contínuo crecimiento, de muy diversas edades y expertos en distintos campos del conocimiento. Siempre hay más trabajo por hacer que gente disponible para hacerlo y una mano más 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 documentación, prueba de versiones preliminares hasta el desarrollo del sistema de instalación y el desarrollo del kernel en aspectos altamente especializados. Casi con total seguridad puede usted ayudar al proyecto sea cual sea su preparación y el área en la que disponga de experiencia o interés.
Invitamos a las empresas que tienen proyectos relacionados con FreeBSD a que se pongan en contacto con nosotros. ¿Necesitan una extensión concreta para hacer que su producto funcione? Estaremos encantados de escuchar sus peticiones (suponiendo que no sean demasiado esotéricas). ¿Su proyecto es interesante y/o beneficioso para su empresa y para FreeBSD? ¡Háganoslo saber! Podemos trabajar conjuntamente en algunos aspectos del mismo. El mundo del software libre está cambiando muchas de las normas establecidas sobre cómo el software debería ser desarrollado, vendido y mantenido así que le rogamos encarecidamente que al menos le dé un segundo vistazo.
La siguiente lista de tareas y subproyectos representa de algún modo la amalgama de listas de TAREAS PENDIENTES y peticiones de usuarios.
Una gran parte de quienes trabajan en FreeBSD no son programadores. El Proyecto incluye escritores de documentación, diseñadores y técnicos de soporte. Los únicos requisitos necesarios son poner algo de su tiempo y ganas de aprender.
Lea cuidadosamente las FAQ y el Handbook cada cierto tiempo. Si algo está mal explicado, desfasado o sencillamente completamente equivocado háganoslo saber. Aún mejor, envíenos la corrección (no es difícil aprender SGML pero no hay problema si lo envía en ASCII).
Ayude a traducir la documentación de FreeBSD a su lengua materna. Si ya existe documentación en su idioma puede ayudar a traducir otros documentos o a mantener al día los que ya existan. Antes de nada consulte Translations FAQ en el ``FreeBSD Documentation Project Primer''. El hecho de traducir algo no implica la obligación 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 sólo tiene tiempo o ganas para traducir una parte de la documentación por favor, traduzca las instrucciones de instalación.
Lea la lista de preguntas generales de FreeBSD
<freebsd-questions@FreeBSD.org>
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
también algo nuevo! Esos foros pueden ser
también un importante foco de ideas para
nuevas cosas en las que trabajar.
La mayoría de las tareas aquí 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 útiles que son ideales para ``hackers de fin de semana''.
Si utiliza FreeBSD-CURRENT y tiene una buena conexión con Internet existe una máquina llamada current.FreeBSD.org que genera diariamente (en teoría, la frecuencia puede variar) una distribución completa. Intente instalar la última versión desde ella e informe de cualquier anomalía en el proceso.
Lea la lista de 'Problem Reports' de FreeBSD <freebsd-bugs@FreeBSD.org>
.
Puede encontrar algún problema sobre el que
hacer un comentario constructivo o sobre el que
probar parches. Puede incluso intentar arreglarlo
usted.
Si sabe de alguna corrección que ha sido aplicada con éxito a -CURRENT pero que aún no haya sido incluída en -STABLE tras un período de tiempo razonable (por lo general un par de semanas) envíe al committer responsable un (educado) mensaje recordándoselo.
Mueva software de terceras partes a src/contrib en el árbol de fuentes.
Asegúrese de que el código de src/contrib está actualizado.
Compile el árbol de fuentes (o sólo una parte del mismo) con una cantidad extra de ``warnings '' activadas y depúrelas.
Corrija ``warnings'' en los ports en los que
aparecen cosas en desuso como gets()
o que incluyen malloc.h.
Si ha enviado algún port envíe sus parches a los autores originales: le hará la vida más fácil cuando liberen la siguiente versión.
Consiga copias de estándares formales como POSIX. Hay enlaces relacionados con esos estándares en el sitio web del FreeBSD C99 & Posix Standards Conformance Project. Compare el funcionamiento interno de FreeBSD con el que exije el estándar. Si hay diferencias, en especial en algún rincón sutil y oscuro de la especificación, envíe un PR (``Problem Report''). Si es capaz de aventurar una solución incluya un parche en el PR. Si cree que el estándar es incorrecto póngase en contacto con los responsables del mismo para que tengan en cuenta su propuesta.
¡Sugiera nuevas tareas para ésta lista!
La lista de PR de FreBSD muestra los informes de problemas activos así 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 están abiertos, puede haber alguno que le interese. Algunos pueden ser tareas muy sencillas que sólo necesiten una mirada adicional para confirmar que la solución adjunta es la adecuada. Otras, por el contrario, pueden llegar a ser muchísimo más complejas o incluso no incluír una solución.
Comience con un PR no haya sido aún asignado. Si el PR ya ha sido asignado a alguien pero cree que puede ayudar envíe un correo electrónico a la persona responsable del PR y pregúntele si puede colaborar (tal vez ya exista un parche listo para ser probado o puedan contrastar ideas).
Las colaboraciones al sistema generalmente pueden catalogarse en las siguientes 5 categorías:
Las ideas o sugerencias de interés
técnico general deben enviarse a
lista de discusiones técnicas en FreeBSD <freebsd-hackers@FreeBSD.org>
.
En consecuencia, si le interesan ese tipo de cuestiones
(¡y no le importa recibir un gran
volumen de correo!) debería suscribirse a la lista
de discusiones técnicas en FreeBSD <freebsd-hackers@FreeBSD.org>
enviando un correo electrónico a <majordomo@FreeBSD.org>
.
Consulte el FreeBSD Handbook para más
información sobre ésta 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 fué desactivado a causa del ``spam''). Trate de rellenar todos los campos del informe de errores. A menos que exceda de 65KB puede incluír los parches directamente en el informe. Si es posible aplicar el parche al árbol de fuentes no olvide incluír [PATCH] en la sinópsis del informe. Cuando incluya parches no ``copie y pegue'' ya que las tabulaciones son transformadas en espacios, haciendo el parche inútil. Considere la posibilidad de comprimir los parches mediante uuencode(1) si sobrepasan los 20KB.
Tras rellenar el informe debería recibir un
mensaje de confirmación junto con un número
de seguimiento. Conserve ese número por si en
algún momento pudiera añadir nueva
información sobre el problema enviando correo a
<bug-followup@FreeBSD.org>
.
Utilice el número como asunto del mensaje (por
ejemplo, "Re: kern/3377".
Así debería enviarse la información
adicional sobre cualquier PR.
Si no recibe confirmación en un período
de tiempo razonable (entre 3 días y una semana,
dependiendo de su tipo de conexión) o si por
alguna razón 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 <freebsd-bugs@FreeBSD.org>
.
No olvide consultar éste ``article'' sobre cómo escribir buenos informes de problemas.
Los cambios en la documentación son revisados
por la lista del proyecto de documentación de
FreeBSD <freebsd-doc@FreeBSD.org>
.
Por favor, consulte FreeBSD Documentation Project Primer
para recibir instrucciones detalladas. Envíe
nuevos contenidos o cambios sobre los ya existentes
(¡incluso los pequeños son bienvenidos!)
mediante
send-pr(1) tal y
como se detalla en Informes de
Error y Comentarios Generales.
Añadir cambios o modificar el código fuente existente es un tema delicado y depende mucho de hasta qué punto esté usted al día sobre el estado actual del desarrollo de FreeBSD. Hay una versión en desarrollo permanente de FreeBSD conocida como ``FreeBSD-CURRENT'', disponible de muy diversas formas para mayor comodidad de los desarrolladores que están trabajando activamente en el sistema. Consulte el FreeBSD Handbook, donde se explica cómo obtener y utilizar FreeBSD-CURRENT.
Si trabaja con versiones anticuadas de los fuentes
desafortunadamente significará que sus cambios
podrían con frecuencia resultar demasiado
obsoletos o demasiado divergentes para una fácil
reintegración dentro de FreeBSD. Ésta
posibilidad puede minimizarse suscribiéndose a la
lista de anuncios de FreeBSD <freebsd-announce@FreeBSD.org>
y a la lista de FreeBSD-current <freebsd-current@FreeBSD.org>
,
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 enviará al equipo de FreeBSD. Hágalo con el comando diff(1).
El formato diff(1) que preferimos para el envío de parches es la salida unificada generada por diff -u. Sin embargo, para parches que implican cambios sustanciales en una región de código una salida contextual de ``diff'' generada por diff -c resultará más legible y en consecuencia preferible.
Por ejemplo:
% diff -c ficheroantíguo ficheronuevoo
% diff -c -r directorioantíguo directorionuevogenerarían un conjunto de ``diffs'' contextuales de fichero fuente o la jerarquía de directorios.
Del mismo modo
% diff -u ficheroantíguo ficheronuevoo
% diff -u -r directorioantíguo directorionuevonos darían el mismo resultado excepción hecha del formato unificado de los ``diffs'' resultantes.
Consulte la página man de diff(1) para más detalles.
Una vez que disponga de un conjunto de ``diffs '' (que
debería probar con el comando
patch(1)) puede
enviarlos para que sean incluídos 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
discusiones técnicas en FreeBSD <freebsd-hackers@FreeBSD.org>
o se perderán! Agradecemos inmensamente su
colaboración (¡éste es un proyecto
que funciona gracias al trabajo desinteresado de mucha
gente!). Estamos muy ocupados, así que no podemos
atender inmediatamente todos y cada uno de los
envíos recibidos, pero permanecerán en la
``PR database'' hasta que lo hagamos. Etiquete sus
envíos incluyendo [PATCH] en la sinópsis del
informe.
Si lo considera oportuno (ésto es, si ha añadido borrado o renombrado ficheros) empaquete sus cambios en un fichero tar y ejecute el programa uuencode(1) sobre él. Puede usar también ficheros creados con shar(1)
Si su cambio puede tener un cariz potencialmente
delicado ésto es, no está seguro de bajo
qué tipo de ``licencia'' sería su
distribución ulterior o simplemente no está
listo para liberarlo sin una revisión exhaustiva,
debería enviarlo directamente a FreeBSD core team
<freebsd-core@FreeBSD.org>
en lugar de usar
send-pr(1). El
FreeBSD core team <freebsd-core@FreeBSD.org>
incluye un grupo de gente mucho más pequeño
que lleva a cabo la mayor parte del trabajo diario en
FreeBSD. Tenga en cuenta que el FreeBSD core team <freebsd-core@FreeBSD.org>
está muy ocupado y por lo tanto
sólo debería enviársele correo
cuando sea estrictamente necesario.
Consulte la páginas ``man'' de intro(9) y style(9) para saber más acerca del estilo de codificación requerido. Le agradeceríamos mucho que al menos tuviera en cuenta esa información antes de enviar código.
En el caso de una contribución significativa o de gran impacto, o si se trata de añadir una nueva característica importante a FreeBSD, enviar ficheros tar tratados con ``uuencode'' o por el contrario ponerlos a disposición de otras personas en un sitio web o FTP se convierte en algo prácticamente 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 código el espinoso tema de la ``licencia'' invariablemente sale a la palestra. Las ``licencias'' admitidas para la inclusión de código en FreeBSD son:
La licencia BSD. Ésta licencia es la preferida a causa de su naturaleza carente de ``requerimientos añadidos'' y su atractivo general para la empresa. Lejos de buscar evitar el uso comercial, el Proyecto FreeBSD recomienda vivamente la participación de entidades comerciales que pudieran en casos determinados dedicar parte de sus recursos a FreeBSD.
La GNU General Public License, o ``GPL''. Ésta licencia no es tan popular debido al esfuerzo añadido que requiere de cualquiera que usara el código con fines comerciales, pero dada la ingente cantidad de código GPL que usamos habitualmente (el compilador, el ensamblador, el procesador de texto, etc) sería estúpido rechazar contribuciones bajo ésta licencia. El código bajo licencia GPL también se incluye bajo una parte diferenciada del árbol, pudiendo ser /sys/gnu o /usr/src/gnu, y es por tanto fácilmente identificable para quienes la licencia GPL suponga un problema.
Todo lo que vaya bajo cualquier otro tipo de licencia requiere que ésta deba ser cuidadosamente revisada antes de que su inclusión en FreeBSD sea llevada a consideración. Las aportaciones bajo licencias comerciales particularmente restrictivas en vigor por lo general son rechazadas aunque siempre se recomienda a los autores que hagan públicamente 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 código que quiera amparar bajo la misma, reemplazando el texto entre %% con la información apropiada:
Copyright (c) %%años_exactos%% %%su_nombre%%, %%su_estado/país%% %%su_código_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 éste texto en /usr/share/examples/etc/bsd-style-copyright.
Estamos encantados de aceptar donaciones económicas para ayudar a impulsar el Proyecto FreeBSD y, como en cualquier proyecto mantenido por voluntarios, un poco puede hacer mucho. También 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.
La Fundación FreeBSD es una fundación sin ánimo de lucro y exenta de impuestos creada para impulsar los objetivos del Proyecto FreeBSD. Como una entidad 501(c)3, la Fundación está prácticamente exenta del pago del impuesto federal de la renta de los EEUU así como del del Estado de Colorado. Las donaciones a una entidad libre de impuestos suelen ser deducibles en la declaración federal de impuestos.
Las donaciones pueden enviarse mediante cheque a:
The FreeBSD Foundation
7321
Brockway Dr.
Boulder, CO 80303
USA
La Fundación FreeBSD puede también aceptar donaciones via web mediante PayPal. Para hacer una donación visite la página web de la Fundación.
Puede encontrar más información sobre
la Fundación en The FreeBSD Foundation -- an
Introduction. Puede enviar correo
electrónico a la Fundación a <bod@FreeBSDFoundation.org>
.
El Proyecto FreeBSD acepta encantado donaciones de hardware que le resulte útil. Si desea donar hardware por favor póngase en contacto con la Donations Liaison Office.
Nunca viene mal una nueva réplica para sitios FTP, WWW o cvsup. Si desea ofrecer alguno de esos servicios por favor consulte el siguiente artículo Mirroring FreeBSD para más información.
Éste y otros documentos pueden obtenerse en ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Para preguntas acerca de FreeBSD, leer
la documentación
antes de contactar con la lista <questions@FreeBSD.org>.
Para preguntas acerca de ésta documentacion escriba a <doc@FreeBSD.org>.