diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/fa/javascript-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/fa/javascript-trap.html | 282 |
1 files changed, 282 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/fa/javascript-trap.html b/talermerchantdemos/blog/articles/fa/javascript-trap.html new file mode 100644 index 0000000..91e6d1b --- /dev/null +++ b/talermerchantdemos/blog/articles/fa/javascript-trap.html @@ -0,0 +1,282 @@ +<!--#set var="PO_FILE" + value='<a href="/philosophy/po/javascript-trap.fa.po"> + https://www.gnu.org/philosophy/po/javascript-trap.fa.po</a>' + --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html" + --><!--#set var="DIFF_FILE" value="" + --><!--#set var="OUTDATED_SINCE" value="2011-09-03" --> +<!--#set var="ENGLISH_PAGE" value="/philosophy/javascript-trap.en.html" --> + +<!--#include virtual="/server/header.fa.html" --> +<!-- Parent-Version: 1.77 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>دام جاوااسکریپت</title> + +<!--#include virtual="/philosophy/po/javascript-trap.translist" --> +<!--#include virtual="/server/banner.fa.html" --> +<!--#include virtual="/server/outdated.fa.html" --> +<h2>دام جاوااسکریپت</h2> + +<p>نوشتهٔ <a href="http://www.stallman.org/">ریچارد استالمن</a></p> + +<p><strong>ممکن است بدون اینکه متوجه باشید هر روز برنامههای غیرآزاد را به +واسطهٔ مرورگر وب خود بر روی کامپیوترتان اجرا کنید.</strong></p> + +<p>در جامعهٔ نرمافزار آزاد این عقیده که نرمافزارهای غیر آزاد با کاربران خود +بد رفتاری میکنند کاملا شناخته شده است. تعدادی از ما ترجیح میدهیم که به طور +کامل از نصب نرمافزارهای غیرآزاد بر روی کامپیوتر خود امتناع ورزیم، و تعداد +بسیاری آزاد نبودن را اعتصابی بر علیه برنامه میدانند. بسیاری از کاربران +میدانند که این موضوع دربارهٔ افزونههایی (plugins) که مرورگر برای نصب فراهم +میآورد نیز صدق میکند، چرا که آنها نیز میتوانند آزاد یا غیرآزاد باشند.</p> + +<p>اما مرورگرها برنامههای غیرآزاد دیگری را نیز اجرا میکنند که حتی دربارهٔ +اجرا کردن آن از شما پرسش نیز نمیکنند یا حتی به شما دربارهٔ وجودشان چیزی +نمیگویند—برنامههایی که صفحات وب درون خود دارند و یا به آنها پیوند +خوردهاند. این برنامهها معمولا با جاوااسکریپت نوشته میشوند، هر چند که +زبانهای دیگر نیز مورد استفاده قرار میگیرند.</p> + +<p>جاوااسکریپت (که به طور رسمی ECMAscript نامیده میشود، اما کمتر کسی از این +نام استفاده میکند) برای اولین بار برای تجملاتی کوچک در صفحات وب استفاده شد، +همانند قابلیتهای نمایشی و جلوههای زیبا اما غیر ضروریِ پیوندها و +فهرستها. قابل قبول بود که به جای اینکه آنها را یک نرمافزار به حساب آوریم، +یک تعمیم بر HTML بدانیم؛ آنها موضوع چندان مهمی به حساب نمیآمدند.</p> + +<p>تعدادی از سایتها هنوز از جاوااسکریپت به همان صورت استفاده میکنند، اما +بعضیها از جاوااسکریپت برای برنامههای مهمی که کارهای بزرگ انجام میدهند +استفاده میکنند. به عنوان مثال، Google Docs یک برنامهٔ جاوااسکریپت را بر روی +کامپیوتر شما بارگزاری میکند که کمتر از نصف مگابایت حجم دارد، در قالبی که ما +Obfuscript مینامیم چرا که هیچ توضیح و یا خط خالیای درون خود ندارد، و نام +مِتُدهای آن تنها یک حرف طول دارد. کد منبع یک برنامه، در قالبی است که بتوان +آن را ویرایش کرد؛ این کدِ فشرده، کد منبع نیست، و کد منبع حقیقیِ این برنامه +در دسترس کاربر قرار ندارد.</p> + +<p>معمولا مرورگرها هنگام بارگزاری برنامههای جاوااسکریپت اطلاعی نمیدهند. اکثر +مرورگرها روشی برای غیر فعال کردن جاوااسکریپت به طور کامل دارند، اما هیچکدام +از آنها برنامههای جاوااسکریپت که کوچک اما با اهمیت، و غیر آزاد هستند را +نمیتوانند بررسی کنند. حتی اگر شما از این موضوع با خبر باشید، پیدا کردن و +جلوگیری از این برنامهها پر دردسر خواهد بود. هر چند، حتی در جامعهٔ نرمافزار +آزاد نیز اکثر کابران از این موضوع مطلع نیستند؛ سکوتِ مرورگر موضوع را پنهان +نگاه میدارد.</p> + +<p>میتوان یک برنامهٔ جاوااسکریپت را با انتشار کد منبع آن مطابق اجازهنامهٔ +نرمافزار آزاد، به صورت یک نرمافزار آزاد منتشر ساخت. اما حتی اگر کد منبع +برنامه در دسترس باشد، راه سادهای برای به اجرا درآوردن نسخهٔ تغییر یافته به +جای نسخهٔ اصلی وجود ندارد. مرورگرهای آزاد کنونی تسهیلاتی را برای اجرای نسخهٔ +تغییر یافته به جای آنچه درون صفحه وجود دارد، در اختیار قرار نمیدهند. تاثیر +آن با tivoization قابل مقایسه است، اگر چه غلبه بر آن چندان هم مشکل نیست.</p> + +<p>جاوااسکریپت تنها زبانی نیست که وبسایتها برای ارسال برنامه برای کاربران +استفاده میکنند. Flash قابلیت برنامهنویسی را به وسیلهٔ نوعی جاوااسکریپتِ +توسعهیافته فراهم میآورد. برای ارائهٔ توصیههایی مناسب در این زمینه احتیاج +به بررسی Flash داریم. به نظر میرسد که Silverlight نیز مشکلی همانند Flash +ایجاد میکند، حتی بدتر، چرا که مایکروسافت از آن به عنوان سکویی برای codecهای +غیرآزاد خود استفاده میکند. یک جایگزین آزاد برای Silverlight موضوع را برای +جهان آزاد حل نمیکند مگر اینکه جایگزینی آزاد برای این codecها داشته باشد.</p> + +<p>جاوااپلت نیز درون مرورگر اجرا میشود و مورد مشابهی را مطرح میکند. به طور +کلی، هر نوع سیستمِ اپلت چنین مشکلی را دارا است. داشتن یک محیط آزاد برای +اجرای اپلت، ما را تنها تا جایی پیش میبرد که بتوانیم با این مشکل روبرو شویم.</p> + +<p>جنبشی قدرتمند به راه افتاده است که از وبسایتها تقاضا میکند تنها از طریق +فرمتها و پروتکلهای آزاد (بعضیها میگویند "باز") ارتباط بر قرار +کنند؛ فرمتها و پروتکلهایی که مستندات خود را منتشر ساختهاند و هر شخصی برای +پیادهسازی آنها آزاد است. با حضور برنامهها در صفحات وب، چنین ضوابطی ضروری، +اما ناکافی است. خود جاوااسکریپت، به عنوان یک فرمت، آزاد است، و استفاده از +جاوااسکریپت در وبسایتها لزوما بد نیست. هر چند، همانطور که پیش از این +دیدیم، لزوما خوب هم نیست. هنگامی که یک سایت برنامهای را برای کاربر ارسال +میکند، نوشته شدن برنامه با یک زبان واضح و مستندسازی شده به تنهایی کافی +نیست، خود برنامه نیز باید آزاد باشد. ”تنها برنامههای آزاد که برای +کاربران ارسال میشوند“ باید بخشی از ضابطهٔ رفتار صحیح برای وبسایتها +شوند.</p> + +<p>بارگزاری و اجرای برنامههای غیر آزاد در سکوت یکی از چند موضوعی است که توسط +"برنامههای وب" مطرح شده است. واژهٔ "برنامههای وب" به +منظور حذف تفاوتهای اساسی میان برنامههایی که برای کاربر ارسال میشود و +برنامههایی که بر روی سرور در حال اجرا هستند، پدید آمده است. این واژه +میتواند به یک برنامهٔ اختصاصی که بر روی مرورگر کاربر اجرا میشود اشاره کند؛ +میتواند به نرمافزار اختصاصی سرور اشاره کند؛ میتواند به برنامهٔ اختصاصی +سمت کاربر و برنامهٔ اختصاصی سمت سرور که با یکدیگر همکاری میکنند اشاره +کند. برنامههای سمت کاربر و سمت سرور موضوعات اخلاقی مختلفی را مطرح میکنند، +حتی اگر آنها کاملا ترکیب شده و بتوان گفت که برنامهای واحد را تشکیل +دادهاند. این مقاله تنها بر روی نرمافزارهای سمت کاربر بحث میکند. موضوع +سرور به صورت جداگانهای مورد بحث قرار خواهد گرفت.</p> + +<p>در عمل، چگونه میتوان با مشکلِ برنامههای جاوااسکریپتِ غیر آزاد بر روی +وبسایتها بر خورد کرد؟ یکی از روشها بدین قرار است.</p> + +<p>ابتدا، به ضابطهای عملی برای برنامههای جاوااسکریپتِ کوچک اما نه بیاهمیت، +نیاز داریم. موضوع مهم آن است که ضابطهای طراحی کنیم که نتایج خوبی به دست +دهد، نه اینکه جواب صحیحی فراهم آورد.</p> +<p> +پیشنهاد ما این است که برنامهٔ جاوااسکریپتی را با اهمیت بنامیم که اسکریپتِ +دیگری را بارگزاری کند و یا یک درخواست AJAX را مطرح کند.</p> + +<p>در پایان مقاله قراردادی را پیشنهاد میکنیم که مطابق آن یک برنامهٔ +جاوااسکریپت در یک صفحهٔ وب بتواند شامل یک URL باشد که به مکان کد منبع برنامه +اشاره کند، و بتواند شامل اجازهنامهای نیز باشد که با استفاده از توضیحات +درون کد مشخص شود.</p> + +<p>در پایان، لازم است که مرورگرهای وب به گونهای تغییر پیدا کنند که از آزادی +کاربران در مقابل صفحاتی با جاوااسکریپت حمایت کنند. پیش از هر چیز، مرورگرها +باید قادر باشند که در عوض اجرا کردن برنامههای جاوااسکریپتِ غیر آزاد و نه +بیاهمیت، به کاربران در موردشان اخطار دهند. شاید بتوان <a +href="https://addons.mozilla.org/en-US/firefox/addon/722">NoScript</a> را +برای این منظور تغییر داد.</p> + +<p>همچنین کاربران مرورگر به روشی ساده نیاز دارند تا بتوانند کد جاوااسکریپت +جایگزینی را مشخص کنند تا <em>به جای</em> کد موجود در صفحه اجرا شود. (کد مشخص +شده باید یک جایگزین کامل، و یا نسخهای تغییر یافته و آزاد از کد جاوااسکریپتِ +موجود در آن صفحه باشد.) Greasemonkey تقریبا قادر به انجام این کار است، اما +نه کاملا، چرا که نمیتواند تضمین کند پیش از اجرا شدن کد جاوااسکریپتِ درون +صفحه، نسخهٔ تغییر یافته جایگزین شود. استفاده از یک پروکسیِ محلی این امکان را +میدهد، اما بیش از حد دردسر ساز است که به عنوان راه حل حقیقی ارائه شود. باید +راه حلی پدید آورد که قابل اعتماد و راحت باشد، همینطور سایتهایی که بتوانند +این تغییرات را به اشتراک بگذارند. پروژهٔ گنو تمایل دارد سایتهایی را معرفی +کند که تنها به تغییرات آزاد توجه دارند.</p> + +<p>این قابلیتها باعث میشود که بتوان برنامههای جاوااسکریپت موجود در صفحات وب +را به صورت آزاد، و با روشی عملی و حقیقی منتشر کرد. جاوااسکریپت دیگر یک مانع +در برابر آزادی ما نخواهد بود.—نه بیش از آنچه امروزه جاوا و C هستند. ما +میتوانیم برنامههای غیر آزاد و نه بیاهمیت جاوااسکریپت را نپذیریم و یا حتی +آنها را جایگزین سازیم، درست همانطور که بستههای نرمافزاری غیر آزاد را که +موجود هستند جایگزین میسازیم. سپس مبارزهٔ ما برای اینکه وبسایتها کد +جاوااسکریپت خود را آزاد سازند، آغاز خواهد شد.</p> + +<p><strong>از <a href="/people/people.html#mattlee">Matt Lee</a> و <a +href="http://ejohn.org">John Resig</a> به خاطر کمک در تعریف ضابطهٔ پیشنهادی +ما تشکر میکنم.</strong></p> + +<h3 id="AppendixA">پیوست: قراردادی برای توزیع برنامههای جاوااسکریپت به صورت آزاد</h3> + +<p>برای ارجاع به کد منبع، پیشنهاد میکنیم</p> +<pre dir="ltr"> + + // @source: + +</pre> + +<p>و پس از آن URL مربوط به کد منبع آورده شود. +</p> + +<p>برای نمایش دادن اجازهنامهٔ مربوط به کد جاوااسکریپت که در صفحه آمده است، +پیشنهاد میکنیم از اعلانی، میان دو یادداشت، همانند این فرم استفاده شود:</p> +<pre dir="ltr"> +<!--TRANSLATORS: Do not translate these license notices. The <pre> + + elements have dir="ltr" explicitly set to cater for RTL languages.--> + + @licstart The following is the entire license notice for the + JavaScript code in this page. + ... + @licend The above is the entire license notice + for the JavaScript code in this page. + +</pre> +<p>و البته، تمام اینها باید داخل یک توضیح چند خطی قرار گیرند.</p> + +<p><a href="/licenses/gpl.html">GNU GPL</a>، همانند بسیاری از اجازهنامههای +نرمافزار آزاد دیگر، توزیع یک نسخه از اجازهنامه را به همراه کد منبع و +باینری لازم میداند. اما GNU GPL طولانیتر از آن است که بتوان آن را بدون +مشکل در یک صفحهٔ وب به همراه کد جاوااسکریپت قرار داد. با استفاده از یک اعلان +همانند آنچه در زیر میآید به همراه کد خود، میتوانید این الزام را برآورده +کنید:</p> +<pre dir="ltr"> + + Copyright (C) YYYY Developer + + The JavaScript code in this page is free software: you can + redistribute it and/or modify it under the terms of the GNU + General Public License (GNU GPL) as published by the Free Software + Foundation, either version 3 of the License, or (at your option) + any later version. The code is distributed WITHOUT ANY WARRANTY; + without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + + As additional permission under GNU GPL version 3 section 7, you + may distribute non-source (e.g., minimized or compacted) forms of + that code without the copy of the GNU GPL normally required by + section 4, provided you include this license notice and a URL + through which recipients can access the Corresponding Source. + +</pre> + +<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.fa.html" --> +<div id="footer"> +<div class="unprintable"> + +<p>لطفا سوالات و پرسشهای خود در رابطه با گنو و بنیاد نرمافزارهای آزاد را به +<a href="mailto:gnu@gnu.org"><gnu@gnu.org></a> ارسال کنید. همچنین <a +href="/contact/">راههای دیگری برای تماس</a> با بنیاد نرمافزارهای آزاد وجود +دارد. لطفا لینکهای خراب و یا مشکلات دیگر یا پیشنهادات خود را به <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 submitting translations of + our web pages, see <a + href="/server/standards/README.translations.html">Translations + README</a>. --> +ما سخت کار میکنیم و تمام تلاش خود را به کار میبریم تا ترجمههای دقیق و با +کیفیتی ارائه کنیم. اما با این حال، ما عاری از نقص نیستیم. لطفا نظرها و +پیشنهادهای خود در این رابطه را به <a +href="mailto:www-fa-general@gnu.org"><www-fa-general@gnu.org></a> +ارسال نمایید.</p> <p>لطفا برای اطلاعات بیشتر جهت هماهنگی و ارسال ترجمههای +این مقاله صفحهٔ <a href="/server/standards/README.translations.html">راهنمای +ترجمهها</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 3.0 US. 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><span dir="ltr">Copyright © 2009 Richard Stallman</span></p> + +<p>این صفحه تحت مجوز <a rel="license" +href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative Commons +Attribution-NoDerivs 3.0 United States License</a> قرار دارد.</p> + +<!--#include virtual="/server/bottom-notes.fa.html" --> +<div class="translators-credits"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> + </div> + +<p class="unprintable"><!-- timestamp start --> +آخرین به روز رسانی: + +$Date: 2016/11/18 07:32:45 $ + +<!-- timestamp end --> +</p> +</div> +</div> +</body> +</html> |