summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/ro/java-trap.html
blob: 7063d82c8cf0e97100a647cc1370c47b10d6bd84 (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
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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
<!--#set var="PO_FILE"
 value='<a href="/philosophy/po/java-trap.ro.po">
 http://www.gnu.org/philosophy/po/java-trap.ro.po</a>'
 --><!--#set var="ORIGINAL_FILE" value="/philosophy/java-trap.html"
 --><!--#set var="DIFF_FILE" value=""
 --><!--#set var="OUTDATED_SINCE" value="2007-12-15" -->
<!--#set var="ENGLISH_PAGE" value="/philosophy/java-trap.en.html" -->

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

<!-- This file is automatically generated by GNUnited Nations! -->
<title>Liber dar încătușat - capcana Java - Proiectul GNU - Free Software
Foundation</title>

<!--#include virtual="/philosophy/po/java-trap.translist" -->
<!--#include virtual="/server/banner.ro.html" -->
<!--#include virtual="/server/outdated.ro.html" -->
<h2>Liber dar încătușat - capcana Java</h2>

<p>de <a href="http://www.stallman.org/">Richard Stallman</a></p>


<div class="announcement"><blockquote><h3>Notă</h3>

<p>În luna decembrie 2006, Sun se află în procesul de <a
href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">relansare a
platformei lor Java sub GNU GPL</a>. Când schimbarea licenței va fi
completă, ne așteptăm ca Java să nu mai fie o capcană. Făcând abstracție de
aceasta, chestiune generală descrisă aici va rămâne importantă, pentru că
orice bibliotecă sau platformă ne-liberă poate cauza o problemă
similară. Trebuie să învățăm o lecție din istoria lui Java, pentru a putea
evita alte capcane în viitor.</p>

</blockquote>
</div>

<p>12 aprilie 2004</p>

<p>
  Dacă programul dvs. este software liber, acesta este în pricipiu etic, dar
există o capcană de care trebuie să fiți conștient. Programul dvs., deși
liber, poate fi restricționat de software ne-liber de care depinde. Întrucât
problema este proeminentă azi pentru programele Java, o numim Capcana Java.
</p>

<p>
  Un program este software liber dacă utilizatorii săi au anumite libertăți
cruciale. Pe scurt, acestea sunt: libertatea de a rula programul, libertatea
de a studia și schimba codul sursă, libertatea de a redistribui codul sursă
și binarele și libertatea de a publica versiuni îmbunătățite. (Vedeți <a
href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>.)
Dacă un anumit program este software liber depinde în întregime de înțelesul
licenței sale.
</p>

<p>
  Dacă programul poate fi folosit în Lumea Liberă, folosit de cei ce vor să
trăiască în libertate, este o întrebare mai complexă. Aceasta nu este
determinată numai de licența programului, pentru că un program nu
funcționează în izolare. Fiecare program depinde de alte programe. De
exemplu, un program trebuie compilat sau interpretat, așa că depinde de un
compilator sau un interpretor. Dacă este compilat în byte code, programul
depinde de interpretorul de byte code. Mai mult, aceste depinde de
biblioteci pentru a rula și mai poate invoca alte programe separate care
rulează în alte procese. Toate aceste programe sunt dependențe. Dependențele
pot fi necesare pentru ca programul să ruleze, sau pot fi necesare numai
pentru anumite capabilități. În ambele cazuri, părți din program sau tot
programul nu pot opera fără dependențe. 
</p>

<p>
  Dacă unele dintre dependențele programului nu sunt libere, aceasta înseamnă
că unele părți din program sau întreg programul nu pot rula într-un sistem
liber în totalitate — el este de nefolosit în Lumea Liberă. Desigur, noi am
putea redistribui programul și am putea avea copii în computerele noastre,
dar n-ar fi de prea mare folos dacă nu l-am putea rula. Acel program este
software liber, dar este în fapt încătușat de dependențele sale ne-libere.
</p>

<p>
  Această problemă poate avea loc în orice tip de software, în orice
limbaj. De exemplu, un program liber care rulează numai pe Microsoft Windows
este în mod clar de nefolosit în Lumea Liberă. Dar software-ul care rulează
pe GNU/Linux poate de asemenea fi de nefolosit dacă depinde de alt software
ne-liber. În trecut, Motif (înainte de a avea LessTif) și Qt (înainte ca
dezvoltatorii săi să-l facă software liber) au fost cauze majore ale acestei
probleme. Cele mai multe carduri video 3D funcționează la parametrii
nominali numai cu drivere ne-libere, care cauzează de asemenea această
problemă. Dar sursa majoră a acestei probleme este azi Java, pentru că cei
ce scriu software liber simt adeseori că Java este sexy. Orbiți de atracția
lor pentru limbaj, ei neglijează chestiunea dependențelor și cad în Capcana
Java. 
</p>

<p>
  Implementarea lui Sun de Java este ne-liberă. Blackdown este de asemenea
ne-liberă pentru că este o adaptare a codului proprietar a lui
Sun. Bibliotecile standard Java sunt de asemenea ne-libere. Noi avem
implementări libere de Java, cum ar fi <a
href="http://gcc.gnu.org/java/">Compilatorul GNU pentru Java</a> (GCJ) și <a
href="/software/classpath">GNU Classpath</a>, dar ele încă nu suportă toate
capabilitățile. Încă ne străduim să-i prindem din urmă.
</p>

<p>
  Dacă dezvoltați un program Java pe platforma Java a lui Sun, sunteți în
pericol să folosiți capabilități disponibile numai în versiunea Sun fără
nici măcar să realizați acest lucru. Pe când vă dați seama ar putea trece
luni de zile și repararea situației ar putea lua alte câteva luni. Ați putea
spune: „E prea mult de lucru să o iau de la capăt.” și atunci programul
dvs. a căzut în Capcana Java; el nu va putea fi folosit în Lumea Liberă. 
</p>

<p>
  Modul eficace în care puteți evita Capcana Java este să aveți doar o
implementare liberă de Java pe sistemul dvs.. Atunci, dacă folosiți o
capabilitate Java sau o bibliotecă pe care software-ul liber încă nu o
suportă, vă veți da seama de acest lucru pe loc și veți putea rescrie codul
imediat. 
</p>

<p>
  Sun continuă să dezvolte biblioteci Java „standard” adiționale și aproape
toate sunt ne-libere; în multe cazuri, chiar și specificațiile bibliotecii
sunt „trade secret” iar cea mai recentă licență a lui Sun pentru aceste
specificații interzice lansarea/distribuirea a unor implementări incomplete
ale specificațiilor. (Vedeți de exemplu <a
href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a>
și <a
href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html">http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a>).
</p>

<p>
  Din fericire, licența pentru specificații permite lansarea unei implementări
ca software liber; cei care primesc biblioteca o pot modifica și nu sunt
obligați să adere la specificație. Dar cerința are efectul de a interzice
folosirea unui model de dezvoltare colaborativ de producere a implementației
libere. Folosirea acelui model ar însemna publicarea de versiuni incomplete,
ceea ce este interzis celor care au citit specificațiile. 
</p>

<p>
  La începuturile Mișcării pentru Software Liber, erau imposibil de evitat
dependențele de programe ne-libere. Înainte de a avea compilatorul C GNU,
fiecare program C (liber sau nu) depindea de un compilator C
ne-liber. Înainte de a avea biblioteca C GNU, fiecare program depindea de o
bibliotecă C ne-liberă. Înainte de a avea Linux, primul kernel liber,
fiecare program depindea de un kernel ne-liber. Înainte de a avea BASH,
fiecare script shell trebuia să fie interpretat de un shell ne-liber. A fost
inevitabil ca primele noastre programe să fie inițial îngrădite de aceste
dependențe, dar noi am acceptat această situație pentru că planul nostru
includea salvarea lor ulterioară. Scopul nostru final, un sistem de operare
GNU auto-susținut, includea înlocuitori liberi pentru toate acele
dependențe; dacă atingeam scopul, toate programele noastre ar fi
salvate. Acest lucru s-a întâmplat: cu sistemul GNU/Linux, noi putem rula
aceste programe pe platforme libere. 
</p>

<p>
  Situația este diferită azi. Noi avem acum sisteme de operare libere
puternice și multe unelte de programare libere. Orice lucru pe care ați dori
să-l faceți poate fi făcut acum pe o pllatformă liberă; nu există nici o
nevoie să acceptați o dependență ne-liberă, nici măcar temporar. Principalul
motiv pentru care oamenii cad în capcană acum este faptul că nu se gândesc
la aceasta. Cea mai ușoară soluție la problema Capcanei Java este educarea
despre existența acesteia. 
</p>

<p>
  Pentru a ține codul dvs. Java în siguranță față de Capcana Java, instalați
un mediu de dezvoltare Java și folosiți-l. În general, orice limbaj ați
folosi, țineți ochii deschiși și verificați starea libertății a programelor
de care depinde codul dvs.. Cel mai ușor puteți verifica dacă un program
este liber căutându-l în Directorul de Software Liber (<a
href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>). Dacă
un program nu este în director, puteți să-i verificați licența comparând-o
cu lista de licențe pentru software liber (<a
href="/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>).
</p>

<p>
  Noi încercăm să salvăm programele Java căzute în capcană, așa că dacă vă
place limbajul Java, vă invităm să ajutați la dezvoltarea lui GNU
Classpath. Încercându-vă programele cu compilatorul GCJ și GNU Classpath și
raportând problemele pe care le aveți în clasele deja implementate este de
asemenea folositor. Totuși, ne va lua ceva timp să terminăm GNU Classpath;
dacă adăugarea altor biblioteci ne-libere va continua, s-ar putea să nu le
aveți niciodată pe cele mai recente. Așa că vă rugăm să nu puneți
software-ul dvs. liber în lanțuri. Când scrieți o aplicație azi, scrieți-o
să ruleze pe platforme libere de la început.
</p>

<h3>Vedeți și:</h3>
<p><a href="/philosophy/sun-in-night-time.html">Incidentul ciudat cu soarele
(Sun) în timpul nopții</a></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.ro.html" -->
<div id="footer">
<div class="unprintable">

<p>Pentru întrebări generale legate de FSF și GNU, vă rugăm să scrieți la <a
href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.  Există și <a
href="/contact/">alte moduri de a contacta</a> FSF. Legăturile stricate și
alte corecturi sau sugestii pot fi trimise la <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>. -->
Muncim din greu și facem tot ceea ce ne stă în putință să punem la
dispoziție traduceri exacte, de o calitate bună.  Cu toate acestea, nu
suntem perfecți. Vă rugăm să ne trimiteți comentariile și sugestiile
dvs. generale în această privință la <a
href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.</p>
<p>Pentru informații despre coordonarea și trimiterea de traduceri pentru
paginile noastre, consultați <a
href="/server/standards/README.translations.html">ghidul de traduceri</a>.</p>
</div>

<p>Copyright &copy; 2004 Richard Stallman</p>

<p>Această pagină este licențiată sub licența <a rel="license"
href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative Commons
Atribuire - Fără modificări 3.0 Statele Unite</a>.</p>

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

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

<p class="unprintable"><!-- timestamp start -->
Actualizat la:

$Date: 2015/03/16 10:05:50 $

<!-- timestamp end -->
</p>
</div>
</div>
</body>
</html>