summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/ar/javascript-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/ar/javascript-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/ar/javascript-trap.html266
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>ثمة حركة قوية تدعو لأن تتواصل المواقع مع المستخدمين عبر الأنساق
+والبروتوكولات الحرة (التي يسميها البعض "المفتوحة")، أي التي توثيقها منشور
+وللجميع حرية تنفيذها، ومع وجود البرامج في صفحات الوب، فإن تلك المعايير
+ضرورية، لكنها ليست مؤثرة. جافاسكربت نفسها -كنسق- حرة، ولا يلزم بالضرورة أن
+يكون استخدامها في المواقع سيء؛ لكن -وكما ذكرنا أعلاه- لا يلزم أيضًا أن يكون
+مقبولًا. عندما ينقل الموقع برنامجًا إلى المستخدم، فلا يكفي أن يكون البرنامج
+مكتوبًا بلغة مُوثّقة وحرة؛ بل يجب أن يكون البرنامج ذاته حرًأ أيضًا. يجب أن
+تصبح &rdquo;تُنقل البرمجيات الحرة وحدها إلى المستخدم&ldquo; جزءًا من معيار
+سلوك المواقع السليم.</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">غنو جي&#8203;بي&#8203;إل</a> -مثل كثير من
+تراخيص البرمجيات الحرة الأخرى- توزيع نسخة من الرخصة مع المصدر والصيغة
+الثنائية للبرنامج. لكن غنو جي&#8203;بي&#8203;إل طويلة لدرجة تُصعّب من
+تضمينها في الصفحة مع برنامج جافاسكربت. يمكن أن تزيل هذا المُتطلّب من الكود
+الذي تملك أنت حقوق نشره عبر إخطار ترخيص كالآتي:</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">&lt;gnu@gnu.org&gt;</a>. هناك أيضاً طرق أخرى
+للاتصال <a href="/contact/"><span xml:lang="en" lang="en"> </span> بمؤسسة
+البرمجيات الحرة</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:web-translators@gnu.org">
+&lt;web-translators@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 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 &copy; 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>