summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/ru/when-free-depends-on-nonfree.html
blob: 64b378959a0ade85604e3893d029714449795e29 (plain)
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
<!--#set var="ENGLISH_PAGE" value="/philosophy/when-free-depends-on-nonfree.en.html" -->

<!--#include virtual="/server/header.ru.html" -->
<!-- Parent-Version: 1.86 -->

<!-- This file is automatically generated by GNUnited Nations! -->
<title>Когда свободные программы зависят от несвободных - Проект GNU - Фонд
свободного программного обеспечения</title>

<!--#include virtual="/philosophy/po/when-free-depends-on-nonfree.translist" -->
<!--#include virtual="/server/banner.ru.html" -->
<h2>Когда свободные программы зависят от несвободных</h2>

 <p><strong>Ричард Столмен</strong></p>

<p>Когда программа свободна (от слова &ldquo;свобода&rdquo;), это значит, что
она дает пользователям четыре свободы (<a
href="/philosophy/free-sw.html">gnu.org/philosophy/free-sw.html</a>), так
что они контролируют, что делает программа. В большинстве случаев этого
достаточно, чтобы распространяемая программа была этичной; но не
всегда. Есть дополнительные проблемы, которые могут возникнуть в
специфических обстоятельствах. В этой статье описана неочевидная проблема,
возникающая, когда обновление свободной программы требует применения
несвободной.</p>

<p>Если пользование свободной программой неизбежно зависит от другой программы,
которая несвободна, мы говорим, что свободная программа &ldquo;в
западне&rdquo;. Ее текст свободен, и у вас может быть возможность копировать
ее части в другие свободные программы с хорошими, этичными результатами. Но
вы не должны <em>работать</em> с программой в западне, потому что это
значит, что вы отказываетесь от свободы и сдаетесь на милость той
несвободной программы.</p>

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

<p>Зависимость от несвободной программы может принимать различные формы. В
простейшем случае это язык программирования, у которого нет свободной
реализации. Первые программы, которые я написал для системы GNU в
восьмидесятых годах XX&nbsp;века, в том числе GNU Emacs, GDB и GNU Make,
приходилось компилировать несвободным компилятором Си компании AT&amp;T,
потому что свободного компилятора Си не было, пока я не написал GCC. К
счастью, такого рода проблемы по большей части отошли в прошлое; сейчас у
нас есть свободные компиляторы и платформы почти для всех языков, какие
только используются для написания свободных программ.</p>

<p>Мы можем вызволить программу из западни этого рода, переведя ее на другой
язык или выпустив свободную реализацию языка, на котором она написана. Таким
образом, когда появилась полная свободная реализация Java, это вызволило все
свободные программы на этом языке из <a
href="/philosophy/java-trap.html">западни Java</a>.</p>

<p>Зависимость этого рода концептуально проста, потому что она вытекает из
положения, заданного в один момент времени. В момент t свободная программа P
не работает без несвободной платформы программирования Q. Заимствуя термин
лингвистики, можно сказать, что это &ldquo;синхроническая&rdquo; связь.</p>

<p>Не так давно мы наблюдали зависимость другого рода в программах баз данных,
когда можно собрать и работать с любой версией программы в мире свободы, но
обновление с версии N до версии N+1 требует несвободной программы.</p>

<p>Это происходит потому, что внутренний формат базы данных изменяется между
версией N и версией N+1. Если вы серьезно пользовались версией N, у вас,
вероятно, есть большая база данных в формате версии N. Для обновления
программ базы данных до версии N+1 вам нужно преобразовать формат этой базы
данных.</p>

<p>Если это предполагается делать обработкой с помощью несвободной программы
преобразования формата или с помощью службы разработчика, которая
представляет собой <a
href="/philosophy/who-does-that-server-really-serve.html">услугу-замену
программы</a>, то программы базы данных в западне&nbsp;&mdash; но менее
очевидным образом. Любую заданную версию программы базы данных можно
применять без несвободных программ и услуг-замен программ. Проблема
возникает, когда вы пытаетесь продолжать пользоваться программой длительное
время, что связано с периодическим обновлением ее; в этом случае программой
невозможно пользоваться без какой-то несвободной программы или ее
эквивалента. Такая программа базы данных попадает в западню при движении во
времени&nbsp;&mdash; мы могли бы назвать это &ldquo;диахронической
западней&rdquo;, заимствуя другой термин лингвистики.</p>

