diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/sq/javascript-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/sq/javascript-trap.html | 339 |
1 files changed, 339 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/sq/javascript-trap.html b/talermerchantdemos/blog/articles/sq/javascript-trap.html new file mode 100644 index 0000000..f17711f --- /dev/null +++ b/talermerchantdemos/blog/articles/sq/javascript-trap.html @@ -0,0 +1,339 @@ +<!--#set var="ENGLISH_PAGE" value="/philosophy/javascript-trap.en.html" --> + +<!--#include virtual="/server/header.sq.html" --> +<!-- Parent-Version: 1.96 --> +<!-- This page is derived from /server/standards/boilerplate.html --> +<!--#set var="TAGS" value="essays licensing traps" --> +<!--#set var="DISABLE_TOP_ADDENDUM" value="yes" --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>Kurthi JavaScript - Projekti GNU - Free Software Foundation</title> + +<!--#include virtual="/philosophy/po/javascript-trap.translist" --> +<!--#include virtual="/server/banner.sq.html" --> +<!--#include virtual="/philosophy/ph-breadcrumb.sq.html" --> +<!--GNUN: OUT-OF-DATE NOTICE--> +<!--#include virtual="/server/top-addendum.sq.html" --> +<div class="article reduced-width"> +<h2>Kurthi JavaScript</h2> + +<address class="byline">nga <a href="https://www.stallman.org/">Richard Stallman</a></address> + +<p><strong>Mund të jeni duke xhiruar programe jo të lirë në kompjuterin tuaj +çdo ditë, pa e ditur - përmes shfletuesit tuaj.</strong></p> + +<!-- any links that used to point to the appendices should point to + free-your-javascript.html instead. --> +<div class="announcement"> +<hr class="no-display" /> +<p>Webmasters: ka <a href="/software/librejs/free-your-javascript.html">disa +rrugë</a> për të treguar licencën e programeve JavaScript në një sajt.</p> +<hr class="no-display" /> +</div> + +<p>Ideja se <a href="/philosophy/free-software-even-more-important.html"> +cilido program jo i lirë keqtrajton përdoruesit e tij</a> është familjare +për bashkësinë e software-it të lirë. Disa nga ne e mbrojnë lirinë tonë +duke hedhur poshtë krejt programet jo të lira në kompjuterat tanë. Mjaft të +tjerë e shohin të qenët jo të lirë si një goditje ndaj programit.</p> + +<p>Mjaft përdorues janë në dijeni se ky problem aplikohet te shtojcat që +shfletuesi ofron të instalohet, ngaqë ato mund të jenë të lira ose jo të +lira. Por shfletuesi xhiron programe të tjera jo të lira, për të cilat nuk +ju pyesin, ose madje nuk ua tregojnë - programe të cilat i përmbajnë ose te +të cilat lidhen faqe web. Këto programe në shumicën e rasteve janë të +shkruar në JavaScript, por përdoren edhe gjuhë të tjera.</p> + +<p>JavaScript-i (i quajtur zyrtarisht ECMAScript, pro pak vetë e përdorin këtë +emër) dikur përdorej për fru-fru të vockla në faqe web, bie fjala, për +elementë të hijshëm, por jothelbësorë, lëvizjeje dhe shfaqjeje. Qe e +pranueshme të konsideroheshin këto si zgjerime të thjeshta të gjuhës HTML, +në vend se <em>software</em> i njëmendtë dhe të hidhej tej ajo punë.</p> + +<p>Disa sajte ende e përdorin JavaScript-in në këtë mënyrë, por shumë prej tyre +e përdorin për programe të rëndësishme, që kryejnë punë të mëdha. Për +shembull, Google Docs provon të instalojë në shfletuesin tuaj një program +JavaScript që është gjysmë megabajt i madh, në një format të ngjeshur që +mund ta quanim Obfuscript. Kjo formë e ngjeshur është krijuar nga kodi +burim, duke fshirë hapësira ekstra që e bëjnë kodin të lexueshëm dhe +shënimet shpjeguese, që e bëjnë të kuptueshëm, si dhe duke zëvendësuar te +kodi çdo emër me kuptim me një emër arbitrar të shkurtër, që të mos mund të +themi se ç’do të thotë.</p> + +<p>Pjesë e <a href="/philosophy/free-sw.html">kuptimit të software-it të +lirë</a> është se përdoruesit kanë mundësi të hyjnë te kodi burim i +programit (plani i tij). Kodi burim i një programi do të thotë forma e +parapëlqyer për programuesit për ta ndryshuar - përfshi hapësira të +dobishme, shënime shpjeguese dhe emra të kuptimtë. Kodi i ngjeshur është një +zëvendësim i gabuar, i padobishëm i kodit burim; kodi i vërtetë burim i +këtyre programeve nuk mund të kihet nga përdoruesit, që përdoruesit të mund +ta kuptojnë; ndaj programet nuk janë të lirë.</p> + +<p>Përveç të qenit jo të lirë, mjaft prej këtyre programeve janë +<em>malware</em>, ngaqë <a +href="https://github.com/w3c/fingerprinting-guidance/issues/8">përgjojnë +përdoruesin</a>. Edhe më të shpifur, disa sajte përdorin shërbime të cilat +regjistrojnë <a +href="https://freedom-to-tinker.com/2017/11/15/no-boundaries-exfiltration-of-personal-data-by-session-replay-scripts/">krejt +veprimet e përdoruesit teksa shohin një faqe</a>. Këto shërbime gjoja “i +redaktojnë” regjistrimet, për të përjashtuar të dhëna rezervat që sajti +s’duhet t’i marrë. Por edhe nëse kjo bëhet si duhet, qëllimi i këtyre +shërbimeve është t’u japin sajteve të tjera të dhëna personale që këta +s’duhet t’i marrin.</p> + +<p>Zakonisht shfletuesit nuk ju thonë kur ngarkojnë programe JavaScript. Disa +shfletues kanë një mënyrë për të çaktivizuar krejtësisht JavaScript-in, por +edhe nëse jeni i ndërgjegjshëm për këtë pikë, do t’ju duhej mundim i madh +për të identifikuar programe jo të lirë, jo trivialë dhe t’i bllokoni. +Megjithatë, madje edhe në bashkësinë e software-it të lirë, shumica e +përdoruesve nuk e dinë këtë problem; heshtja e shfletuesve priret ta fshehë.</p> + +<p>Për të qenë të qartë, gjuha JavaScript në vetvete s’është më e mirë a më e +keqe për lirinë e përdoruesit, se sa cilado gjuhë tjetër. Është e mundur të +hidhet në qarkullim një program JavaScript si <em>software</em> i lirë, duke +dhënë kodin e tij burim nën një licencë software-i të lirë. Nëse programi +është “self-contained” - funksionimi dhe qëllimi i tij janë të pavarur nga +faqja prej nga erdh - kjo është në rregull; mund ta kopjoni në një kartelë +në makinën tuaj, ta ndryshoni dhe ta hapni atë kartelë me një shfletues, për +ta xhiruar. Madje është e mundur të paketohet për instalim mu si programet +e tjerë të lirë dhe për ta përdorur me një urdhër shelli. Këto programe +s’përfaqësojnë problem special moral të ndryshëm nga ato të programeve C.</p> + +<p>Problemi i kurthit JavaScript del kur programi JavaScript vjen tok me një +faqe që vizitoni përdoruesi. Këto programe JavaScript janë shkruar për të +funksionuar me një faqe apo sajt të caktuar dhe funksionimi i faqes apo +sajtit varet prej tyre.</p> + +<p>Le të supozojmë se ju e kopjoni dhe ndryshoni kodin JavaScript të faqes. +Mandej del një problem tjetër: edhe nëse mund të kihet burimi i programit, +shfletuesit nuk ofrojnë ndonjë mënyrë për të xhiruar versionin e ndryshuar +në vend të origjinalit, kur vizitohet faqja apo sajti. Efekti është i +krahasueshëm me tivoizimin, edhe pse, në parim, jo dhe aq i zorshëm për t’u +tejkaluar.</p> + +<p>JavaScript-i s’është gjuha e vetme që sajtet përdorin për programe dërguar +përdoruesit. Flash-i mbulonte programim përmes një varianti të zgjeruar të +JavaScript-it, por kjo i takon të kaluarës. Silverlight duket se krijon një +problem të ngjashëm me Flash-i, vetëm se më keq, ngaqë Microsoft-i e përdor +si platformë për kodekë jo të lirë. Një zëvendësim i lirë për +Silverlight-in nuk bën punë për botën e programeve të lira, veç në ardhtë me +kodekë zëvendësimi të lirë.</p> + +<p>Aplikacionthet Java xhirojnë gjithashtu në shfletues dhe nxjerrin probleme +të ngjashme. Në përgjithësi, ky lloj problemi shtrohet për çfarëdo sistemi +aplikacionthesh. Pasja e një mjedisi të lirë ekzekutimi vetëm se na shpie +larg nga trajtimi i problemit.</p> + +<p>Teorikisht është e mundshme të programohet në HTML dhe CSS, por në praktikë +kjo aftësi është e kufizuar dhe jo e leverdishme; thjesht për të arritur të +bëjë diçka do punë mbresëlënëse. Programe të tillë duhet të jenë të lira, +por CSS-ja s’është problem serioz për lirinë e përdoruesi, më 2019-n.</p> + +<p>Është zhvilluar një lëvizje e fuqishme që u bën thirrje sajteve të +komunikojnë vetëm përmes formatesh dhe protokollesh që janë të lirë (ndonjë +thotë “të hapët”); që do të thotë, dokumentimi i të cilave është i botuar +dhe të cilat gjithkush është i lirë t’i vërë në përdorim. Por prania e +programeve JavaScript në faqe web e bën të pamjaftueshëm këtë kriter. Gjuha +JavaScript në vetvete, si një format, është e lirë dhe përdorimi i +JavaScript-it në një sajt s’është medoemos gjë e keqe. Por, siç e kemi parë +më sipër, mund të jetë e keqe - nëse programi JavaScript është jo i lirë. +Kur sajti i transmeton një program përdoruesit, nuk mjafton që programi të +jetë shkuar në një gjuhë të dokumentuar dhe jo të koklavitur; ai program +duhet të jetë gjithashtu i lirë. “I kalon përdoruesit vetëm programe të +lira” duhet të bëhet pjesë e kriterit për një sajt etik.</p> + +<p>Ngarkimi dhe xhirimi heshtazi i programeve jo të lira është një nga disa +problemet e lindura me “aplikacionet web”. Termi “aplikacione web” qe +konceptuar për të anashkaluar parjen e dallimit thelbësor mes software-i +dhënë përdoruesit dhe software-i që xhiron në një shërbyes. Mund t’i +referohet një programi klient të specializuar që xhiron në një shfletues; +mund t’i referohet një software-i të specializuar shërbyesi; mund t’i +referohet një programi klient të specializuar që funksionon krah për krah me +software-in e specializuar të shërbyesit. Klienti dhe shërbyesi nxjerrin +probleme të ndryshme etike, edhe nëse janë të integruar kaq ngushtë, saqë +mund të thuhet se formojnë pjesë të një programi të vetëm. Ky artikull +trajton vetëm problemin e software-it më anë të klientit. Problemin e +shërbyesit e trajtojmë ndarazi prej tij.</p> + +<p>Nga ana praktike, si mund të trajtojmë problemin e programeve JavaScript jo +trivialë, jo të lirë, në sajte? Hapi i parë është të shmanget xhirimi i tij.</p> + +<p>Ç’duam të themi me “jo trivial”? Është çështje që varet nga shkalla, pra +është çështje e hartimit të një kriteri të thjeshtë që jep përfundime të +mira, në vend se gjetje e përgjigjes së saktë.</p> +<p> +Kriteri ynë i tanishëm është të konsiderohet jo trivial një program +JavaScript, nëse plotësohet cilido prej këtyre kushteve:</p> + +<ul> + <li>i referohen si një programth i jashtëm (nga një faqe tjetër).</li> + + <li>deklaron një varg më të gjatë se 50 elementë.</li> + + <li>përkufizon një njësi të emërtuar (funksion ose metodë) që kryen thirrje ndaj +çfarëdo gjëje tjetër nga një primitiv.</li> + + <li>përkufizon një njësi të emërtuar me më shumë se tre konstrukte kushtore dhe +konstrukt qerthull.</li> + + <li>kod jashtë përkufizimesh të emërtuara thërret çfarëdo hiq primitivë dhe +funksione të përkufizuar më sipër te faqja.</li> + + <li>kod jashtë përkufizimesh të emërtuara përmban më shumë se tre konstrukte +kushtore dhe konstrukt qerthull, gjithsej.</li> + + <li>kryen thirrje ndaj <b>eval</b>.</li> + + <li>kryen thirrje Ajax.</li> + + <li>përdor shkrim kllapash për përdorim vetish objektesh dinamikë, që duket si +<b><em>objekt</em>[<em>veti</em>]</b>.</li> + + <li>ndryshon DOM-in.</li> + + <li>përdor konstrukte dinamike JavaScript që janë të vështirë për t’u analizuar +pa interpretuar programin, ose ngarkohet tok me programthe që përdorin +konstrukte të tillë. Në mënyrë specifike, duke përdorur çfarëdo konstrukti +tjetër nga një varg literal me disa metoda (<b>Obj.write</b>, +<b>Obj.createElement</b>, dhe të tjerë).</li> +</ul> + +<p>Si e marrim vesh nëse kodi JavaScript është apo jo i lirë? Në një <a +href="/licenses/javascript-labels.html">artikull më vete</a>, propozojmë një +metodë me të cilën një program JavaScript jo trivial në një faqe web mund të +deklarojë URL-në ku gjendet kodi burim dhe mund të deklarojë edhe licencën +për të, duke përdorur komente të stilizuar.</p> + +<p>Së fundi, na duhet të ndryshojmë shfletues të lirë që të pikasin dhe +bllokojnë JavaScript jo trivial dhe jo të lirë në faqe web. Programi <a +href="/software/librejs/">LibreJS</a> pikas JavaScript jo të lirë, jo +trivial në faqe që vizitoni dhe e bllokon. LibreJS-i përfshihet në IceCat +dhe mund të kihet si shtesë për Firefox.</p> + +<p>Përdoruesit e shfletuesve kanë gjithashtu nevojë për një mjet të +përshtatshëm për të specifikuar kod JavaScript për t’u përdorur <em>në +vend</em> të JavaScript-it në një faqe të dhënë. (Kodi i dhënë mund të jetë +zëvendësim tërësor, ose një version i ndryshuar i programit të lirë +JavaScript në atë faqe.) Greasemonkey është afër të qenit i aftë për ta +bërë këtë, por jo dhe aq, ngaqë nuk garanton të ndryshojë kodin JavaScript +në një faqe, përpara se programi fillon të ekzekutohet. Përdorimi i një +ndërmjetësi vendor bën punë, por është shumë i papërshtatshëm tani për të +qenë një zgjidhje reale. Na duhet të ndërtojmë një zgjidhje që është e +qëndrueshme dhe me leverdi, si dhe sajte për të ndarë me të tjerët +ndryshimet. Projekti GNU do të donte të rekomandonte sajte që u +përkushtohen vetëm ndryshimeve të lira.</p> + +<p>Këto veçori do t’i bëjnë të mundur një programi JavaScript të përfshirë në +një faqe web të jetë i lirë në një kuptim real dhe praktik. JavaScript-i +s’do të jetë më një pengesë e veçantë drejt lirisë tonë - jo më tepër se sa +janë C-ja dhe Java. Do të jemi në gjendje të hedhim poshtë dhe madje të +zëvendësojmë programe të lirë jo trivialë JavaScript, ashtu siç hedhim +poshtë dhe zëvendësojmë paketa jo të lira që ofrohem për instalim në rrugën +e zakonshme. Mandej mund të fillojë fushata jonë që sajte të çlirojnë +JavaScript-in e tyre.</p> + +<p>Ndërkohë, ka një rast kur është e pranueshme të xhirohet një program +JavaScript jo i lirë: për të dërguar një ankesë te operatorët e sajtit për +t’u thënë se duhet të bëjnë të lirë ose ta heqin fare kodin JavaScript. Ju +lutemi, mos ngurroni ta aktivizoni përkohësisht JavaScript-in për të bërë +këtë - por mos harroni ta çaktivizoni më pas.</p> + +<!-- any links that used to point to the appendices should point to + free-your-javascript.html instead. --> +<div class="announcement"> +<hr class="no-display" /> +<p>Webmasters: ka <a href="/software/librejs/free-your-javascript.html">disa +rrugë</a> për të treguar licencën e programeve JavaScript në një sajt.</p> +<hr class="no-display" /> +</div> + +<p><strong>Falënderime:</strong> Falënderoj <a +href="/people/people.html#mattlee">Matt Lee-në</a> dhe <a +href="http://ejohn.org">John Resig-un</a> për ndihmën e tyre në përkufizimin +e kriterit tonë të propozuar, si dhe David Parunakian-in që më tërhoqi +vëmendjen te problemi.</p> +</div> + +<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.sq.html" --> +<div id="footer" role="contentinfo"> +<div class="unprintable"> + +<p>Ju lutemi, pyetjet dhe kërkesat e përgjithshme rreth FSF-së & GNU-së +dërgojini te <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Ka +gjithashtu <a href="/contact/">mënyra të tjera për t’u lidhur me</a> +FSF-në. Njoftimet për lidhje të dëmtuara dhe ndreqje apo këshilla të tjera +mund të dërgohen te <a +href="mailto:webmasters@gnu.org"><webmasters@gnu.org></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"> + + <web-translators@gnu.org></a>.</p> + + <p>For information on coordinating and contributing translations of + our web pages, see <a + href="/server/standards/README.translations.html">Translations + README</a>. --> +Përpiqemi fort dhe bëjmë sa mundemi për të ofruar përkthime me cilësi të +mirë dhe të përpikta. Megjithatë, nuk jemi të përjashtuar nga +papërsosmëritë. Ju lutemi, komentet dhe këshillat e përgjithshme lidhur me +këtë dërgojini te <a +href="mailto:web-translators@gnu.org"><web-translators@gnu.org></a>.</p><p>Për +të dhëna mbi bashkërendimin dhe parashtrimin e përkthimeve të faqeve tona +web, shihni <a href="/server/standards/README.translations.html">README për +përkthimet</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>Të drejta kopjimi © 2009-2013, 2016-2019, 2021 Richard Stallman</p> + +<p>Kjo faqe mund të përdoret sipas një licence <a rel="license" +href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons +Attribution-NoDerivatives 4.0 International License</a>.</p> + +<!--#include virtual="/server/bottom-notes.sq.html" --> +<div class="translators-credits"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> + </div> + +<p class="unprintable"><!-- timestamp start --> +U përditësua më: + +$Date: 2021/12/01 23:30:29 $ + +<!-- timestamp end --> +</p> +</div> +</div> +<!-- for class="inner", starts in the banner include --> +</body> +</html> |