taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

javascript-trap.html (20651B)


      1 <!--#set var="PO_FILE"
      2  value='<a href="/philosophy/po/javascript-trap.fa.po">
      3  https://www.gnu.org/philosophy/po/javascript-trap.fa.po</a>'
      4  --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html"
      5  --><!--#set var="DIFF_FILE" value=""
      6  --><!--#set var="OUTDATED_SINCE" value="2011-09-03" -->
      7 <!--#set var="ENGLISH_PAGE" value="/philosophy/javascript-trap.en.html" -->
      8 
      9 <!--#include virtual="/server/header.fa.html" -->
     10 <!-- Parent-Version: 1.77 -->
     11 
     12 <!-- This file is automatically generated by GNUnited Nations! -->
     13 <title>دام جاوااسکریپت</title>
     14 
     15 <!--#include virtual="/philosophy/po/javascript-trap.translist" -->
     16 <!--#include virtual="/server/banner.fa.html" -->
     17 <!--#include virtual="/server/outdated.fa.html" -->
     18 <h2>دام جاوااسکریپت</h2>
     19 
     20 <p>نوشتهٔ <a href="http://www.stallman.org/">ریچارد استالمن</a></p>
     21 
     22 <p><strong>ممکن است بدون اینکه متوجه باشید هر روز برنامه‌های غیرآزاد را به
     23 واسطهٔ مرورگر وب خود بر روی کامپیوترتان اجرا کنید.</strong></p>
     24 
     25 <p>در جامعهٔ نرم‌افزار آزاد این عقیده که نرم‌افزارهای غیر آزاد با کاربران خود
     26 بد رفتاری می‌کنند کاملا شناخته شده است. تعدادی از ما ترجیح می‌دهیم که به طور
     27 کامل از نصب نرم‌افزارهای غیرآزاد بر روی کامپیوتر خود امتناع ورزیم، و تعداد
     28 بسیاری آزاد نبودن را اعتصابی بر علیه برنامه می‌دانند. بسیاری از کاربران
     29 می‌دانند که این موضوع دربارهٔ افزونه‌هایی (plugins) که مرورگر برای نصب فراهم
     30 می‌آورد نیز صدق می‌کند، چرا که آنها نیز می‌توانند آزاد یا غیرآزاد باشند.</p>
     31 
     32 <p>اما مرورگرها برنامه‌های غیرآزاد دیگری را نیز اجرا می‌کنند که حتی دربارهٔ
     33 اجرا کردن آن از شما پرسش نیز نمی‌کنند یا حتی به شما دربارهٔ وجودشان چیزی
     34 نمی‌گویند&mdash;برنامه‌هایی که صفحات وب درون خود دارند و یا به آنها پیوند
     35 خورده‌اند. این برنامه‌ها معمولا با جاوااسکریپت نوشته می‌شوند، هر چند که
     36 زبان‌های دیگر نیز مورد استفاده قرار می‌گیرند.</p>
     37 
     38 <p>جاوااسکریپت (که به طور رسمی ECMAscript نامیده می‌شود، اما کمتر کسی از این
     39 نام استفاده می‌کند) برای اولین بار برای تجملاتی کوچک در صفحات وب استفاده شد،
     40 همانند قابلیت‌های نمایشی و جلوه‌های زیبا اما غیر ضروریِ پیوندها و
     41 فهرست‌ها. قابل قبول بود که به جای اینکه آنها را یک نرم‌افزار به حساب آوریم،
     42 یک تعمیم بر HTML بدانیم؛ آنها موضوع چندان مهمی به حساب نمی‌آمدند.</p>
     43 
     44 <p>تعدادی از سایت‌ها هنوز از جاوااسکریپت به همان صورت استفاده می‌کنند، اما
     45 بعضی‌ها از جاوااسکریپت برای برنامه‌های مهمی که کارهای بزرگ انجام می‌دهند
     46 استفاده می‌کنند. به عنوان مثال، Google Docs یک برنامهٔ جاوااسکریپت را بر روی
     47 کامپیوتر شما بارگزاری می‌کند که کمتر از نصف مگابایت حجم دارد، در قالبی که ما
     48 Obfuscript می‌نامیم چرا که هیچ توضیح و یا خط خالی‌ای درون خود ندارد، و نام
     49 مِتُدهای آن تنها یک حرف طول دارد. کد منبع یک برنامه، در قالبی است که بتوان
     50 آن را ویرایش کرد؛ این کدِ فشرده، کد منبع نیست، و کد منبع حقیقیِ این برنامه
     51 در دسترس کاربر قرار ندارد.</p>
     52 
     53 <p>معمولا مرورگرها هنگام بارگزاری برنامه‌های جاوااسکریپت اطلاعی نمی‌دهند. اکثر
     54 مرورگرها روشی برای غیر فعال کردن جاوااسکریپت به طور کامل دارند، اما هیچ‌کدام
     55 از آنها برنامه‌های جاوااسکریپت که کوچک اما با اهمیت، و غیر آزاد هستند را
     56 نمی‌توانند بررسی کنند. حتی اگر شما از این موضوع با خبر باشید، پیدا کردن و
     57 جلوگیری از این برنامه‌ها پر دردسر خواهد بود. هر چند، حتی در جامعهٔ نرم‌افزار
     58 آزاد نیز اکثر کابران از این موضوع مطلع نیستند؛ سکوتِ مرورگر موضوع را پنهان
     59 نگاه می‌دارد.</p>
     60 
     61 <p>می‌توان یک برنامهٔ جاوااسکریپت را با انتشار کد منبع آن مطابق اجازه‌نامهٔ
     62 نرم‌افزار آزاد، به صورت یک نرم‌افزار آزاد منتشر ساخت. اما حتی اگر کد منبع
     63 برنامه در دسترس باشد، راه ساده‌ای برای به اجرا درآوردن نسخهٔ تغییر یافته به
     64 جای نسخهٔ اصلی وجود ندارد. مرورگرهای آزاد کنونی تسهیلاتی را برای اجرای نسخهٔ
     65 تغییر یافته به جای آنچه درون صفحه وجود دارد، در اختیار قرار نمی‌دهند. تاثیر
     66 آن با tivoization قابل مقایسه است، اگر چه غلبه بر آن چندان هم مشکل نیست.</p>
     67 
     68 <p>جاوااسکریپت تنها زبانی نیست که وب‌سایت‌ها برای ارسال برنامه برای کاربران
     69 استفاده می‌کنند. Flash قابلیت برنامه‌نویسی را به وسیلهٔ نوعی جاوااسکریپتِ
     70 توسعه‌یافته فراهم می‌آورد. برای ارائهٔ توصیه‌هایی مناسب در این زمینه احتیاج
     71 به بررسی Flash داریم. به نظر می‌رسد که Silverlight نیز مشکلی همانند Flash
     72 ایجاد می‌کند، حتی بدتر، چرا که مایکروسافت از آن به عنوان سکویی برای codecهای
     73 غیرآزاد خود استفاده می‌کند. یک جایگزین آزاد برای Silverlight موضوع را برای
     74 جهان آزاد حل نمی‌کند مگر اینکه جایگزینی آزاد برای این codecها داشته باشد.</p>
     75 
     76 <p>جاوااپلت نیز درون مرورگر اجرا می‌شود و مورد مشابهی را مطرح می‌کند. به طور
     77 کلی، هر نوع سیستمِ اپلت چنین مشکلی را دارا است. داشتن یک محیط آزاد برای
     78 اجرای اپلت، ما را تنها تا جایی پیش می‌برد که بتوانیم با این مشکل روبرو شویم.</p>
     79 
     80 <p>جنبشی قدرتمند به راه افتاده است که از وب‌سایت‌ها تقاضا می‌کند تنها از طریق
     81 فرمت‌ها و پروتکل‌های آزاد (بعضی‌ها می‌گویند &quot;باز&quot;) ارتباط بر قرار
     82 کنند؛ فرمت‌ها و پروتکل‌هایی که مستندات خود را منتشر ساخته‌اند و هر شخصی برای
     83 پیاده‌سازی آنها آزاد است. با حضور برنامه‌ها در صفحات وب، چنین ضوابطی ضروری،
     84 اما ناکافی است. خود جاوااسکریپت، به عنوان یک فرمت، آزاد است، و استفاده از
     85 جاوااسکریپت در وب‌سایت‌ها لزوما بد نیست. هر چند، همانطور که پیش از این
     86 دیدیم، لزوما خوب هم نیست. هنگامی که یک سایت برنامه‌ای را برای کاربر ارسال
     87 می‌کند، نوشته شدن برنامه با یک زبان واضح و مستندسازی شده به تنهایی کافی
     88 نیست، خود برنامه نیز باید آزاد باشد. &rdquo;تنها برنامه‌های آزاد که برای
     89 کاربران ارسال می‌شوند&ldquo; باید بخشی از ضابطهٔ رفتار صحیح برای وب‌سایت‌ها
     90 شوند.</p>
     91 
     92 <p>بارگزاری و اجرای برنامه‌های غیر آزاد در سکوت یکی از چند موضوعی است که توسط
     93 &quot;برنامه‌های وب&quot; مطرح شده است. واژهٔ &quot;برنامه‌های وب&quot; به
     94 منظور حذف تفاوت‌های اساسی میان برنامه‌هایی که برای کاربر ارسال می‌شود و
     95 برنامه‌هایی که بر روی سرور در حال اجرا هستند، پدید آمده است. این واژه
     96 می‌تواند به یک برنامهٔ اختصاصی که بر روی مرورگر کاربر اجرا می‌شود اشاره کند؛
     97 می‌تواند به نرم‌افزار اختصاصی سرور اشاره کند؛ می‌تواند به برنامهٔ اختصاصی
     98 سمت کاربر و برنامهٔ اختصاصی سمت سرور که با یکدیگر همکاری می‌کنند اشاره
     99 کند. برنامه‌های سمت کاربر و سمت سرور موضوعات اخلاقی مختلفی را مطرح می‌کنند،
    100 حتی اگر آنها کاملا ترکیب شده و بتوان گفت که برنامه‌ای واحد را تشکیل
    101 داده‌اند. این مقاله تنها بر روی نرم‌افزارهای سمت کاربر بحث می‌کند. موضوع
    102 سرور به صورت جداگانه‌ای مورد بحث قرار خواهد گرفت.</p>
    103 
    104 <p>در عمل، چگونه می‌توان با مشکلِ برنامه‌های جاوااسکریپتِ غیر آزاد بر روی
    105 وب‌سایت‌ها بر خورد کرد؟ یکی از روش‌ها بدین قرار است.</p>
    106 
    107 <p>ابتدا، به ضابطه‌ای عملی برای برنامه‌های جاوااسکریپتِ کوچک اما نه بی‌اهمیت،
    108 نیاز داریم. موضوع مهم آن است که ضابطه‌ای طراحی کنیم که نتایج خوبی به دست
    109 دهد، نه اینکه جواب صحیحی فراهم آورد.</p>
    110 <p>
    111 پیشنهاد ما این است که برنامهٔ جاوااسکریپتی را با اهمیت بنامیم که اسکریپتِ
    112 دیگری را بارگزاری کند و یا یک درخواست AJAX را مطرح کند.</p>
    113 
    114 <p>در پایان مقاله قراردادی را پیشنهاد می‌کنیم که مطابق آن یک برنامهٔ
    115 جاوااسکریپت در یک صفحهٔ وب بتواند شامل یک URL باشد که به مکان کد منبع برنامه
    116 اشاره کند، و بتواند شامل اجازه‌نامه‌ای نیز باشد که با استفاده از توضیحات
    117 درون کد مشخص شود.</p>
    118 
    119 <p>در پایان، لازم است که مرورگرهای وب به گونه‌ای تغییر پیدا کنند که از آزادی
    120 کاربران در مقابل صفحاتی با جاوااسکریپت حمایت کنند. پیش از هر چیز، مرورگرها
    121 باید قادر باشند که در عوض اجرا کردن برنامه‌های جاوااسکریپتِ غیر آزاد و نه
    122 بی‌اهمیت، به کاربران در موردشان اخطار دهند. شاید بتوان <a
    123 href="https://addons.mozilla.org/en-US/firefox/addon/722">NoScript</a> را
    124 برای این منظور تغییر داد.</p>
    125 
    126 <p>همچنین کاربران مرورگر به روشی ساده نیاز دارند تا بتوانند کد جاوااسکریپت
    127 جایگزینی را مشخص کنند تا <em>به جای</em> کد موجود در صفحه اجرا شود. (کد مشخص
    128 شده باید یک جایگزین کامل، و یا نسخه‌ای تغییر یافته و آزاد از کد جاوااسکریپتِ
    129 موجود در آن صفحه باشد.) Greasemonkey تقریبا قادر به انجام این کار است، اما
    130 نه کاملا، چرا که نمی‌تواند تضمین کند پیش از اجرا شدن کد جاوااسکریپتِ درون
    131 صفحه، نسخهٔ تغییر یافته جایگزین شود. استفاده از یک پروکسیِ محلی این امکان را
    132 می‌دهد، اما بیش از حد دردسر ساز است که به عنوان راه حل حقیقی ارائه شود. باید
    133 راه حلی پدید آورد که قابل اعتماد و راحت باشد، همین‌طور سایت‌هایی که بتوانند
    134 این تغییرات را به اشتراک بگذارند. پروژهٔ گنو تمایل دارد سایت‌هایی را معرفی
    135 کند که تنها به تغییرات آزاد توجه دارند.</p>
    136 
    137 <p>این قابلیت‌ها باعث می‌شود که بتوان برنامه‌های جاوااسکریپت موجود در صفحات وب
    138 را به صورت آزاد، و با روشی عملی و حقیقی منتشر کرد. جاوااسکریپت دیگر یک مانع
    139 در برابر آزادی ما نخواهد بود.&mdash;نه بیش از آنچه امروزه جاوا و C هستند. ما
    140 می‌توانیم برنامه‌های غیر آزاد و نه بی‌اهمیت جاوااسکریپت را نپذیریم و یا حتی
    141 آنها را جایگزین سازیم، درست همانطور که بسته‌های نرم‌افزاری غیر آزاد را که
    142 موجود هستند جایگزین می‌سازیم. سپس مبارزهٔ ما برای اینکه وب‌سایت‌ها کد
    143 جاوااسکریپت خود را آزاد سازند، آغاز خواهد شد.</p>
    144 
    145 <p><strong>از <a href="/people/people.html#mattlee">Matt Lee</a> و <a
    146 href="http://ejohn.org">John Resig</a> به خاطر کمک در تعریف ضابطهٔ پیشنهادی
    147 ما تشکر می‌کنم.</strong></p>
    148 
    149 <h3 id="AppendixA">پیوست: قراردادی برای توزیع برنامه‌های جاوااسکریپت به صورت آزاد</h3>
    150 
    151 <p>برای ارجاع به کد منبع، پیشنهاد می‌کنیم</p>
    152 <pre dir="ltr">
    153 
    154     // @source:
    155 
    156 </pre>
    157 
    158 <p>و پس از آن URL مربوط به کد منبع آورده شود.
    159 </p>
    160 
    161 <p>برای نمایش دادن اجازه‌نامهٔ مربوط به کد جاوااسکریپت که در صفحه آمده است،
    162 پیشنهاد می‌کنیم از اعلانی، میان دو یادداشت، همانند این فرم استفاده شود:</p>
    163 <pre dir="ltr">
    164 <!--TRANSLATORS: Do not translate these license notices.  The <pre>
    165 
    166     elements have dir="ltr" explicitly set to cater for RTL languages.-->
    167 
    168     @licstart  The following is the entire license notice for the 
    169     JavaScript code in this page.
    170     ...
    171     @licend  The above is the entire license notice
    172     for the JavaScript code in this page.
    173 
    174 </pre>
    175 <p>و البته، تمام اینها باید داخل یک توضیح چند خطی قرار گیرند.</p>
    176 
    177 <p><a href="/licenses/gpl.html">GNU GPL</a>، همانند بسیاری از اجازه‌نامه‌های
    178 نرم‌افزار آزاد دیگر، توزیع یک نسخه از اجازه‌نامه را به همراه کد منبع و
    179 باینری لازم می‌داند. اما GNU GPL طولانی‌تر از آن است که بتوان آن را بدون
    180 مشکل در یک صفحهٔ وب به همراه کد جاوااسکریپت قرار داد. با استفاده از یک اعلان
    181 همانند آنچه در زیر می‌آید به همراه کد خود، می‌توانید این الزام را برآورده
    182 کنید:</p>
    183 <pre dir="ltr">
    184 
    185     Copyright (C) YYYY  Developer
    186 
    187     The JavaScript code in this page is free software: you can
    188     redistribute it and/or modify it under the terms of the GNU
    189     General Public License (GNU GPL) as published by the Free Software
    190     Foundation, either version 3 of the License, or (at your option)
    191     any later version.  The code is distributed WITHOUT ANY WARRANTY;
    192     without even the implied warranty of MERCHANTABILITY or FITNESS
    193     FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
    194 
    195     As additional permission under GNU GPL version 3 section 7, you
    196     may distribute non-source (e.g., minimized or compacted) forms of
    197     that code without the copy of the GNU GPL normally required by
    198     section 4, provided you include this license notice and a URL
    199     through which recipients can access the Corresponding Source.
    200 
    201 </pre>
    202 
    203 <div class="translators-notes">
    204 
    205 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
    206  </div>
    207 </div>
    208 
    209 <!-- for id="content", starts in the include above -->
    210 <!--#include virtual="/server/footer.fa.html" -->
    211 <div id="footer">
    212 <div class="unprintable">
    213 
    214 <p>لطفا سوالات و پرسش‌های خود در رابطه با گنو و بنیاد نرم‌افزارهای آزاد را به
    215 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a> ارسال کنید. همچنین <a
    216 href="/contact/">راه‌های دیگری برای تماس</a> با بنیاد نرم‌افزارهای آزاد وجود
    217 دارد. لطفا لینک‌های خراب و یا مشکلات دیگر یا پیشنهادات خود را به <a
    218 href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a> ارسال کنید.</p>
    219 
    220 <p>
    221 <!-- TRANSLATORS: Ignore the original text in this paragraph,
    222         replace it with the translation of these two:
    223 
    224         We work hard and do our best to provide accurate, good quality
    225         translations.  However, we are not exempt from imperfection.
    226         Please send your comments and general suggestions in this regard
    227         to <a href="mailto:web-translators@gnu.org">
    228 
    229         &lt;web-translators@gnu.org&gt;</a>.</p>
    230 
    231         <p>For information on coordinating and submitting translations of
    232         our web pages, see <a
    233         href="/server/standards/README.translations.html">Translations
    234         README</a>. -->
    235 ما سخت کار می‌کنیم و تمام تلاش خود را به کار می‌بریم تا ترجمه‌های دقیق و با
    236 کیفیتی ارائه کنیم. اما با این حال، ما عاری از نقص نیستیم. لطفا نظرها و
    237 پیشنهادهای خود در این رابطه را به <a
    238 href="mailto:www-fa-general@gnu.org">&lt;www-fa-general@gnu.org&gt;</a>
    239 ارسال نمایید.</p> <p>لطفا برای اطلاعات بیشتر جهت هماهنگی و ارسال ترجمه‌های
    240 این مقاله صفحهٔ <a href="/server/standards/README.translations.html">راهنمای
    241 ترجمه‌ها</a> را ببینید.</p>
    242 </div>
    243 
    244 <!-- Regarding copyright, in general, standalone pages (as opposed to
    245      files generated as part of manuals) on the GNU web server should
    246      be under CC BY-ND 3.0 US.  Please do NOT change or remove this
    247      without talking with the webmasters or licensing team first.
    248      Please make sure the copyright date is consistent with the
    249      document.  For web pages, it is ok to list just the latest year the
    250      document was modified, or published.
    251      
    252      If you wish to list earlier years, that is ok too.
    253      Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
    254      years, as long as each year in the range is in fact a copyrightable
    255      year, i.e., a year in which the document was published (including
    256      being publicly visible on the web or in a revision control system).
    257      
    258      There is more detail about copyright years in the GNU Maintainers
    259      Information document, www.gnu.org/prep/maintain. -->
    260 <p><span dir="ltr">Copyright &copy; 2009 Richard Stallman</span></p>
    261 
    262 <p>این صفحه تحت مجوز <a rel="license"
    263 href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative Commons
    264 Attribution-NoDerivs 3.0 United States License</a> قرار دارد.</p>
    265 
    266 <!--#include virtual="/server/bottom-notes.fa.html" -->
    267 <div class="translators-credits">
    268 
    269 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
    270  </div>
    271 
    272 <p class="unprintable"><!-- timestamp start -->
    273 آخرین به روز رسانی:
    274 
    275 $Date: 2016/11/18 07:32:45 $
    276 
    277 <!-- timestamp end -->
    278 </p>
    279 </div>
    280 </div>
    281 </body>
    282 </html>