diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/ar/javascript-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/ar/javascript-trap.html | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/ar/javascript-trap.html b/talermerchantdemos/blog/articles/ar/javascript-trap.html new file mode 100644 index 0000000..def9034 --- /dev/null +++ b/talermerchantdemos/blog/articles/ar/javascript-trap.html @@ -0,0 +1,266 @@ +<!--#set var="PO_FILE" + value='<a href="/philosophy/po/javascript-trap.ar.po"> + https://www.gnu.org/philosophy/po/javascript-trap.ar.po</a>' + --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html" + --><!--#set var="DIFF_FILE" value="" + --><!--#set var="OUTDATED_SINCE" value="2011-12-25" --> + +<!--#include virtual="/server/header.ar.html" --> +<!-- Parent-Version: 1.79 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>مأزق جافاسكربت</title> + +<!--#include virtual="/philosophy/po/javascript-trap.translist" --> +<!--#include virtual="/server/banner.ar.html" --> +<!--#include virtual="/server/outdated.ar.html" --> +<h2>مأزق جافاسكربت</h2> + +<p>بقلم <a href="http://www.stallman.org/">ريتشارد ستولمن</a></p> + +<p><strong>قد لا تدرك أنك تشغل برمجيات غير حرة يومًا على حاسوبك، عبر +متصفحك.</strong></p> + +<!-- any links that used to point to the appendices should point to + free-your-javascript.html instead. --> + +<p>يعرف مجتمع البرمجيات الحرة أن البرامج غير الحرة تسيء لمستخدميها، ويرفض بعضنا +بالكلية تثبيت البرمجيات المحتكرة، وآخرون كثيرون يعتبرون نقص الحرية عيبًا +كبيرًا في البرنامج. </p> + +<p>كثير هم المستخدمون الذين يعرفون أن هذه القضية تنطبق على الملحقات التي توفرها +المتصفحات، وأنها قد تكون حرة وغير حرة. بيد أن المتصفحات تشغل برامج غير حرة +أخرى لا تسألك عنها بل ولا تعلمك بوجودها، وهي البرامج التي تحتويها الصفحات أو +تتصل بها. تُكتبت هذه البرامج غالبًا بجافاسكربت، لكن يمكن استخدام لغات أخرى +أيضًا.</p> + +<p>كانت جافاسكربت (التي تُسمّى رسميًا ECMAscript، لكن القليل فقط يستخدمون هذا +الاسم) تُستخدم لإضافة تجميلات طفيفة على صفحات الوب، مثل خصائص مساعِدة للتصفح +والعرض. يمكن أن تعتبر تلك امتدادًا لتعليم HTML، لا برمجيات حقيقة لأنها ليست +مؤثرة.</p> + +<p>كثير من المواقع لا تزال تستخدم جافاسكربت بتلك الطريقة، لكن البعض الآخر +يستخدمها لبرامج كبيرة تقوم بمهام كثيرة. فعلى سبيل المثال، تُنزّل مستندات +غوغل (Google Docs) برنامج جافاسكربت يبلغ حجمه نصف ميغابايت، وهو بصورة مضعوطة +يجوز لنا أن نسميها "سكربت معتم" لأنها لا تحتوي أي تعليقات ولا مساحات بيضاء +(whitespaces) وأسماء الطرق (methods) فيها تتكون من حرف واحد. إن الكود +المصدري لبرنامج معين هو الطريقة المفضلة لتعديله، لكن الكود المضغوط ليس كودًا +مصدريًا، والكود المصدري الحقيقي لذلك البرنامج غير متاح للمستخدمين.</p> + +<p>لا تخبرك المتصفحات عادة أنها تُحمّل برامج جافاسكربت، ولمعظم المتصفحات وسيلة +معينة لتعطيل جافاسكربت بالكلية، لكن لا يوجد متصفح يكتشف برامج جافاسكربت +الكبيرة غير الحرة. حتى لو كنت على علم بهذه المشكلة، فستواجه الكثير من +المتاعب عند محاولة التعرف على تلك البرامج ومن ثم حجبها؛ لكن -وحتى في مجتمع +البرمجيات الحرة- لا يعلم المستخدمون عن هذه المشكلة، لأن صمت المتصفحات +أخفاها.</p> + +<p>يمكن إصدار برامج جافاسكربت حرة، عبر توزيع الكود المصدري تحت رخصة حرة.</p> + +<p>لكن حتى لو توفر مصدر البرنامج، فلا توجد وسيلة سهلة لتشغيل نسختك المعدلة بدلا +من الأصل. متصفحات الوب الحرة الموجودة حاليًا لا توفر وسيلة لتشغيل نسختلك +المعدلة بدلا من الموجودة في الصفحة. إن الأثر مشابه لأثر التيفزة +(Tivoization)، غير أن معالجته أسهل بكثير.</p> + +<p>بيد أن جافاسكربت ليست اللغة الوحيدة التي تستخدمها مواقع الوب للبرامج التي +ترسلها للمستخدمين. يدعم فلاش البرمجة عبر نوع مُوسّع من جافاسكربت. يجب أن +ندرس قضية فلاش لنتمكن من إعطاء نصائح ملائمه بخصوصه، ويبدو أن سلفرلايت +(Silverlight) يسبب مشكلة شبيهة بمشكلة فلاش، إلا أنها أسوأ لأن مايكروسوفت +تستخدم منصتها تلك للتراميز غير الحرة. لن يؤدي أي بديل حر لسلفرلايت مهمته في +العالم الحر بدون أن يُصاحب ببدائل حرة للتراميز.</p> + +<p>بريمجات جافا أيضًا تعمل في المتصفح، وتسبب نفس المشكلة. بشكل عام، أي نظام +برمجي سيسبب مشكلة شبيهة بهذه. إن امتلاك بيئة تشغيل حرة للبُريمج لا يقدم لنا +إلا مواجه المشكلة.</p> + +<p>ثمة حركة قوية تدعو لأن تتواصل المواقع مع المستخدمين عبر الأنساق +والبروتوكولات الحرة (التي يسميها البعض "المفتوحة")، أي التي توثيقها منشور +وللجميع حرية تنفيذها، ومع وجود البرامج في صفحات الوب، فإن تلك المعايير +ضرورية، لكنها ليست مؤثرة. جافاسكربت نفسها -كنسق- حرة، ولا يلزم بالضرورة أن +يكون استخدامها في المواقع سيء؛ لكن -وكما ذكرنا أعلاه- لا يلزم أيضًا أن يكون +مقبولًا. عندما ينقل الموقع برنامجًا إلى المستخدم، فلا يكفي أن يكون البرنامج +مكتوبًا بلغة مُوثّقة وحرة؛ بل يجب أن يكون البرنامج ذاته حرًأ أيضًا. يجب أن +تصبح ”تُنقل البرمجيات الحرة وحدها إلى المستخدم“ جزءًا من معيار +سلوك المواقع السليم.</p> + +<p>إن مشكلة تحميل وتشغيل البرامج غير الحرة بصمت هي إحدى مشاكل ”تطبيقات +الوب“. إن مصطلح ”تطبيق وب“ اختُرع لتجاهل الفرق الجوهري بين البرامج التي +تُسلّم للمستخدم والبرامج التي تعمل على الخادوم. فيمكن أن يشير إلى برمجية +تعمل خصيصًا في متصفح العميل؛ ويمكن أن يشير إلى برمجية تعمل خصيصًا في +الخادوم. إن برمجيات جهة العميل وجهة الخادوم يسببان قضايا أخلاقية مختلفة، حتى +لو كانا مدموجين ويمكن القول أنهما جزآن لبرنامج واحد. تتناول هذه المقالة +مشكلة برمجيات جهة العميل، وسوف نناقش مشكلة الخادوم في مقالة أخرى.</p> + +<p>كيف يمكننا التعامل مع مشكلة برامج جافاسكربت غير الحرة في مواقع الوب؟ هنا خطة +عملية.</p> + +<p>بداية نحتاج إلى معيار لتحديد برامج جافاسكربت الكبيرة. وبما أن "كبيرة" مسألة +حكمية، فإن علينا تصميم معيار سهل يعطي نتائج جيدة بدلا من وضع إجابة محددة +واحدة.</p> +<p> +نقترح أن يعتبر برنامج جافاسكربت كبيرًا إذا أجرى طلب AJAX، وأن يعتبر كبيرًا +إذا عرّف طرقًا (methods) وإذا حمّل سكربتًا خارجيًا أو كان هو كذلك.</p> + +<p>سوف نقترح في نهاية المقالة وسيلة يمكن عبرها لبرنامج جافاسكربت الكبير في صفحة +الوب أن يشير إلى مسار كوده المصدري، ويمكن عبرها أن يشير إلى رخصته أيضًا +باستخدام تعليق مُنسّق.</p> + +<p>ينبغي علينا آخيرًا أن نُغيّر متصفحات الوب الحرة لتدعم حرية مستخدمي صفحات +الوب التي تحتوي جافاسكربت. بداية يجب أن تتاح للمتصفحات خاصية إخبار +المستخدمين بوجود برامج جافاسكربت كبيرة غير حرة قبل تشغيلها. <a +href="/software/librejs/">LibreJS</a> يدعم ذلك.</p> + +<p>مستخدمو المتصفحات بحاجة أيضًا إلى وسيلة سهلة لتحديد كود جافاسكربت ليُستخدم +<em>بدلا</em> من كود جافاسكربت الموجود في صفحة معينة. (يمكن أن يكون الكود +المُحدّد استبدلا كاملًا أو إصدارًا معدلا من برنامج جافاسكربت الحر في تلك +الصفحة). مهمة Greasemonkey قريبة من ذلك، لكن ليس تمامًا، لأنه لا يُعدل كود +جافاسكربت الموجود في صفحة معينة قبل بدء تشغيل البرنامج. يمكن أن ينجح استخدام +وسيط (proxy) محلي لكنه حل صعب جدًا واقعيًا. علينا أن نبني حلا موثوقًا وسهلا +ومواقع يمكن عبرها تبادل التغييرات. سوف يوصي مشروع غنو بالمواقع المُخصّص +للتغييرات الحرة فقط.</p> + +<p>سوف تُمكّن هذه الخصائص برامج جافاسكربت حرة من أن تكون حرة بمعنى حقيقي +وعملي. لن تكون جافاسكربت عقبة أمام حريتنا، وستكون مثل سي وجافا اليوم. سوف +نتمكن من رفض وحتى استبدال برامج جافاسكربت الكبيرة غير الحرة، تمامًا كما نرفض +ونستبدل الحزم غير الحرة التي يمكن تثبيتها بالطريقسة العادية. يمكن أن تبدأ +حينها حملتنا للطلب من مواقع الوب أن تُحرّر كود جافاسكربت.</p> + +<!-- any links that used to point to the appendices should point to + free-your-javascript.html instead. --> + +<p><strong>شكرًا ل<a href="/people/people.html#mattlee">Matt Lee</a> و <a +href="http://ejohn.org">John Resig</a> على مساعدتهما في صياغة معيارنا +المقترح، ولDavid Parunakian لإعلامي بالمشكلة.</strong></p> + +<h3 id="AppendixA">ملحق: وسيلة لإصدار برامج جافاسكربت حرة.</h3> + +<p>للإشارة إلى الكود المصدري المرافق، نوصي باستخدام:</p> +<pre dir="ltr"> + + // @source: + +</pre> + +<p>يتبعها المسار. +</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">غنو جي​بي​إل</a> -مثل كثير من +تراخيص البرمجيات الحرة الأخرى- توزيع نسخة من الرخصة مع المصدر والصيغة +الثنائية للبرنامج. لكن غنو جي​بي​إل طويلة لدرجة تُصعّب من +تضمينها في الصفحة مع برنامج جافاسكربت. يمكن أن تزيل هذا المُتطلّب من الكود +الذي تملك أنت حقوق نشره عبر إخطار ترخيص كالآتي:</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> + +<p>أشكر Jaffar Rumith على لفت انتباهي لهذه القضية. </p> + +<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.ar.html" --> +<div id="footer"> +<div class="unprintable"> + +<p>يرجى إرسال الاستفسارات المتعلقة بالـ FSF وGNU إلى <a +href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. هناك أيضاً طرق أخرى +للاتصال <a href="/contact/"><span xml:lang="en" lang="en"> </span> بمؤسسة +البرمجيات الحرة</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:web-translators@gnu.org"> +<web-translators@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 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>Copyright © 2009، 2010 ريتشارد ستولمن</p> + +<p>هذا المُصنَّف مرخص بموجب <a rel="license" +href="http://creativecommons.org/licenses/by-nd/4.0/deed.ar">رخصة المشاع +الإبداعي نسب المصنف - منع الاشتقاق 4.0 دولي</a>.</p> + +<!--#include virtual="/server/bottom-notes.ar.html" --> +<div class="translators-credits"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> +ترجمها <a href="mailto:osamak.wfm@gmail.com"><em>أسامة خالد</em></a><br +/>.فريق الترجمة العربية بإشراف <em>حسام حسني</em>.</div> + +<p class="unprintable"><!-- timestamp start --> +حُدّثت: + +$Date: 2018/01/01 09:30:21 $ + +<!-- timestamp end --> +</p> +</div> +</div> +</body> +</html> |