doc/ru_RU.KOI8-R/articles/contributing/article.xml
2013-07-26 12:32:39 +00:00

549 lines
23 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="koi8-r"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
"../../../share/xml/freebsd45.dtd">
<!--
The FreeBSD Russian Documentation Project
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/contributing/article.xml,v 1.3 2006/03/28 16:40:29 gad Exp $
Original revision: r40773
-->
<article lang='ru'>
<articleinfo>
<title>Участие в проекте FreeBSD</title>
<abstract>
<para>В этой статье описаны различные способы, которыми отдельные лица и
организаций могут принять участие в Проекте FreeBSD.</para>
</abstract>
<authorgroup>
<author>
<firstname>Джордан</firstname>
<surname>Хаббард</surname>
<contrib>Текст предоставил </contrib>
</author>
</authorgroup>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.ieee;
&tm-attrib.general;
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
</articleinfo>
<indexterm><primary>участие</primary></indexterm>
<para>Итак, вы хотите внести свой вклад во FreeBSD? Это великолепно!
Жизнеспособность FreeBSD <emphasis>основана</emphasis> на помощи её
пользователей. Ваша помощь не только принимается, она жизненно необходима
для продолжения роста FreeBSD.</para>
<para>Несмотря на уверения некоторых людей, вам не нужно быть гениальным
программистом или персоной, лично связанной с руководящей группой FreeBSD,
чтобы ваша помощь была принята. FreeBSD разрабатывает большое и
увеличивающееся количество участников со всего мира, самого разного
возраста и разных областей технической экспертизы. Работы, которую
необходимо сделать, всегда больше, чем разработчиков, могущих её выполнить,
и дополнительная помочь всегда приветствуется.</para>
<para>Проект FreeBSD занимается операционной системой в целом, а не только
ядром или несколькими отдельными утилитами. Таким образом, в нашем
<filename>TODO</filename>-списке широкий спектр задач: от документации,
бета-тестирования и презентаций до программы установки системы и
специфических разработок уровня ядра. Люди любого уровня практически в
любой области определённо смогут помочь проекту.</para>
<para>Коммерческие структуры, связанные с использованием FreeBSD, также
приглашаются к диалогу. Нужны ли вам особые расширения, для работы вашего
продукта? Вы увидите, что мы отвечаем на ваши запросы, если они не слишком
необычны. Вы работаете над дополнительными продуктами? Дайте нам знать!
Мы сможем работать вместе над некоторыми его аспектами. Мир свободного
программного обеспечения ставит под сомнение многие существующие
представления о том, как программного обеспечение разрабатывается,
продаётся и поддерживается, и мы настоятельно просим вас посмотреть на
него ещё раз.</para>
<sect1 id="contrib-what">
<title>Что нужно</title>
<para>В следующем перечне представлены задачи и подпроекты, являющиеся
некоторым отражением различных списков <filename>TODO</filename> и
запросов пользователей.</para>
<sect2 id="non-programmer-tasks">
<title>Текущие задачи не для программистов</title>
<para>Многие люди, связанные с FreeBSD, не являются программистами. В
Проекте участвуют создатели документации, Web-дизайнеры и специалисты
по поддержке пользователей. Все, что им нужно для участия, это своё
время и желание учиться.</para>
<orderedlist>
<listitem>
<para>Периодически читайте FAQ и Руководство. Если что-то описано
плохо, устарело или даже полностью неправильно, дайте нам знать.
Ещё лучше, если вы пришлёте нам исправление (выучить Docbook не так
сложно, но и против посланий в формате ASCII никто возражать не
будет).</para>
</listitem>
<listitem>
<para>Помогите перевести документацию FreeBSD на ваш родной язык.
Если документация на вашем языке уже существует, вы можете помочь
перевести дополнительные документы или проверить, не устарели ли
переводы. Первым делом взгляните на <ulink
url="&url.books.fdp-primer;/translations.html">FAQ по
переводам</ulink> в Учебнике проекта документирования FreeBSD. Вас
не призывают перевести все документы FreeBSD &mdash; как
доброволец, вы можете делать столько переводов, сколько захотите.
Если кто-то начал перевод, другие всегда присоединятся. Если у вас
есть время и желание перевести одну часть документации, пожалуйста,
переведите инструкции по установке.</para>
</listitem>
<listitem>
<para>Время от времени (или даже регулярно) читайте &a.questions; и
&ng.misc;. Вам может понравиться делиться своим опытом и помогать
людям решать их проблемы; иногда вы сможете узнать для себя что-то
новое! Эти форумы могут также стать источником идей, над которыми
вам стоит поработать.</para>
</listitem>
</orderedlist>
</sect2>
<sect2 id="ongoing-programmer-tasks">
<title>Текущие задачи для программистов</title>
<para>Большинство задач, перечисленных здесь, требуют либо значительных
затрат времени, либо глубоких знаний ядра FreeBSD, либо того и другого.
Однако имеется также много полезных задач, которые подойдут для
<quote>воскресных хакеров</quote>.</para>
<orderedlist>
<listitem>
<para>Если вы работаете с FreeBSD-CURRENT и обладаете хорошим
подключением к Internet, то существует машина <hostid
role="fqdn">current.FreeBSD.org</hostid>, которая строит полный
релиз ежедневно&mdash;сейчас и всегда. Попробуйте установить
самый последний релиз с этой машины и сообщите обо всех
обнаруженных при этом ошибках.</para>
</listitem>
<listitem>
<para>Читайте &a.bugs;. Здесь может встретиться проблема, которую
вы сможете конструктивно прокомментировать или патчи, которые вы
можете протестировать. Либо вы можете даже попытаться исправить
какую-то проблему самостоятельно.</para>
</listitem>
<listitem>
<para>Если вы знаете о существовании каких-либо исправлений ошибок,
успешно применённых к -CURRENT, но ещё не перенесённых в -STABLE
после достаточно большого интервала времени (обычно несколько
недель), направьте коммиттеру вежливое напоминание.</para>
</listitem>
<listitem>
<para>Перенос стороннего программного обеспечения в каталог
<filename class="directory">src/contrib</filename> дерева
исходных текстов.</para>
</listitem>
<listitem>
<para>Проверка актуальности кода в каталоге
<filename class="directory">src/contrib</filename>.</para>
</listitem>
<listitem>
<para>Построение из дерева исходных текстов (или её части) с
включением режима дополнительных предупреждений, избавление от
них.</para>
</listitem>
<listitem>
<para>Исправление предупреждений от портов, которые используют
недопустимые вызовы типа <function>gets()</function> или включают
файл объявлений <filename>malloc.h</filename>.</para>
</listitem>
<listitem>
<para>Если вы создавали порты и вам приходилось делать специфичные
для &os; исправления, пошлите ваши патчи авторам оригинального
программного обеспечения (это упростит вам жизнь при выпуске
следующей версии).</para>
</listitem>
<listitem>
<para>Найдите копии официальных стандартов, например, &posix;. Вы
можете найти несколько ссылок на них на странице Web-сайта <ulink
url="&url.base;/projects/c99/index.html">Проекта соответствия
FreeBSD стандартам C99 &amp; POSIX</ulink>. Сравните поведение FreeBSD
с тем, что определено стандартом. Если реакция отличается,
особенно в незначительных или непонятных разделах спецификации,
направьте об этом PR. Если можете, найдите, как исправить это и
включите в PR патч. Если вы полагаете, что в стандарте есть
ошибка, направьте запрос его разработчикам.</para>
</listitem>
<listitem>
<para>Предложите дополнительные задачи для этого списка!</para>
</listitem>
</orderedlist>
</sect2>
<sect2>
<title>Работа с базой сообщений об ошибках PR</title>
<indexterm>
<primary>база сообщений об ошибках</primary>
</indexterm>
<para><ulink
url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi">Список
сообщений об ошибках FreeBSD</ulink> содержит все актуальные
сообщения о проблемах и запросы на улучшения, которые были посланы
пользователями FreeBSD. База данных PR содержит задачи как для
программистов, так и не для них. Просмотрите открытые PR, найдите те,
что привлекут ваше внимание.
Некоторые из них могут быть очень простыми, требующими лишь ещё одной
пары глаз, чтобы посмотреть и подтвердить, что предлагаемое в PR
исправление достаточно. Другие могут быть гораздо сложнее и даже вовсе
не содержать исправления.</para>
<para>Начните с тех PR, которые никому ещё не назначены. Если PR уже
за кем-то закреплено, но содержит проблему, которую вы можете решить,
направьте по электронной почте письмо человеку, которому назначено это
PR, и спросите, можете ли вы поработать над ней&mdash;у них уже может
готов патч для тестирования или какие-то идеи, которые можно вместе
обсудить.</para>
</sect2>
<sect2>
<title>Выберите один из пунктов со странички <quote>идей</quote></title>
<para><ulink url="http://wiki.freebsd.org/IdeasPage">Список проектов
и идей для добровольцев</ulink> также доступен для людей,
желающих помочь проекту &os;. Список постоянно обновляется и
содержит пункты, как для программистов, так и для не
программистов, с информацией о каждом проекте.</para>
</sect2>
</sect1>
<sect1 id="contrib-how">
<title>Как принять участие в работе</title>
<para>Характер участия в работе над системой обычно подпадает под одну или
несколько из следующих 5 категорий:</para>
<sect2 id="contrib-general">
<title>Сообщения об ошибках и отзывы общего характера</title>
<para>Идеи или пожелания <emphasis>общего</emphasis> технического
характера должны направляться по электронной почте в адрес &a.hackers;.
Подобным же образом тот, кто интересуется такими вещами (и устойчив к
<emphasis>большому</emphasis> потоку почты!) может подписаться на
список рассылки &a.hackers;. Обратитесь к <ulink
url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">Руководству
FreeBSD</ulink> для получения дополнительной информации об этом и
других списках рассылки.</para>
<para>Если вы нашли ошибку или предлагаете внести какое-то конкретное
исправление, пожалуйста, отправьте сообщение при помощи программы
&man.send-pr.1; или её <ulink url="&url.base;/send-pr.html">
Web-эквивалента</ulink>. Постарайтесь заполнить все поля в сообщении
об ошибке. Если его размер оно не превышает 65 Кбайт, включите все
патчи непосредственно в сообщение. Если патч предназначен для дерева
исходных текстов, поместите <literal>[PATCH]</literal> в теме
сообщения. При включении патчей <emphasis>не используйте</emphasis>
технику cut-and-paste, потому что при этом символы табуляции
преобразуются в пробелы и патч становится непригодным к использованию.
Если объём патчей превышает 20 Кбайт, лучше включать их в сообщение
в сжатом виде, для чего упакуйте их (например, при помощи
&man.gzip.1; или &man.bzip2.1;) и обработайте архив утилитой
&man.uuencode.1;.</para>
<para>После отправки сообщения вы должны получить подтверждение и номер
для отслеживания. Сохраните этот номер, чтобы использовать его в
дальнейшем при направлении подробностей о проблеме по электронной почте
на адрес &a.bugfollowup;. Используйте номер в качестве темы письма, например,
<literal>"Re: kern/3377"</literal>. Дополнительная информация о любом
сообщении об ошибке должна направляться этим способом.</para>
<para>Если вы не получили подтверждения в течение разумного периода
времени (от 3 дней до недели, в зависимости от вашего подключения к
электронной почты) или по какой-то причине не можете воспользоваться
командой &man.send-pr.1;, то можете попросить кого-нибудь направить
сообщение за вас на адрес &a.bugs;.</para>
<para>Прочтите также <ulink
url="&url.articles.problem-reports;/article.html">эту статью</ulink>,
чтобы узнать, как писать хорошие сообщения о проблемах.</para>
</sect2>
<sect2>
<title>Изменения в документации</title>
<indexterm>
<primary>посылка документации</primary>
</indexterm>
<para>Изменения в документации обсуждаются в &a.doc;. Пожалуйста,
посмотрите <ulink url="&url.books.fdp-primer;/index.html">Учебник
Проекта документирования FreeBSD</ulink> для получения полных
инструкций. Посылайте свои пожелания и изменения (принимаются даже
самые небольшие!) при помощи &man.send-pr.1;, как это описано в разделе
о <link linkend="contrib-general">сообщениях об ошибках и общих
пожеланиях</link>.</para>
</sect2>
<sect2>
<title>Изменения к имеющемуся исходному коду</title>
<indexterm><primary>FreeBSD-CURRENT</primary></indexterm>
<para>Добавление нового исходного кода или внесение изменений в
существующий является не такой простой задачей, и зависит во многом от
того, насколько вы далеки от текущего состояния разработок во FreeBSD.
Существуют специальные промежуточные релизы FreeBSD, известные как
<quote>FreeBSD-CURRENT</quote>, которые доступны несколькими разными
способами, удобными разработчикам, активно работающим над системой.
Обратитесь к <ulink url="&url.books.handbook;/current-stable.html">
Руководству FreeBSD</ulink> для получения дополнительной информации
о получении и использовании FreeBSD-CURRENT.</para>
<para>Если вы работаете с несколько устаревшими исходными текстами, то
ваши изменения иногда могут оказаться уже ненужными или слишком
большими, чтобы повторно интегрировать их во FreeBSD. Уменьшить такой
риск можно, подписавшись на списки рассылки &a.announce; и &a.current;,
в которых обсуждается текущее состояние системы.</para>
<para>Предположим, что вы смогли получить актуальные исходные
тексты, на базе которых делали свои изменения. Тогда следующим шагом
является создание набора файлов, отражающих ваши изменения для их
посылки тем, кто отвечает за поддержку FreeBSD. Это делается при
помощи команды &man.diff.1;.</para>
<para>Предпочтительным форматом &man.diff.1; для посылки патчей является
унифицированная выдача, создаваемая командой <command>diff
-u</command>.</para>
<indexterm>
<primary><command>diff</command></primary>
</indexterm>
<para>К примеру:</para>
<screen>&prompt.user; <userinput>diff -u oldfile newfile</userinput></screen>
<para>или</para>
<screen>&prompt.user; <userinput>diff -u -r -N olddir newdir</userinput></screen>
<para>создаст набор патчей в унифицированном формате для конкретного
файла с исходным текстом или для иерархии каталогов.</para>
<para>Дополнительную информацию можно найти в &man.diff.1;.</para>
<para>После того, как вы получили набор diff-файлов (которые вы можете
протестировать командой &man.patch.1;), вы должны прислать их для
включения во FreeBSD. Воспользуйтесь программой &man.send-pr.1;, как
это описано в разделе о <link linkend="contrib-general">сообщениях об
ошибках и общих замечаниях</link>. <emphasis>Не посылайте</emphasis>
diff-файлы в список рассылки &a.hackers;, они будут потеряны! Нам
очень нужна ваша помощь (это добровольный проект!); из-за нашей
занятости мы не сможем рассмотреть его сразу, и он будет находиться в
базе данных PR, пока мы не сделаем это. Укажите на вашу посылку,
включив строку <literal>[PATCH]</literal> в тему сообщения.</para>
<indexterm>
<primary><command>uuencode</command></primary>
</indexterm>
<para>Если вы считаете, что это нужно (к примеру, вы добавляли, удаляли
или переименовывали файлы), то объедините ваши изменения в
<command>tar</command>-файл и обработайте его программой
&man.uuencode.1;. Принимаются также и архивы, созданные программой
&man.shar.1;.</para>
<para>Если ваше изменение потенциально может оказаться сомнительным,
например, вы не уверены в отсутствии лицензионных ограничений
относительно его распространения, то вы должны послать его напрямую
в список
рассылки &a.core;, а не через &man.send-pr.1;. В списке рассылки
&a.core; участвует гораздо меньшее количество людей, которые выполняют
основную ежедневную работу над FreeBSD. Заметьте, что эта группа
также <emphasis>очень занята</emphasis>, так что сюда письма нужно
посылать только в случае действительной необходимости.</para>
<para>Пожалуйста, обратитесь к справке по &man.intro.9; и &man.style.9;
для получения некоторой информации о стиле кодирования. Мы надеемся,
что вы хотя бы примете эту информацию к сведению перед тем, как
прислать нам свой код.</para>
</sect2>
<sect2>
<title>Новый код или большие дополнительные пакеты</title>
<para>В случае значительного объёма присланного вами кода и
соответствующей работы, либо добавления к FreeBSD важной новой функции,
становится практически всегда необходимо посылать изменения в виде
tar-файлов, обработанных uuencode, или передавать их на Web-сайт или
FTP-сервер для получения другими людьми. Если у вас нет доступа к
Web- или FTP-серверам, попросите в соответствующем списке рассылке
FreeBSD кого-нибудь разместить изменения за вас.</para>
<para>При работе с большим объёмом кода неизбежно возникает вопрос о
соблюдении авторских прав. Допустимыми лицензионными соглашениями для
кода, включаемого во FreeBSD, являются следующие:</para>
<orderedlist>
<listitem>
<indexterm><primary>лицензионное соглашение BSD</primary></indexterm>
<para>Лицензионное соглашение BSD. Оно является самым
предпочтительным из-за <quote>отсутствия дополнительных
условий</quote> и общей привлекательности для коммерческих
компаний. Проект FreeBSD далёк от того, чтобы выступать против
коммерческого использования, но активно популяризирует такое
пересечение коммерческих интересов, которое позволит постепенно
запустить механизм инвестиций во FreeBSD.</para>
</listitem>
<listitem>
<indexterm>
<primary>GPL</primary>
<see>GNU General Public License</see>
</indexterm>
<indexterm><primary>GNU General Public License</primary></indexterm>
<para>GNU General Public License, или <quote>GPL</quote>. Это
лицензионное соглашение не очень популярно у нас из-за объёма
требований, которые нужно выполнять всем, кто собирается
использовать код в коммерческих целях. Однако, учитывая абсолютное
превосходство объёма этого кода (компилятор, ассемблер, инструменты
форматирования текста и так далее) было бы глупо отказываться от
дополнительных разработок, подпадающих под действие этой лицензии.
Код, распространяемый по условиям лицензионного соглашения GPL
также размещается в отдельной части дерева исходных текстов, в
<filename class="directory">/sys/gnu</filename> или
<filename class="directory">/usr/src/gnu</filename>, и поэтому
легко идентифицируется всяким, для кого GPL представляет
проблему.</para>
</listitem>
</orderedlist>
<para>Разработки, подпадающие под действие других типов лицензионных
соглашений, должны быть тщательно просмотрены перед принятием
решения об их включении во FreeBSD. Разработки, на которые
распространяются жёсткие ограничения коммерческих лицензионных
соглашений, обычно отвергаются, а авторам всегда предлагается
распространять подобные изменения по собственным каналам.</para>
<para>Для того, чтобы на вашу работу распространялись условия
лицензионного ограничения <quote>в стиле BSD</quote>, разместите
следующий текст в самом начале каждого файла с исходными текстами,
которые вы хотите защитить, заменив текст между <literal>%%</literal>
соответствующей информацией:</para>
<programlisting>Copyright (c) %%полныеомера_годов%%
%%ваше_имя%%, %%ваш_штат%% %%ваш_почтовый_индекс%%.
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 %%your_name_here%% ``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 %%your_name_here%% 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.
&dollar;&os;&dollar;</programlisting>
<para>Для вашего удобства копия этого текста размещена в файле
<filename>/usr/share/examples/etc/bsd-style-copyright</filename>.
</para>
</sect2>
<sect2>
<title>Деньги, оборудование или Internet-доступ</title>
<para>Мы всегда с удовольствием примем материальную помощь, нужную для
дальнейшего существования Проекта FreeBSD, а в добровольном проекте,
типа нашего маленькая помощь может послужить долго! Безвозмездная
передача вычислительной техники также очень важна для расширения списка
поддерживаемого периферийного оборудования, так как обычно у нас нет
средств для самостоятельного его приобретения.</para>
<sect3 id="donations">
<title>Финансовая помощь</title>
<para>The FreeBSD Foundation является некоммерческой организацией,
освобождённой от уплаты налогов, созданной с целью реализации целей
Проекта FreeBSD. Как организация типа 501(c)3, Фонд обычно
освобождается от федерального налога США на прибыль. Суммы
безвозмездных пожертвований таким организациям часто вычитаются
из общей суммы налогооблагаемой прибыли.</para>
<para>Финансовая помощь может быть направлена в виде чеков на адрес:
<address>
The FreeBSD Foundation
<street>P.O. Box 20247</street>
<city>Boulder</city>,
<state>CO</state> <postcode>80308</postcode>
<country>USA</country>
</address>
</para>
<para>The FreeBSD Foundation теперь может принимать помощь через Web
по системе PayPal. Для направления помощи, пожалуйста, посетите
<ulink url="http://www.freebsdfoundation.org">Web-сайт</ulink>
Фонда.</para>
<para>Дополнительную информацию о Фонде FreeBSD можно найти на
странице, содержащей <ulink
url="http://people.FreeBSD.org/~jdp/foundation/announcement.html">
вводную информации о Фонде FreeBSD</ulink>. Для того, чтобы
обратиться в Фонд по электронной почте, напишите письмо на адрес
<email>bod@FreeBSDFoundation.org</email>.</para>
</sect3>
<sect3>
<title>Помощь в виде оборудования</title>
<indexterm><primary>безвозмездная помощь</primary></indexterm>
<para>Проект FreeBSD с удовольствие примет помощь в виде оборудования,
которому он найдёт хорошее применение. Если вы заинтересованы в
передаче оборудования, пожалуйста, обратитесь к <ulink
url="&url.base;/donations/">Руководству Центра
пожертвований</ulink>.</para>
</sect3>
</sect2>
</sect1>
</article>