ot Kaloian Doganov(5-09-2006)

reiting (22)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Ako programata vi e svoboden softuer, to tia po sushtestvo e etichna. Sushtestvuva obache edna klopka, za koiato triabva da budete nashtrek. Vupreki che sama po sebe si e svobodna, programata vi mozhe da bude ogranichena ot nesvobodniia softuer, ot koito zavisi. Tui kato tozi problem dnes e nai-iarko izrazen pri programite na Dzhava, narichame go „klopkata na Dzhava“.

Edna programa e svoboden softuer, ako potrebitelite ѝ pritezhavat opredeleni sushtestveni svobodi. Grubo kazano, te sa: svobodata da izpulniavat programata, svobodata da izuchavat i promeniat izhodniia kod, svobodata da razprostraniavat izhodniia i dvoichniia kod, i svobodata da publikuvat podobreni versii. (Vizhte http://www.gnu.org/philosophy/free-sw.html.) Dali dadena programa e svoboden softuer zavisi iztsialo ot voliata, zalozhena v litsenza ѝ.

Dali obache programata mozhe da bude izpolzvana v Svobodniia sviat, dali mozhe da bude izpolzvana ot hora, koito sa resheni da zhiveiat v svoboda, e po-slozhen vupros. Tova ne se opredelia samo ot litsenza na programata, ponezhe nito edna programa ne raboti v izolatsiia. Vsiaka programa zavisi ot drugi programi. Naprimer, ako dadena programa ima nuzhda da bude kompilirana ili interpretirana, to tia zavisi ot kompilator ili interpretator. Ako e kompilirana do baitkod, to tia zavisi ot interpretator na baitkod. Osven tova, za da bude izpulniavana, programata se nuzhdae i ot biblioteki. Sushto taka programata bi mogla da izvikva drugi samostoiatelni programi, koito se izpulniavat kato otdelni protsesi. Vsichki tezi programi sa zavisimosti. Zavisimostite mozhe da sa neobhodimi, za da bude izobshto izpulnena programata, no mozhe i da sa nuzhni samo za da funktsionirat niakoi neini vuzmozhnosti. Taka ili inache, tsialata programa ili chast ot neia ne mozhe da raboti bez zavisimostite.

Ako niakoi ot zavisimostite na programata sa nesvobodni, to tova oznachava, che tsialata programa ili chast ot neia ne mozhe da bude izpulnena vurhu napulno svobodna sistema — tia e bezpolezna v Svobodniia sviat. Razbira se, nie mozhem da razprostraniavame programata i da pritezhavame neini kopiia vurhu mashinite si, no ot tova niama goliama polza, shtom ne mozhem da ia izpulniavame. Tazi programa e svoboden softuer, no na praktika e okovana ot svoite nesvobodni zavisimosti.

Tozi problem mozhe da vuznikne s vseki vid softuer, na kakuvto i da e ezik za programirane. Naprimer, edna svobodna programa, koiato se izpulniava samo vurhu Maikrosoft Uindous, e ochevidno bezpolezna v Svobodniia sviat. No softuerut, koito se izpulniava vurhu GNU/Linuks sushto mozhe da bude bezpolezen, ako zavisi ot drug nesvoboden softuer. V minaloto, Motif (predi da imame LesTif) i bibliotekata „Kyu ti“ (predi razrabotchitsite ѝ da ia napraviat svoboden softuer) biaha osnovnite prichini za tozi problem. Povecheto videokarti s trimerno uskorenie rabotiat pulnofunktsionalno samo s nesvobodni draiveri, koeto sushto vodi do tozi problem. No dnes osnovniiat iztochnik na problema e Dzhava, zashtoto horata, koito pishat svoboden softuer, chesto chuvstvat, che Dzhava e seksi. Zaslepeni ot privlichaneto si kum ezika, te prenebregvat vuprosa sus zavisimostite i taka popadat v „klopkata na Dzhava“.

Realizatsiiata na Dzhava ot „Sun“ e nesvobodna. Tazi ot „Blekdaun“ sushto e nesvobodna, tia e adaptatsiia na sobstvenicheskiia kod na „Sun“. Standartnite biblioteki na Dzhava sushto sa nesvobodni. Nie razpolagame sus svobodni realizatsii na Dzhava, kato naprimer kompilatora na GNU za Dzhava (GCJ) i GNU Klaspat (GNU Classpath), no te vse oshte ne poddurzhat napulno vsichki vuzmozhnosti. Vse oshte navaksvame.

Ako razrabotvate programa na Dzhava vurhu platformata na Dzhava ot „Sun“, sushtestvuva opasnost da izpolzvate vuzmozhnosti, spetsifichni samo za „Sun“, bez dori da zabelezhite. Sled vreme, kogato otkriete tova, mozhe da sa minali mesetsi, a prenapisvaneto na tezi chasti ot programata mozhe da otneme oshte mesetsi. Bihte mogli da kazhete: „Tova e tvurde mnogo rabota, za da se zapochne otnachalo.“ V tozi moment programata vi shte e popadnala v „klopkata na Dzhava“. Programata vi shte e bezpolezna v Svobodniia sviat.

Sigurniiat nachin da izbegnete „klopkata na Dzhava“ e da razpolagate samo sus svobodna realizatsiia na Dzhava vurhu sistemata si. Togava, ako izpolzvate vuzmozhnost na Dzhava ili biblioteka, koiato svobodniia softuer vse oshte ne poddurzha, shte otkriete tova nezabavno i shte mozhete vednaga da prenapishete koda si.

„Sun“ produlzhava da razrabotva dopulnitelni „standartni“ biblioteki na Dzhava i pochti vsichki te sa nesvobodni. V mnogo sluchai, dori spetsifikatsiiata na bibliotekata predstavliava turgovska taina, a posledniiat litsenz na „Sun“ za tezi spetsifikatsii zabraniava izdavaneto na nepulni realizatsii na spetsifikatsiiata. (Vizhte naprimer http://jcp.org/aboutJava/communityprocess/JSPA2.pdf i http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html).

Za shtastie, tozi litsenz na spetsifikatsiiata pozvoliava izdavaneto na neina realizatsiia kato svoboden softuer. Taka na treti litsa, poluchili bibliotekata, im e razresheno da ia promeniat i ne sa zadulzheni da se pridurzhat kum spetsifikatsiiata. No iziskvaneto vodi do zabrana na izpolzvaneto na suvmesten model na razrabotka pri proizvezhdaneto na svobodna realizatsiia. Izpolzvaneto na takuv model bi dovelo do publikuvane na nezavursheni versii, koeto ne e razresheno na tezi, koito sa cheli spetsifikatsiiata.

V zorata na Dvizhenieto za svoboden softuer beshe nevuzmozhno da se izbegnat zavisimostite ot nesvobodni programi. Predi da imame kompilatora na GNU za Si, vsiaka programa na Si (svobodna ili ne) zaviseshe ot nesvoboden kompilator za Si. Predi da imame bibliotekata na GNU za Si, vsiaka programa zaviseshe ot nesvobodna biblioteka za Si. Predi da imame Linuks, purvoto svobodno iadro, vsiaka programa zaviseshe ot nesvobodno iadro. Predi da imame Bash, vseki skript na obvivkata triabvashe da bude interpretiran ot nesvobodna obvivka. Be neizbezhno purvite ni programi da budat obremeneni ot tezi zavisimosti, no nie priehme tova, ponezhe posledvashtoto oturvavane na tezi programi be chast ot nashiia plan. Nashata goliama tsel — samostoiatelna operatsionna sistema GNU — vklyuchvashe svobodni zamestiteli na vsichki tezi zavisimosti. Ako postignehme tselta si, togava vsichki programi biha bili oturvani. Taka i stana — sus sistemata GNU/Linuks veche mozhem da izpulniavame tezi programi vurhu svobodni platformi.

Situatsiiata dnes e razlichna. Sega razpolagame s moshtni svobodni operatsionni sistemi i mnogo svobodni sredstva za programirane. Kakvato i zadacha da zahvanete, mozhete da ia izvurshite vurhu svobodna platforma — niama nuzhda da priemate nesvobodna zavisimost, dazhe dori vremenno. Dnes osnovnata prichina, poradi koiato horata popadat v klopkata e, che ne misliat za neia. Nai-lesnoto reshenie na problema e da se obiasni na horata da ne popadat v klopkata.

Za da predpazite koda si ot „klopkata na Dzhava“, instaliraite svobodna sreda za razrabotvane na Dzhava i ia izpolzvaite. Po-obshto kazano, kakuvto i ezik da izpolzvate, otvariaite si ochite na chetiri i proveriavaite dali sa svobodni programite, ot koito zavisi koda vi. Nai-lesniiat nachin da proverite dali dadena programa e svobodna e da poglednete za neia v Ukazatelia na svoboden softuer (http://www.fsf.org/directory). Ako programata ne e v ukazatelia, mozhete da sverite litsenza (ili litsenzite) ѝ spriamo spisuka ot litsenzi za svoboden softuer (http://www.gnu.org/licenses/license-list.html).

Opitvame se da oturvem programite na Dzhava, koito sa hvanati v kapana. Taka che, ako haresvate ezika Dzhava, kanim vi da pomognete pri razrabotvaneto na GNU Klaspat. Sushto bi bilo polezno izprobvaneto na programite vi s kompilatora GCJ i GNU Klaspat i dokladvaneto na vsiakakvi problemi, na koito ste se natuknali pri veche realiziranite klasove. Vse pak, zavurshvaneto na GNU Klaspat shte otneme vreme — ako postoianno produlzhavat da se dobaviat nesvobodni biblioteki, mozhe vinagi da ni lipsvat poslednite ot tiah. Taka che, molia vi, ne okovavaite svobodniia si softuer. Dnes, kogato pishete svobodna prilozhna programa, pishete ia taka, che ot samoto nachalo da se izpulniava vurhu svobodni sredstva.

Avtor: Richard Stolman — 12 april 2004 g.
Prevod: Kaloian Doganov

Avtorski prava © 2004 Richard Stolman
Doslovnoto kopirane i razprostranenie na tsialata statiia sa pozvoleni za vseki tip nositel bez nuzhda ot zaplashtaneto na taksi, stiga tazi belezhka da bude zapazena.



<< Lyubopitniiat intsident sus „Sun“ v kusna doba | XMMS - nov oblik >>