aboutsummaryrefslogtreecommitdiff
path: root/ru/portmgr/policies.sgml
blob: b23adeac486d945d1d5248a1690a0d30268a83d0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<!--
     The FreeBSD Russian Documentation Project

     $FreeBSDru: frdp/www/ru/portmgr/policies.sgml,v 1.1 2005/06/13 07:02:45 andy Exp $

     Original revision: 1.2
-->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" [
<!ENTITY base CDATA "..">
<!ENTITY date "$FreeBSD$">
<!ENTITY title "Политики работы Группы управления портами">
<!ENTITY % includes SYSTEM "../includes.sgml"> %includes;
]>

<html>
  &header;

  <p>В соответствии со своим <a href="charter.html">Уставом</a>, Команда
    управления портами применяет определённые политики для достижения каждой из
    стоящих перед ней целей.</p>

  <h3>Обеспечение целостности Коллекции Портов</h3>

  <p>Для того, чтобы добиться целостности Коллекции Портов, portmgr выступает
    в роли единственного коммиттера для определённых файлов, которые связывают
    всё воедино, в частности, <tt>bsd.port.mk</tt>.  Так как дерево портов не
    делится на ветки (в отличие от других проектов BSD), любая фатальная ошибка
    в этих файлах быстро отразится на многих пользователях, выполняющих
    автоматическое обновление своих портов.</p>

  <p>portmgr также выполняет периодическое построение больших изменений в
    Коллекции Портов в отдельной области автоматизированного <a
    href="http://pointyhat.FreeBSD.org">кластера построения портов</a>.  В
    качестве примеров изменений, которые должны тестироваться до их вступления
    в силу, можно привести следующие:</p>

  <ul>
    <li><p>изменения в <tt>bsd.port.mk</tt></p></li>

    <li><p>изменения в пакаджах со многими зависимостями, в том числе серверы
      X11, GNOME, KDE, пакеты из серии autotools и так далее</p></li>

    <li><p>исправления, которые изменяют "рекомендуемый порядок" для
      make-файлов портов, в частности, определения или использование
      распространённых make-переменных (<tt>Makevar</tt>).  (к примеру,
      объединение различных реализаций USE_*, WITH_* и так далее)</p></li>

    <li><p>большие объёмы прямых изменений в хранилище (например, при
      разделении существующей категории портов)</p></li>
  </ul>

  <p>И снова, из-за отсутствия веток в дереве CVS, любые крупные сбои, которые
    могут быть вызваны любым из вышеописанных действий, должны быть выявлены до
    того, как они смогут затронуть большое количество пользователей.</p>

  <p>portmgr оставляет за собой право выступать в качестве последнего арбитра
    для коммитов других разработчиков в отдельных нестандартных ситуациях,
    в частности: коммиты, которые, по их мнению, дестабилизируют Коллекцию
    Портов; нарушения POLA (принципа наименьшего изменения) для пользователей
    FreeBSD, а также случаи разногласий между коммиттерами, которые не могут
    быть решены ими самостоятельно.</p>

  <h3>Поддержка автоматизированного <a href="http://pointyhat.FreeBSD.org">
    кластера построения портов</a></h3>

  <p>portmgr поддерживает набор машин, которые автоматически строят пакаджи для
    разных комбинаций деревьев исходных текстов FreeBSD и архитектур
    центральных процессоров (в нашей терминологии, <tt>сред построения</tt> или
    <tt>buildenv</tt>).  Если позволяют лицензионные соглашения, то
    получающиеся пакаджи регулярно записываются на главное зеркало FTP в
    качестве "новых последних пакаджей", так что они становятся доступными для
    сгрузки пользователями FreeBSD.  Ошибки при построении портов направляются
    ответственным мэйнтейнерам и/или коммиттерам для принятия мер по
    исправлению ситуации.</p>

  <p>В некоторых случаях порты могут перестать работать из-за изменений в
    базовой системе FreeBSD (дерево src/).  В таком случае Группа управления
    портами полагает, что ответственный системный коммиттер разработает
    исправления для затронутых портов вместе с соответствующими мэйнтейнерами
    портов.</p>

  <h3>Работа с Группой информационной безопасности FreeBSD</h3>

  <!-- ничего особенного; заголовок слева для ссылки на Устав -->

  <h3>Работа с коммиттерами портов и документации FreeBSD</h3>

  <p>portmgr будет помогать в поддержании <a
    href="&base;/doc/en_US.ISO8859-1/books/porters-handbook/index.html">
    Руководства по созданию портов FreeBSD</a> в актуальном состоянии в том
    духе, который, по их мнению, являются "наилучшей практикой" для отдельных
    портов.</p>

  <p>(Целью является не только определение 'правил', но и объяснение того,
    'почему в make-файлах сделаны определённые вещи, которые мы считаем
    правильными'.  В частности, существует ряд "частных случаев", для
    работы с которыми в файлах <tt>bsd.*.mk</tt> присутствует хитроумный
    код -- например, для обеспечения установки портов с CDROM, по NFS и так
    далее -- и непонимание этих вопросов может привести к тому, что
    используемые мэйнтейнерами упрощённые подходы не будут работать в этих
    крайних случаях.)</p>

  <p>portmgr не является единственным хозяином Руководства по созданию портов,
    так как оно размещено в дереве <tt>doc/</tt>.  Мы рады присылаемым
    сообщениям об ошибках и приветствуем работу коммиттеров <tt>doc</tt> над
    добавлением документации, которая помогает описать существующую практику.
    Однако мы хотели бы запросить, в качестве жеста вежливости, право на
    пересмотр любых изменений, которые могли бы отразиться на существующих
    рекомендациях.</p>

  <p>Кроме того, недавно возникла идея создания документа "Права и
    ответственности мэйнтейнеров портов FreeBSD и коммиттеров".  portmgr
    поддерживает эти усилия и рассмотрит любые предварительные версии
    документа.</p>

  <p>portmgr также отвечает за некоторую другую документацию, в частности,
    разделы Руководства коммиттера, касающиеся портов.</p>

  <h3>Уважение юридических прав авторов, чьи работы устанавливаются через
    Коллекцию Портов</h3>

  <p>В той мере, что возможна в рамках добровольного проекта, portmgr будет
    работать над соблюдением прав тех авторов, чьи работы устанавливаются через
    Коллекцию Портов.  Сюда включается добавление соответствующих записей в
    файл <tt>ports/LEGAL</tt> и изменение <tt>make-переменных</tt>, управляющих
    построением пакаджей и, вследствие этого, автоматизированным
    распространением бинарных файлов.</p>

  <p>В редких случаях по требованию автора при этом также может потребоваться
    удалить порт и все дистрибутивные и двоичные файлы.</p>

  <p>portmgr просит наших добровольных коммиттеров тщательно соблюдать
    лицензионные ограничения, накладываемые авторами, при добавлении новых
    портов, так как для членов portmgr самим сделать это невозможно из-за
    огромного количества портов.</p>

  <h3>Выполнение роли первого лица при решении споров между такими участниками
    сообщества FreeBSD, как мэйнтейнеры и коммиттеры</h3>

  <p>portmgr призывает участников сообщества FreeBSD работать вместе в
    согласии в соответствии с принципами, описанными в Руководстве коммиттера.
    В случае разногласий мы оставляем за собой роль арбитра, что может быть
    пересмотрено Правлением.</p>

  <h3>Управление доступом с CVS для выполнения коммитов в дерево портов</h3>

  <p>Управляющий совет FreeBSD делегировал portmgr ответственность за
    управление доступом к CVS для выполнения изменений в дереве
    <tt>ports/</tt>.  Правление рассматривает выдачу и лишение прав на
    выполнение изменений и является последней инстанцией в вопросам, касающихся
    CVS-хранилища FreeBSD.</p>

  <p>Новые коммиттеры портов выдвигаются действующим коммиттером портов,
    который хочет выступать в роли наставника.  Представление должно включать
    краткое описание вклада, который внёс представляемый новый коммиттер, в
    частности, количество присланных сообщений об ошибках, количество портов,
    поддерживаемых им на данный момент, а также наличие прав на выполнение
    коммитов в других деревьях, если они есть.</p>

  <p>При голосовании группа будет рассматривать эту историю наравне со всеми
    прочими имеющими отношение к делу факторами.  Результаты голосования
    доводятся до сведения сообщества разработчиков FreeBSD.</p>

  <p>В соответствии с практикой, применяемой в проекте в целом, неактивные
    коммиттеры портов периодически опрашиваются на предмет выяснения их
    состояния и интереса к продолжению работы над деревом портов.  Коммиттеры,
    которые не отвечают на подобные электронные послания, или отвечают
    негативно, теряют свои права на выполнение коммитов.  В настоящее время
    этот период равен одному году.</p>

  <p>В исключительных случаях может появиться необходимость в удалении
    коммиттеров портов и по другим причинам.  Это будет выполняться после
    серьёзного обдумывания и является предметом рассмотрения Правлением.</p>

  <h3>Разработка руководств и политик, описывающих права и обязанности
    коммиттеров и мэйнтейнеров портов</h3>

  <p>portmgr отвечает за разработку руководств и политик, описывающих права и
    обязанности коммиттеров портов и их мэйнтейнеров, такие как предполагаемые
    стандарты на поддержку порта, условия, при которых мэйнтейнеры могут быть
    удалены или заменены, а также другие правила.</p>

  <p>Для обеспечения своевременной обработки сообщений об ошибках, касающихся
    портов, portmgr разработал руководство о том, как долго PR, назначенная
    коммиттеру, может оставаться открытой до момента, когда её сможет решить
    другой коммиттер через "тайм-аут от мэйнтейнера".  На данный момент этот
    срок установлен в две недели (не считая заморозок портов и общепринятые
    праздничные дни.)</p>

  <p>Кроме того, чтобы обеспечить своевременную поддержку портов, portmgr
    разработал руководство относительно того, как долго мэйнтейнер порта может
    быть неактивным без лишения его прав на статус мэйнтейнера.  "Неактивность"
    понимается здесь не в буквальном смысле, однако предназначена для контроля
    таких вещей, как нерешённые открытые PR, выполнение коммитов другими
    людьми при молчании мэйнтейнера, а также нерешённые проблемы построения.
    на данный момент этот период определён в три месяца.</p>

  <p>Целью таких правил не является определение наказания или вины, но они
    должны отражать тот факт, что программное обеспечение, установленное
    через Коллекцию Портов, быстро развивается без контроля FreeBSD.  Частью
    забот, которую несёт мэйнтейнер порта, является поддержание порта в
    работоспособном и обновлённом состоянии, насколько это возможно.  Было бы
    несправедливо по отношению к нашим пользователям относиться к решению
    проблем с прохладцей и позволять использовать старые версии.  Однако мы
    также понимаем, что все наши мэйнтейнеры и коммиттеры являются такими же
    добровольцами, как и мы, поэтому, как и в любом добровольном проекте, легко
    перегрузить себя работой или потерять интерес к некоторому порту.</p>

  <p>Мэйнтейнеры и коммиттеры, которые чувствуют, что на них легла слишком
    большая нагрузка, или которые потеряли интерес к определённому порту,
    должны свободно просить нового добровольца и/или возвращения порта в общий
    пул.  Это поможет не только поддерживать Коллекцию Портов в актуальном
    состоянии, но и, как мы надеемся, избежать излишней нагрузки на
    добровольцев.</p>

  <h3>Приоритетизация будущих направлений развития Коллекции Портов в
    целом</h3>

  <p>portmgr осознаёт, что разработка и развитие Коллекции Портов в первую
    очередь ведётся руками участников сообщества.  Однако, из-за отсутствия
    веток в Коллекции Портов, иногда необходимо координировать и даже делать
    выбор между предлагаемыми изменениями.</p>

  <p>В некотором смысле это подразумевается выбор того, какие именно патчи
    будут приняты для тестирования в кластере построения, а также выработка
    консенсуса между разными архитектурными подходами, создание списка
    "интересных проектов" и так далее.</p>

  &footer;

  </body>
</html>