<p>Например, хотя программа OpenERP (переименованная впоследствии в
&ldquo;Odoo&rdquo;) свободна, она в диахронической западне. <a
href="/software/health/">GNU Health</a>, наш свободный пакет для управления
клиникой, первоначально пользовался OpenERP. В&nbsp;2011&nbsp;году
разработчик GNU Health Луис Фалкон обнаружил, что обновление до следующей
версии OpenERP требует отсылки базы данных (всех медицинских записей о
пациентах) на сервер OpenERP для преобразования формата. Это услуга-замена
программы: она требует, чтобы клиника, которая пользуется GNU Health,
доверила свои собственные вычисления и свои данные компании-разработчику
OpenERP. Фалкон не сдался, он перевел GNU Health на <a
href="http://www.tryton.org">Tryton</a>.</p>

<p>Пользование услугой-заменой программы принципиально эквивалентно работе с
несвободной программой с функциями слежки, а также универсальной
лазейкой. Эта служба могла бы сохранять копию баз данных, формат которых
пользователи преобразуют. Даже если мы уверены, что компания,
предоставляющая эту услугу, никому никогда ни в каком виде преднамеренно эти
данные не покажет, мы не можем быть уверены, что доступ к данным не получат
<a href="/philosophy/surveillance-vs-democracy.html"> агентства разведки
различных стран</a> или взломщики систем безопасности <a
href="http://stallman.org/articles/on-hacking.html">(пожалуйста, не
называйте их &ldquo;хакерами&rdquo;)</a>.</p>

<p>Когда программа в диахронической западне, вызволение ее из западни требует
больше, чем однократной работы по программированию. Работу приходится делать
постоянно, каждый раз, когда меняется формат данных. Вести проект,
поддерживая решимость продолжать эту работу в долгосрочной перспективе,
нелегко. Может оказаться проще оказать давление на компанию, чтобы она не
ставила пользователям западню&nbsp;&mdash; отказываясь от программы до тех
пор, пока она в западне. Учитывая, насколько трудно освободить программу,
вам лучше было бы держаться от нее подальше.</p>

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

<div class="translators-notes">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
 </div>
</div>

<!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.ru.html" -->
<div id="footer">
<div class="unprintable">

<p>Пожалуйста, присылайте общие запросы фонду и GNU по адресу <a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Есть также <a
href="/contact/">другие способы связаться</a> с фондом. Отчеты о
неработающих ссылках и другие поправки или предложения можно присылать по
адресу <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>

<p>
<!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">

        &lt;web-translators@gnu.org&gt;</a>.</p>

        <p>For information on coordinating and submitting translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
Мы старались сделать этот перевод точным и качественным, но исключить
возможность ошибки мы не можем. Присылайте, пожалуйста, свои замечания и
предложения по переводу по адресу <a
href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.
</p><p>Сведения по координации и предложениям переводов наших статей см. в
<a href="/server/standards/README.translations.html">&ldquo;Руководстве по
переводам&rdquo;</a>.</p>
</div>

<!-- Regarding copyright, in general, standalone pages (as opposed to
     files generated as part of manuals) on the GNU web server should
     be under CC BY-ND 4.0.  Please do NOT change or remove this
     without talking with the webmasters or licensing team first.
     Please make sure the copyright date is consistent with the
     document.  For web pages, it is ok to list just the latest year the
     document was modified, or published.
     
     If you wish to list earlier years, that is ok too.
     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
     years, as long as each year in the range is in fact a copyrightable
     year, i.e., a year in which the document was published (including
     being publicly visible on the web or in a revision control system).
     
     There is more detail about copyright years in the GNU Maintainers
     Information document, www.gnu.org/prep/maintain. -->
<p>Copyright &copy; 2016, 2017, 2018 Free Software Foundation, Inc.</p>

<p>Это произведение доступно по <a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/deed.ru">лицензии
Creative Commons Attribution-NoDerivs (<em>Атрибуция&nbsp;&mdash; Без
производных произведений</em>) 4.0 Всемирная</a>.</p>

<!--#include virtual="/server/bottom-notes.ru.html" -->
<div class="translators-credits">

<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
<em>Внимание! В подготовке этого перевода участвовал только один человек. Вы
можете существенно улучшить перевод, если проверите его и расскажете о
найденных ошибках в <a
href="http://savannah.gnu.org/projects/www-ru">русской группе переводов
gnu.org</a>.</em></div>

<p class="unprintable"><!-- timestamp start -->
Обновлено:

$Date: 2018/12/15 14:46:30 $

<!-- timestamp end -->
</p>
</div>
</div>
<!-- for class="inner", starts in the banner include -->
</body>
</html>