taler-merchant-demos

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

javascript-trap.html (17323B)


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