summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/fa/javascript-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/fa/javascript-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/fa/javascript-trap.html282
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>اما مرورگرها برنامه‌های غیرآزاد دیگری را نیز اجرا می‌کنند که حتی دربارهٔ
+اجرا کردن آن از شما پرسش نیز نمی‌کنند یا حتی به شما دربارهٔ وجودشان چیزی
+نمی‌گویند&mdash;برنامه‌هایی که صفحات وب درون خود دارند و یا به آنها پیوند
+خورده‌اند. این برنامه‌ها معمولا با جاوااسکریپت نوشته می‌شوند، هر چند که
+زبان‌های دیگر نیز مورد استفاده قرار می‌گیرند.</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>جنبشی قدرتمند به راه افتاده است که از وب‌سایت‌ها تقاضا می‌کند تنها از طریق
+فرمت‌ها و پروتکل‌های آزاد (بعضی‌ها می‌گویند &quot;باز&quot;) ارتباط بر قرار
+کنند؛ فرمت‌ها و پروتکل‌هایی که مستندات خود را منتشر ساخته‌اند و هر شخصی برای
+پیاده‌سازی آنها آزاد است. با حضور برنامه‌ها در صفحات وب، چنین ضوابطی ضروری،
+اما ناکافی است. خود جاوااسکریپت، به عنوان یک فرمت، آزاد است، و استفاده از
+جاوااسکریپت در وب‌سایت‌ها لزوما بد نیست. هر چند، همانطور که پیش از این
+دیدیم، لزوما خوب هم نیست. هنگامی که یک سایت برنامه‌ای را برای کاربر ارسال
+می‌کند، نوشته شدن برنامه با یک زبان واضح و مستندسازی شده به تنهایی کافی
+نیست، خود برنامه نیز باید آزاد باشد. &rdquo;تنها برنامه‌های آزاد که برای
+کاربران ارسال می‌شوند&ldquo; باید بخشی از ضابطهٔ رفتار صحیح برای وب‌سایت‌ها
+شوند.</p>
+
+<p>بارگزاری و اجرای برنامه‌های غیر آزاد در سکوت یکی از چند موضوعی است که توسط
+&quot;برنامه‌های وب&quot; مطرح شده است. واژهٔ &quot;برنامه‌های وب&quot; به
+منظور حذف تفاوت‌های اساسی میان برنامه‌هایی که برای کاربر ارسال می‌شود و
+برنامه‌هایی که بر روی سرور در حال اجرا هستند، پدید آمده است. این واژه
+می‌تواند به یک برنامهٔ اختصاصی که بر روی مرورگر کاربر اجرا می‌شود اشاره کند؛
+می‌تواند به نرم‌افزار اختصاصی سرور اشاره کند؛ می‌تواند به برنامهٔ اختصاصی
+سمت کاربر و برنامهٔ اختصاصی سمت سرور که با یکدیگر همکاری می‌کنند اشاره
+کند. برنامه‌های سمت کاربر و سمت سرور موضوعات اخلاقی مختلفی را مطرح می‌کنند،
+حتی اگر آنها کاملا ترکیب شده و بتوان گفت که برنامه‌ای واحد را تشکیل
+داده‌اند. این مقاله تنها بر روی نرم‌افزارهای سمت کاربر بحث می‌کند. موضوع
+سرور به صورت جداگانه‌ای مورد بحث قرار خواهد گرفت.</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>این قابلیت‌ها باعث می‌شود که بتوان برنامه‌های جاوااسکریپت موجود در صفحات وب
+را به صورت آزاد، و با روشی عملی و حقیقی منتشر کرد. جاوااسکریپت دیگر یک مانع
+در برابر آزادی ما نخواهد بود.&mdash;نه بیش از آنچه امروزه جاوا و 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">&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:www-fa-general@gnu.org">&lt;www-fa-general@gnu.org&gt;</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 &copy; 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>