thegnuproject.html (97255B)
1 <!--#set var="PO_FILE" 2 value='<a href="/gnu/po/thegnuproject.ar.po"> 3 https://www.gnu.org/gnu/po/thegnuproject.ar.po</a>' 4 --><!--#set var="ORIGINAL_FILE" value="/gnu/thegnuproject.html" 5 --><!--#set var="DIFF_FILE" value="/gnu/po/thegnuproject.ar-diff.html" 6 --><!--#set var="OUTDATED_SINCE" value="2020-07-12" --><!--#set var="ENGLISH_PAGE" value="/gnu/thegnuproject.en.html" --> 7 8 <!--#include virtual="/server/header.ar.html" --> 9 <!-- Parent-Version: 1.86 --> 10 11 <!-- This file is automatically generated by GNUnited Nations! --> 12 <title>حول مشروع جنو - مشروع جنو - مؤسسة البرمجيات الحرة</title> 13 <meta http-equiv="Keywords" content="جنو، مشروع جنو، البرمجيات الحرة، مؤسسة البرمجيات الحرة، التاريخ" /> 14 15 <!--#include virtual="/gnu/po/thegnuproject.translist" --> 16 <!--#include virtual="/server/banner.ar.html" --> 17 <!--#include virtual="/server/outdated.ar.html" --> 18 <h2>مشروع جنو</h2> 19 20 <p> 21 بقلم <a href="http://www.stallman.org/"><strong>ريتشارد ستالمان</strong></a></p> 22 23 <blockquote> 24 <p> 25 هذا المقال تم نشره أولاً في كتاب <em>المصادر المفتوحة (Open 26 Sources)</em>. ريتشارد ستالمان لم يكن أبداً من <a 27 href="/philosophy/open-source-misses-the-point.html">مناصري استخدام تعبير 28 “المصادر المفتوحة”</a>، ولكنه شارك بهذا المقال في الكتاب المذكور 29 ﻻعتقاده أنه من اﻷفضل أن تكون أفكار ورؤى حركة البرمجيات الحرة مذكورة في 30 الكتاب عن أن تكون غائبة عنه. 31 </p> 32 <p> 33 لماذا نؤمن أنه من اﻷهمية بمكان <a 34 href="/philosophy/free-software-even-more-important.html">أن نصر جميعاً على 35 أن تكون البرمجيات التي نستخدمها حرة</a>. 36 </p> 37 </blockquote> 38 39 <h3>أول مجتمع لمشاركة البرمجيات</h3> 40 <p> 41 حينما بدأت العمل بمختبر الذكاء اﻻصطناعي بمعهد ماساشوستس للتكنولوجيا <abbr 42 title="Massachusetts Institute of Technology">MIT</abbr> في العام 1971م، 43 وجدت أنني صرت جزءاً من مجتمع يقوم بمشاركة البرمجيات، الشئ الذي كان متواصلاً 44 في اﻷعوام التي سبقت التحاقي بالمختبر. لم تكن مشاركة البرمجيات مقتصرة تحديداً 45 على مجتمعنا، بل كانت ممارسة قديمة قدم الحواسيب نفسها، مثلما أن مشاركة وصفات 46 الطبخ قديمة قدم عملية الطبخ في حد ذاتها. غير أننا كنا نقوم بالمشاركة أكثر 47 بكثير من غيرنا.</p> 48 <p> 49 كان مختبر الذكاء اﻻصطناعي يستخدم نظام تشغيل يعتمد مبدأ المشاركة بالوقت، وكان 50 النظام يدعى نظام المشاركة بالوقت غير التوافقي <abbr title="Incompatible 51 Timesharing System">ITS</abbr> (the Incompatible Timesharing System). كان 52 قراصنة المبرمجين في فريق عمل المختبر (1) قد صمموا وبرمجوا النظام باستخدام 53 لغة التجميع، على أجهزة ديجيتال <abbr title="Programmed Data 54 Processor">PDP</abbr>-10، وهي من أضخم الحواسيب التي كانت موجودة في ذلك 55 الوقت. وحيث أنني كنت عضواً في هذا المجتمع، ومبرمجاً في فريق عمل مختبر الذكاء 56 اﻻصطناعي؛ فقد كانت وظيفتي تتطلب أن أقوم بتحسين هذا النظام.</p> 57 <p> 58 في ذلك الوقت، لم نكن نطلق على برمجياتنا لفظ “البرمجيات الحرة”؛ 59 وذلك ﻷن اللفظ لم يكن قد تم اختراعه بعد، ولكن هذا ﻻ يمنع من أن ما كنا نمارسه 60 كان حرية البرمجيات. حينما كان المبرمجون التابعون لجامعة أخرى أو شركة مختلفة 61 يرغبون في استخدام أو ترقية أحد برامجنا، كنا نسمح لهم بذلك. حينما كنت ترى 62 شخصاً آخر يستخدم برنامجاً غير مألوف ويجذب ذلك انتباهك، كان بإمكانك أن تطلب 63 من الشخص اﻵخر أن يسمح لك برؤية شفرة المصدر، حيث يمكنك أن تقرأها، وتقوم 64 بتعديلها، ومن ثم تستخدم أجزاء منها لعمل برنامج جديد كلياً.</p> 65 <p> 66 (1) استخدام لفظة “قرصنة” بمعنى “كسر اﻷمن” هو خطأ 67 شائع ترتكبه الوسائط اﻹعلامية الحديثة. نحن كقراصنة مبرمجين نرفض أن نعترف بهذا 68 المعنى الخاطئ، ونصر على استخدام الكلمة بمعناها الصحيح والذي يعني أن القرصان 69 هو شخص يجب البرمجة، أو شخص يستمتع بالذكاء المرح، أو شخص يمارس اﻻثنين 70 معاً. يمكنك قراءة المزيد في مقالتي <a 71 href="http://stallman.org/articles/on-hacking.html">حول القرصنة 72 البرمجية</a>.</p> 73 74 <h3>انهيار المجتمع اﻷولي</h3> 75 <p> 76 في بداية الثمانينيات من القرن الماضي، تغير الوضع كلياً عما كان عليه، وذلك 77 حينما قررت شركة ديجيتال Digital إيقاف تصنيع سلسلة حواسيب PDP-10. بينما كان 78 التصميم راقياً وقوياً بما يناسب الستينيات، إﻻ أنه فشل في التوسع بما يلائم 79 مساحات العناوين الضخمة التي صارت متوفرة في الثمانينيات. هذا كان يعني أن جميع 80 البرامج التي تكون منها نظام المشاركة بالوقت غير التوافقي ITS قد أصبحت بالية 81 وغير صالحة للعمل.</p> 82 <p> 83 كان مجتمع القراصنة المبرمجين بمختبر الذكاء اﻻصطناعي قد انهار قبل ذلك بفترة 84 قصيرة. ففي العام 1981م، كانت شركة سيمبولكس (Symbolics) قد نجحت في توظيف أغلب 85 القراصنة المبرمجين التابعين لمختبر الذكاء الاصطناعي، مما أدى ﻹضعاف مجتمع 86 المبرمجين الذي صار عاجزاً عن المشاركة بنفس الطريقة السابقة. (إن كتاب 87 القراصنة (Hackers)، من تأليف ستيف ليفي، يحوي وصفاً دقيقاً لهذه اﻷحداث، 88 باﻹضافة إلى أنه يرسم صورة واضحة لهذا المجتمع في ذروة نشاطه). فيما بعد، حينما 89 قام مختبر الذكاء اﻻصطناعي في العام 1982م بشراء جهاز حاسوب PDP-10 حديث، قرر 90 المدراء استخدام نظام تشغيل المشاركة بالوقت من ديجيتال، والذي لم يكن حراً، 91 عوضاً عن نظام ITS القديم.</p> 92 <p> 93 أجهزة الحواسيب الحديثة في ذلك الوقت، كجهاز VAX أو جهاز 68020، كانت جميعها 94 تحوي أنظمة التشغيل الخاصة بها، والتي لم يكن أيها حراً: كان يجب عليك أن تقوم 95 بتوقيع اتفاقية عدم إفشاء اﻷسرار لو كنت ترغب بالحصول على نسخة من البرنامج.</p> 96 <p> 97 كان هذا يعني أن أول خطوة يتوجب عليك القيام بها ﻻستخدام جهاز حاسوب هي أن تعد 98 بأنك لن تقدم يد العون لجارك، بما يعني تحريم المشاركة في المجتمع. كان القانون 99 الجديد الذي وضعه ملاك البرمجيات اﻻحتكارية هو: “إذا قمت بالمشاركة مع 100 جارك، فأنت إذاً قرصان. إذا كنت ترغب بإجراء أي تعديلات على البرنامج، يجب عليك 101 أن تتوسل إلينا لنقوم بذلك.”</p> 102 <p> 103 قد يتفاجأ بعض القراء من فكرة أن النظام اﻻجتماعي للبرمجيات اﻻحتكارية — 104 وهو النظام الذي يفرض قانون عدم المشاركة وعدم تعديل البرمجيات — هو نظام 105 ﻻ اجتماعي، كما أنه نظام ﻻ أخلاقي، وبالتالي فهو ممارسة خاطئة من أساسها. ولكن 106 ماذا يمكننا أن نطلق على نظام يعتمد على تفريق الرأي العام، ويجعل المستخدمين ﻻ 107 حول لهم وﻻ قوة؟ القارئ الذي يجد هذه الفكرة مفاجئة هو من اقتنع بأن نظام 108 البرمجيات اﻻحتكارية اﻻجتماعي هو نظام مُسلّم به، أو هو من حكم على النظام 109 باﻻعتماد على الشروط التي فرضها عليه أصحاب البرمجيات اﻻحتكارية أنفسهم. يمكننا 110 أن نتفهم ذلك، فناشرو البرامج قد بذلوا الكثير من الوقت والجهد ﻹقناع 111 المستخدمين بأن هناك طريقة واحدة فقط للحكم على هذه المسألة.</p> 112 <p> 113 حينما يتحدث ناشرو البرامج عن “فرض حقوقهم” بالقوة، أو 114 ”محاربة وإيقاف <a 115 href="/philosophy/words-to-avoid.html#Piracy">القرصنة</a>“ فإن بما 116 <em>يقولونه</em> في الحقيقة ليس مهماً على اﻹطلاق. الرسالة الحقيقية من وراء 117 تصريحاتهم تكمن في افتراضاتهم غير المعلنة، والتي يتعين على الجمهور القبول بها 118 بدون بحث أو تمحيص. إذاً، فلنقم بالبحث في هذه اﻻفتراضات اﻵن.</p> 119 <p> 120 أحد هذه اﻻفتراضات هو أن شركات البرمجيات من حقها أن تمتلك البرمجيات، وبالتالي 121 أن تفرض سلطتها على جميع المستخدمين، وأن هذا حق طبيعي وغير قابل للنقاش. (إذا 122 سلمنا بأن هذا حق طبيعي، فإن ذلك يعني أننا لن نتمكن من اﻻعتراض عليه، بغض 123 النظر عن مقدار اﻷذى الذي سيسببه للجمهور). من المثير للاهتمام أن دستور 124 الولايات المتحدة والنواميس القانونية ترفضان وجهة النظر هذه؛ حيث أن حقوق 125 الملكية ليست حقوقاً أصيلة، وإنما هي خطة احتكارية مصطنعة تفرضها الحكومات 126 لتمنع المستخدمين من ممارسة حقهم الطبيعي في النقل والمشاركة.</p> 127 <p> 128 هناك افتراض ضمني آخر يقضي بأن الشئ الوحيد ذو اﻷهمية في موضوع البرمجيات هو 129 نوع الوظائف التي يمكنك القيام بها — بمعنى أننا كمستخدمي حواسيب يجب ألا 130 نهتم أو نفكر في نوع المجتمع الذي يُسمَح لنا بالعيش فيه.</p> 131 <p> 132 هناك افتراض ثالث بأننا كمستخدمين مضطرون للسماح لشركات البرمجيات بأن تسيطر 133 على مستخدمي برمجياتها، وإﻻ فلن نتمكن من الحصول على برامج فعالة (أو لن نتمكن 134 من الحصول على برنامج يقوم بهذه الوظيفة أو تلك). ربما بدا هذا اﻻفتراض منطقياً 135 للوهلة اﻷولى، إﻻ أن حركة البرمجيات الحرة قد برهنت على أننا يمكننا أن نتحصل 136 على الكثير من البرمجيات المفيدة بدون أن نضع قيوداً عليها.</p> 137 <p> 138 إذا قررنا أن نرفض هذه اﻻفتراضات، وأردنا أن نحكم على هذه المسائل استناداً على 139 المنطق واﻷخلاق لوحدهما، واضعين المستخدم أولاً، فإننا سنصل في النهاية لنتائج 140 مختلفة كلياً. ينبغي أن تكون لدى مستخدمي الحواسيب حرية تعديل البرمجيات بما 141 يناسب احتياجاتهم، كما ينبغي أن تكون لديهم حرية مشاركة البرمجيات، ببساطة ﻷن 142 مساعدة اﻵخرين هي اﻷساس في بناء المجتمع.</p> 143 <p> 144 بما أن المساحة ﻻ تسمح بعرض مطول للأسباب التي تقودنا لهذه النتيجة؛ عليه ننصح 145 القارئ باﻻطلاع على صفحة <a href="/philosophy/why-free.html"> 146 http://www.gnu.org/philosophy/why-free.html</a> وصفحة <a 147 href="/philosophy/free-software-even-more-important.html"> 148 http://www.gnu.org/philosophy/free-software-even-more-important.html</a>. 149 </p> 150 151 <h3>الخيار اﻷخلاقي القاسي</h3> 152 <p> 153 بعد انهيار مجتمعي القديم، صار من المستحيل علي أن أواصل كالسابق. وعليه صار 154 علي أن أقوم بأقسى خيار أخلاقي على اﻹطلاق.</p> 155 <p> 156 الخيار اﻷسهل كان أن أنضم لعالم البرمجيات اﻻحتكارية، حيث أقوم بتوقيع اتفاقيات 157 عدم إفشاء اﻷسرار، وأقطع وعداً بألا أساعد زملائي المبرمجين. على اﻷرجح أنني 158 كنت سأقوم بتطوير برمجيات سيتم إصدارها تحت اتفاقيات عدم إفشاء مماثلة، مما 159 سيزيد الضغط على اﻵخرين ويضطرهم لخيانة زملائهم بالمثل.</p> 160 <p> 161 كان يمكنني جني الكثير من المال بسلوك هذا الطريق، وربما أمتعت نفسي بكتابة 162 البرامج في نفس الوقت. المشكلة أنني كنت أعلم أنه عندما تنتهي مسيرتي المهنية، 163 عندها سأنظر للوراء لجميع السنوات التي قضيتها في بناء الجدران التي تفصل الناس 164 عن بعضهم، وعندها سأشعر بأنني قضيت سني حياتي في جعل العالم مكاناً أسوأ للعيش 165 فيه.</p> 166 <p> 167 كنت قد جربت أن أكون على الطرف اﻵخر من اتفاقية عدم إفشاء اﻷسرار، وذلك حينما 168 رفض أحدهم إعطائي أنا ومختبر الذكاء اﻻصطناعي شفرة المصدر للبرنامج الذي يتحكم 169 في آلتنا الطابعة. (كان استخدام هذه اﻵلة الطابعة مثيراً للاحباط بصورة كبيرة، 170 وذلك نسبة لغياب بعض الخصائص المهمة من برنامج التحكم). وعليه، لم أتمكن أبداً 171 من إقناع نفسي بأن اتفاقيات عدم إفشاء اﻷسرار بريئة. كنت غاضباً للغاية حينما 172 رفض ذلك الشخص مشاركة البرنامج معنا، ولم أستطع أن أدور على عقبي وأقوم بفعل 173 نفس الشئ مع اﻵخرين.</p> 174 <p> 175 الخيار اﻵخر، والذي كان مباشراً ولكنه غير مريح إطلاقاً، كان أن أغادر مجال 176 الحوسبة نهائياً. كان هذا يعني أن قدراتي لن يساء استخدامها، ولكن سيتم 177 إهدارها. كان هذا سيعني أيضاً أنني لن أكون مسئولاً عن تفرقة وتحجيم مستخدمي 178 الحواسيب، إﻻ أن هذا لم يكن ليمنع حدوثهما في جميع اﻷحوال.</p> 179 <p> 180 كل هذا جعلني أبحث عن طريقة يمكنني بها كمبرمج أن أفعل شيئاً جيداً لخدمة 181 المجتمع. سألت نفسي سؤالاً: هل هناك أي برنامج (أو برامج) يمكنني أن أقوم 182 بكتابتها، والتي ستجعل باﻹمكان إنشاء مجتمع مشارك من جديد؟</p> 183 <p> 184 اﻹجابة كانت واضحة: نحتاج أولاً لنظام تشغيل قبل كل شئ. نظام التشغيل هو الخطوة 185 اﻷولى التي نحتاجها لنبدأ باستخدام جهاز الحاسوب. حينما يكون لديك نظام تشغيل، 186 عندها يمكنك أن تفعل العديد من اﻷشياء؛ أما بدون نظام التشغيل سيتعذر عليك 187 تشغيل الحاسوب من أساسه. بوجود نظام تشغيل حر، يمكننا أن نعيد إنشاء مجتمع 188 القراصنة المتعاونين — كما يمكننا دعوة أي شخص للانضمام. أي شخص سيتمكن 189 من استخدام حاسوبه بدون أن يضطر بدءاً للتآمر ضد زملائه لحرمانهم من حريتهم 190 البرمجية.</p> 191 <p> 192 بصفتي مبرمج أنظمة تشغيل فقد كنت أمتلك الصفات المؤهلة لهذه المهمة. لذلك، 193 ورغماً عن أنني لم أكن متأكداً من النجاح، فقد أدركت أنني قد تم اختياري لهذه 194 المهمة. اخترت أن أجعل نظام التشغيل ملائماً ليونكس (Unix) بحيث تكون البرمجيات 195 قابلة للترقية، وحتى يتمكن مستخدمو يونكس من اﻻنتقال بسهولة للنظام الجديد. قمت 196 باختيار اسم جنو (GNU)، على عادة القراصنة المبرمجين، كاختصار متكرر بمعنى 197 “جنو ليس يونكس أو GNU's Not Unix.” وينطق <a 198 href="/gnu/pronunciation.html">كمقطع لفظي واحد مع تشديد الجيم</a>.</p> 199 <p> 200 إن أي نظام تشغيل يجب أن يحتوي أشياء أكثر من نواة النظام، والتي بالكاد تسمح 201 بتشغيل البرامج اﻷخرى. في السبعينيات كانت جميع نظم التشغيل المحترمة تحتوي على 202 معالجات أوامر، ومُجمّعات ومترجمات ومُصحّحات للشفرة البرمجية، ومحررات نصوص، 203 وبرامج بريد الكتروني، والكثير غيرها من البرامج. نظام ITS كان يحتويها، كما 204 كانت أنظمة Multics وVMS وUnix جميعها. كان هذا يعني أن نظام جنو سيحتوي هذه 205 البرامج أيضاً.</p> 206 <p> 207 لاحقاً، سمعت هذه الكلمات، والتي تُنسَب إلى هيليل (Hillel) (1):</p> 208 209 <blockquote><p> 210 لو لم أكن داعماً لنفسي، فمن سيدعمني؟<br /> 211 لو لم أهتم باﻵخرين، فمن أنا؟<br /> 212 لو لم أفعلها اﻵن، فمتى إذاً؟ 213 </p></blockquote> 214 <p> 215 قراري بإنشاء مشروع جنو كان مستنداً على عقلية مشابهة لهذه.</p> 216 <p> 217 (1) بصفتي ملحداً، فأنا ﻻ أتبع أي قادة دينيين، ولكنني أُعجَب أحياناً بمقولة 218 أحدهم.</p> 219 220 <h3>حر كما في الحرية</h3> 221 <p> 222 إن تعبير “البرمجيات الحرة” كثيراً ما يساء فهمه — فهو ﻻ 223 علاقة له بالمال، وإنما يُعنَى بالحرية. فيما يلي، سنقوم بتعريف البرمجيات 224 الحرة.</p> 225 226 <p>يعتبر البرنامج المعين برمجية حرة بالنسبة لك أيها المستخدم حينما يستوفي هذه 227 الشروط:</p> 228 229 <ul> 230 <li>حينما تكون لديك حرية استخدام البرنامج بأي صورة تراها مناسبة، ﻷي غرض ترغب به.</li> 231 232 <li>حينما تكون لديك حرية تعديل البرنامج ليناسب احتياجاتك الخاصة. (حتى تكون هذه 233 الحرية عملية، يجب أن تتوفر لديك شفرة المصدر الخاصة بالبرنامج، حيث أن تعديل 234 البرنامج بدون وجود شفرة المصدر أمر صعب للغاية).</li> 235 236 <li>حينما تكون لديك حرية إعادة توزيع نسخ من البرنامج، مجاناً أو برسوم مالية.</li> 237 238 <li>حينما تكون لديك حرية إعادة توزيع نسخ معدلة من البرنامج، بحيث يمكن للمجتمع أن 239 يستفيد من تحسيناتك التي أدخلتها على البرنامج اﻷصل.</li> 240 </ul> 241 <p> 242 بما أن “الحرية” هنا ترمز للفعل لا للمال، عليه فليس هناك تضارب 243 بين كون البرمجية حرة وكونها تباع بسعر. في الواقع، فإن حرية بيع نسخ من 244 البرامج هي حرية أساسية: إن المجتمع يستفيد من مجموعات البرمجيات الحرة التي 245 تباع على اﻷقراص المضغوطة، حيث أنها تشكل مصدراً هاماً من مصادر جمع اﻷموال، 246 والتي تساعد في تطوير البرمجيات الحرة. هذا يعني أن أي برمجية ﻻ يُسمح بإدخالها 247 في هذه المجموعات هي بطبيعة الحال برمجية غير حرة.</p> 248 <p> 249 نظراً لغموض معنى كلمة “الحرية”، فإننا قد بحثنا مطولاً عن بدائل 250 لها، إﻻ أننا لم نجد تعبيراً آخر أكثر مناسبة منها. إن اللغة اﻻنجليزية تزخر 251 بالكلمات ذات الفروق الشكلية البسيطة أكثر من أي لغة أخرى، ولكنها تفتقر لوجود 252 كلمة بسيطة وغير غامضة تحمل معنى “حر” كما في الحرية — 253 “غير مقيد (unfettered)” هي أكثر كلمة ملائمة في المعنى. المرادفات 254 اﻷخرى مثل “مُحَرّر (liberated)”، و“ مستقل 255 (freedom)”، و“مفتوح (open)” جميعها تحمل معنىً خاطئاً، أو 256 تعاني من قصور آخر في المعنى.</p> 257 258 <h3>برمجيات جنو ونظام تشغيل جنو</h3> 259 <p> 260 إن تطوير نظام تشغيل متكامل هو مشروع ضخم للغاية. وحتى نتمكن من الوصول 261 لغايتنا، قررت أن أُطوّع وأستخدم البرمجيات الحرة المتوفرة كلما أمكن 262 ذلك. كمثال على ذلك، قررت منذ البداية استخدام تيك (TeX) كمنسق النصوص 263 الرئيسي. بعد عدة سنوات، قررت استخدام نظام عرض إكس (X Window System) بدلاً عن 264 كتابة نظام عرض جديد خصيصاً من أجل جنو.</p> 265 <p> 266 بسبب هذه القرارات، والكثير غيرها، فإن نظام جنو هو أكثر من مجرد تجميع 267 لبرمجيات جنو. إن نظام جنو يحتوي العديد من البرمجيات التي لم يتم تطويرها في 268 مشروع جنو. هذه البرمجيات تم تطويرها من قبل مبرمجين آخرين لخدمة أغراضهم، 269 ولكننا تمكنا من استخدامها ﻷنها برمجيات حرة.</p> 270 271 <h3>بداية إطلاق المشروع</h3> 272 <p> 273 في العام 1984م، غادرت وظيفتي في معهد ماساشوستس للتكنولوجيا وبدأت في كتابة 274 برامج جنو. مغادرتي للمعهد كانت مهمة حتى ﻻ يتدخل المعهد في توزيع جنو كبرمجية 275 حرة. لو كنت ظللت موظفاً لدى المعهد، كان يمكن أن يدعي المعهد امتلاكه للعمل، 276 ومن ثم يقوم المسئولون بفرض شروطهم الخاصة على عملية التوزيع، أو ربما قاموا 277 بتحويل العمل لحزمة برامج احتكارية. لم يكن لدي اﻻستعداد ببذل مجهود كبير في 278 هذا العمل، فقط ﻷراه تحول لعمل ﻻ يخدم الغرض اﻷساسي من إنشائه، وهو إعادة بناء 279 مجتمع مشارك للبرمجيات.</p> 280 <p> 281 ولكن بروفيسور ونستون، والذي كان رئيس مختبر الذكاء اﻻصطناعي بمعهد ماساشوستس 282 للتكنولوجيا في ذلك الوقت، قام مشكوراً بدعوتي لمواصلة استخدام موارد المختبر.</p> 283 284 <h3>الخطوات اﻷولى</h3> 285 <p> 286 كنت قد سمعت عن مجموعة مترجمات الجامعة الحرة (Free University Compiler Kit)، 287 المعروفة بالاسم المختصر VUCK، قبل فترة قصيرة من بدئي العمل على مشروع 288 جنو. (كلمة “حرة” في اﻷلمانية تبدأ بحرف <em>v</em>. هذا البرنامج 289 كان عبارة عن برنامج مترجم تم تصميمه لترجمة عدة لغات مختلفة، من ضمنها لغة سي 290 (C) وباسكال (Pascal)، كما أنه كان يستهدف عدة أجهزة مختلفة. عليه فقد قمت 291 بالتواصل مع صاحب البرنامج ﻷسأله إن كان بإمكان مشروع جنو أن يستفيد من عمله.</p> 292 <p> 293 كان رد المبرمج علي ساخراً، بقوله أن كون الجامعة حرة ﻻ يعني بضرورة الحال أن 294 المترجم مجاني. كان هذا ما دفعني ﻷن أقرر أن أول برنامج في مشروع جنو سيكون 295 مترجماً متعدد اللغات واﻷهداف.</p> 296 <p> 297 كنت أتمنى أﻻ أضطر لكتابة البرنامج كاملاً بنفسي، ولذلك تحصّلت على شفرة المصدر 298 لمترجم باسكال (Pascal)، حيث كان مترجماً متعدد القواعد (multiplatform)، تم 299 تطويره في مختبر لورنس لفرمور. كان المترجم يدعم نسخة ممتدة من باسكال، وهي نفس 300 اللغة التي تمت كتابة البرنامج نفسه بها، وكان الغرض منها أن تكون لغة برمجة 301 ﻷنظمة التشغيل. قمت بإضافة واجهة أمامية للغة سي (C)، بعدها بدأت بترقية 302 المترجم للعمل على حاسوب موتورولا 68000. في النهاية اضطررت ﻷن ألغي الفكرة 303 بكاملها حينما اكتشفت أن المترجم كان يحتاج لعدة ميجابايتات من مساحة المُراكِم 304 (stack space)، بينما كان نظام يونكس المتوفر على حاسوب 68000 يسمح بـ64 305 كيلوبايت كحدٍ أقصى لمساحة المُراكِم.</p> 306 <p> 307 كان هذا حينما أدركت أن مترجم باسكال كان يقوم بتحليل الملف المدخل بكامله، من 308 ثم يقوم بإنشاء شجرية تعتمد على البنية التركيبية للملف المدخل، من ثم يقوم 309 بتحويل الشجرية لسلسلة من “اﻷوامر”، وأخيراً يقوم بتوليد ملف 310 المخرجات، كل ذلك بدون أن يقوم بتحرير المساحة التخزينية المشغولة 311 سابقاً. عندما وصلت لهذه النقطة، أدركت أنني سأضطر لكتابة مترجم جديد من 312 البداية، والذي أصبح يعرف فيما بعد باسم جي سي سي (<abbr title="GNU Compiler 313 Collection">GCC</abbr>). لم أقم باستخدام أي شفرة من مترجم باسكال اﻷصلي، 314 لكنني استفدت من الواجهة اﻷمامية للغة سي (C) التي قمت بكتابتها من قبل. كل هذا 315 حدث بعد عدة سنوات، إذ أنني بدأت أولاً بكتابة برنامج جنو إيماكس (GNU Emacs).</p> 316 317 <h3>برنامج جنو إيماكس (GNU Emacs)</h3> 318 <p> 319 بدأت العمل على برنامج جنو إيماكس في سبتمبر 1984م، وبمطلع عام 1985م كان قد 320 تحول لبرنامج صالح للاستعمال. كان هذا مهماً ﻷن البرنامج ساعدني ﻷتمكن من 321 استخدام أنظمة تشغيل يونكس ﻷقوم بتحرير الملفات، إذ أنني لم أكن راغباً في تعلم 322 كيفية استخدام برنامج في آي (vi) أو إيد (ed)، ولذلك كنت أقوم بتحرير ملفاتي 323 على أنظمة أخرى حتى انتهيت من كتابة إيماكس.</p> 324 <p> 325 في هذا الوقت، كان برنامج جنو إيماكس قد بدأ باجتذاب اﻷنظار، وأبدى العديدون 326 رغبتهم في استخدامه، مما برز معه السؤال: كيف سأقوم بتوزيع البرنامج؟ بطبيعة 327 الحال، قمت بوضع البرنامج على المخدم المجهول مستخدماً بروتوكول نقل الملفات 328 (إف تي بي أو ftp)، على جهاز الحاسوب الذي كنت أستخدمه بمعهد ماساشوستس 329 للتكنولوجيا. (هذا الحاسوب، وعنوانه prep.ai.mit.edu، أصبح أول مخدم إف تي بي 330 نستخدمه لتوزيع نظام جنو. استمر هذا حتى تم إيقاف الجهاز عن الخدمة بعدها 331 بسنوات، حينما قمنا بتحويل اﻻسم لمخدم إف تي بي آخر). المشكلة كانت أنه في ذلك 332 الوقت، لم يكن أغلب المهتمين بالمشروع متصلين بشبكة اﻻنترنت، وبالتالي لم 333 يكونوا قادرين على التحصل على نسخة من جنو عبر بروتوكول نقل الملفات. من هنا 334 برز السؤال الثاني: ما الحل الذي سأخبر هؤﻻء اﻷشخاص به؟</p> 335 <p> 336 كان يمكنني أن أقول لهم: “اعثروا على صديق لديه اتصال بشبكة اﻻنترنت، 337 وسيقوم هو بعمل نسخة لكم.” أو كان يمكنني أن أفعل ما فعلته ببرنامج 338 إيماكس اﻷصلي على جهاز ديجيتال PDP-10: أن أقول لهم “أرسلوا إلي شرائطكم، 339 ومظاريفاً بريدية معنونة إلى أنفسكم <abbr title="Self-addressed Stamped 340 Envelope">SASE</abbr>، وسأقوم بإعادتها لكم بريدياً وعليها برنامج 341 إيماكس”. المشكلة أنني لم يكن لدي وظيفة، وكنت أبحث عن طرق لجني المال 342 باستخدام البرمجيات الحرة. عندها أعلنت أنني سأقوم بإرسال شريط عبر البريد لكل 343 من يرغب بذلك، لقاء رسم مالي يبلغ 150 دولار. بهذه الطريقة، تمكنت من بدء مشروع 344 عمل لتوزيع البرمجيات الحرة، وهو المشروع الذي نبعت منه الشركات الحديثة التي 345 تقوم بتوزيع إصدارات جنو/لينكس المتعددة.</p> 346 347 <h3>متى يكون جميع مستخدمو برنامج معين أحراراً؟</h3> 348 <p> 349 حقيقة أن برنامجاً ما يصدره صاحبه كبرمجية حرة ﻻ تعني بالضرورة أنه سيظل برمجية 350 حرة بالنسبة لجميع المستخدمين الذين يملكون نسخة من البرنامج. على سبيل المثال، 351 فإن <a href="/philosophy/categories.html#PublicDomainSoftware">برمجيات 352 المشاع العام</a> (البرمجيات التي ليس عليها حقوق ملكية) تعتبر برمجياتٍ حرة؛ 353 غير أنه بإمكان أي شخص تطوير نسخة احتكارية معدلة منها. بالمثل، فإن العديد من 354 البرمجيات الحرة عليها حقوق ملكية، غير أنها يتم توزيعها تحت رخص بسيطة 355 ومتساهلة، مما يسمح للبعض بتطوير نسخ احتكارية معدلة من البرمجيات المعنية.</p> 356 <p> 357 المثال النموذجي لهذه المشكلة هو نظام عرض إكس (X Window System). هذا النظام 358 تم تطويره في معهد ماساشوستس للتكنولوجيا، من ثم تم إصداره كبرمجية حرة تحت 359 رخصة متساهلة. لم يمض الكثير من الوقت حتى قامت شركات الحوسبة المختلفة 360 باستخدام النظام، حيث قاموا بإضافة نظام عرض إكس لأنظمة يونكس الاحتكارية 361 الخاصة بهم، وتم ذلك في الصورة الثنائية فقط (أي بدون توفير شفرة المصدر)، 362 واستمر استخدام اتفاقيات عدم إفشاء اﻷسرار لتغطية نظام عرض إكس. هذه النسخ من 363 نظام عرض إكس لم تكن حرة، مثلها مثل أنظمة يونكس التي كانت تدعمها.</p> 364 <p> 365 مطورو نظام عرض إكس لم يعتبروا هذه مشكلة—لقد كانوا يتوقعون هذا، بل 366 ويسعون إليه. لم يكن غرضهم الحرية، بل فقط “النجاح”، وكان تعريفهم 367 للنجاح هو “الحصول على أكبر عدد من المستخدمين”. لم يكونوا مهتمين 368 بحرية مستخدميهم، بقدر ما كانوا مهتمين بعددهم.</p> 369 <p> 370 هذا أدى إلى حالة من التناقض، حيث أن وجود طريقتين لحساب نسبة الحرية أدى لوجود 371 إجابات مختلفة للسؤال: “هل هذه البرمجية حرة؟” إذا قمت بالحكم 372 استناداً على الحرية التي تكفلها اتفاقية توزيع معهد ماساشوستس للتكنولوجيا، 373 يمكنك أن تقول عندها أن نظام توزيع إكس كان برمجية حرة. أما لو قمت بحساب متوسط 374 الحرية لمستخدم نظام عرض إكس، عندها ستضطر للقول بأن إكس كان برمجية 375 احتكارية. أغلب المستخدمين في ذلك الوقت كانوا يستخدمون النسخ اﻻحتكارية التي 376 جاءت مع أنظمة يونكس، ﻻ النسخة الحرة من نظام العرض إكس.</p> 377 378 <h3>الحقوق المتروكة واتفاقية جنو العامة</h3> 379 <p> 380 لم يكن الهدف من وراء مشروع جنو تحصيل الشهرة، وإنما كان إعطاء المستخدمين كامل 381 حريتهم. من ثم كان لزاماً علينا أن نستخدم شروط توزيع من شأنها أن تمنع تحويل 382 برامج جنو لبرامج احتكارية. الطريقة التي استخدمناها أصبحت تعرف باسم 383 “الحقوق المتروكة”.(1)</p> 384 <p> 385 طريقة الحقوق المتروكة تستخدم قوانين حقوق الملكية، ولكنها تقلبها رأساً على 386 عقب، لتخدم الغرض المعاكس للغرض العادي: بدلاً عن استخدام حقوق الملكية لتقييد 387 برنامج ما، تصبح الحقوق وسيلة لجعل البرنامج حراً.</p> 388 <p> 389 الفكرة اﻷساسية من وراء الحقوق المتروكة هي إعطاء الجميع رخصة لتشغيل البرنامج، 390 نسخ البرنامج، تعديل البرنامج، ونشر النسخ المعدلة—إﻻ أنه من غير المسموح 391 إضافة قيود جديدة على البرنامج. بالتالي، فإن الحريات اﻷساسية التي يتم تعريف 392 “البرمجيات الحرة” عبرها، تعتبر حقاً مضموناً لكل فرد يمتلك نسخةً 393 من البرنامج، وهي حقوق دائمة وغير قابلة للمصادرة أو التحويل.</p> 394 <p> 395 حتى تنجح فكرة الحقوق المتروكة، يجب أن تكون النسخ المعدلة من برنامج ما حرة 396 أيضاً. هذه الخطوة تضمن أن أي عمل يتم تطويره بناءً على عملنا سيكون متوفراً 397 لمجتمعنا حال نشره. حينما يقوم المبرمجون اللذين يشغلون وظائف برمجة في شركاتهم 398 بالتطوع لتطوير وتحسين برمجيات جنو، فإن الحقوق المتروكة هي ما يمنع شركاتهم من 399 القول: “يمنع عليكم مشاركة هذه التحسينات البرمجية، ﻷننا سنقوم 400 باستخدامها لتطوير نسختنا اﻻحتكارية من البرنامج.”</p> 401 <p> 402 حتى نضمن حرية كل فرد يستخدم برنامجاً ما، لا بد من التأكيد على أن أي تعديل 403 على البرنامج الحر يجب أن يكون حراً أيضاً. إن الشركات التي قامت بخصخصة نظام 404 عرض إكس غالباً ما كانت تقوم بإجراء بعض التعديلات حتى تتمكن من ترقية البرنامج 405 ليتوافق مع أنظمتهم ومعداتهم. ورغم أن هذه التعديلات كانت صغيرة بالمقارنة مع 406 حجم وضخامة نظام عرض إكس، إﻻ أنها لم تكن تغييرات تافهة. إذا كان إجراء 407 التغييرات عذراً كافياً لحرمان المستخدمين من حرياتهم، عندها يصبح من السهل على 408 كائنٍ من كان أن يستغل هذا العذر لمصلحته الشخصية.</p> 409 <p> 410 هناك مشكلة مشابهة تتعلق بدمج برنامج حر مع شفرة غير حرة. مثل هذا الدمج نتيجته 411 دائماً ما تكون برنامجاً غير حر؛ ﻷن أي حرية غائبة عن الجزء غير الحر سوف تكون 412 غائبة عن الكل المدمج أيضاً. السماح بمثل هذا الدمج ستنتج عنه عواقب وخيمة؛ 413 ولذلك فإن من أهم الأشياء التي توفرها الحقوق المتروكة هي فرصة تلافي هذه 414 المشكلة، وذلك عبر اشتراط أن أي شئ يتم دمجه أو إضافته لبرنامج ذي حقوق متروكة 415 يجب أن ينتج عنه برنامج حر وذي حقوق متروكة أيضاً.</p> 416 <p> 417 إن رخصة جنو العامة (GNU GPL) تعد أكثر تطبيق عملي مستخدم في ترخيص برامج جنو، 418 مع التنويه لوجود رخص حقوق متروكة أخرى يتم استخدامها في حالات معينة. فمثلاً 419 يتم ترخيص كتيبات جنو باستخدام رخصة حقوق متروكة مبسطة، نظراً ﻷن رخصة جنو 420 العامة أكثر تعقيداً مما تحتاجه الكتيبات.(2)</p> 421 <p> 422 (1) في العام 1984 أو 1985، قمت باستلام بريد مرسل من دون هوبكنز (وهو شخص ذو 423 خيال واسع). كان المظروف يحتوي عدة كتابات مسلية، مثل: “جميع الحقوق 424 متروكة”. كنت استخدم كلمة “الحقوق متروكة” للدلالة على 425 المفهوم الذي كنت أقوم بتطويره في ذلك الوقت.</p> 426 427 <p> 428 (2) نحن نقوم باستخدام <a href="/licenses/fdl.html">رخصة جنو للوثائق 429 الحرة</a> لترخيص الوثائق.</p> 430 431 <h3>مؤسسة البرمجيات الحرة</h3> 432 433 <p>كان اﻻهتمام ببرنامج إيماكس متزايداً، مما نتج عنه زيادة عدد اﻷشخاص المهتمين 434 بالمشاركة في مشروع جنو؛ ولذلك قررنا أنه قد حان الوقت للبحث عن مصادر تمويل 435 مرة أخرى، مما نتج عنه إنشاء <a href="http://www.fsf.org/">مؤسسة البرمجيات 436 الحرة</a> (FSF)، وهي منظمة خيرية معفية من الضرائب، تُعنَى بتطوير البرمجيات 437 الحرة. مع مرور الزمن، تولت <abbr title="Free Software Foundation">مؤسسة 438 البرمجيات الحرة</abbr> مهمة توزيع أشرطة إيماكس، من ثم توسعت فتمت إضافة 439 برمجيات حرة أخرى (بعضها من جنو والبعض من جهات أخرى) للشرائط، كما أصبحت تبيع 440 الكتيبات الحرة أيضاً.</p> 441 442 <p>مؤسسة البرمجيات الحرة كانت تكتسب أغلب دخلها من مبيعات نسخ البرمجيات الحرة، 443 باﻹضافة لخدمات أخرى متعلقة بذلك (مبيعات الشرائط المضغوطة التي تحتوي على شفرة 444 المصدر أو الصيغة الثنائية لبرامجنا، والكتيبات المطبوعة بصورة جذابة، مع تأكيد 445 حرية التعديل وإعادة النشر للجميع). مصدر دخل آخر كان التوزيعات الفاخرة (وهي 446 النسخ التي نقوم بتجميعها خصيصاً لتلائم بيئة الزبون الحاسوبية). اليوم، ﻻ زالت 447 مؤسسة البرمجيات الحرة <a href="http://shop.fsf.org/">تقوم ببيع الكتيبات وبعض 448 المعدات اﻷخرى</a>، إﻻ أن أغلبية التمويل صارت تأتي من اشتراكات اﻷعضاء. يمكنك 449 أن تنضم للمؤسسة <a href="http://fsf.org/join">بالاشتراك عبر هذا الرابط</a>.</p> 450 451 <p>موظفو مؤسسة البرمجيات الحرة قاموا بكتابة وتطوير مجموعة من حزم البرامج الخاصة 452 بجنو، والتي نذكر منها مكتبة لغة سي (C) ومُنفِّذ اﻷوامر. إن مكتبة سي الخاصة 453 بجنو هي الحزمة البرمجية التي تستخدمها كل البرامج التي تعمل على أنظمة 454 جنو/لينكس حينما تتواصل مع نواة النظام (لينكس). هذه المكتبة قام بتطويرها أحد 455 موظفي مؤسسة البرمجيات الحرة، وهو السيد رولاند ماكجراث. أما منفذ اﻷوامر 456 المستخدم على أغلبية أنظمة جنو/لينكس فهو باش (<abbr title="Bourne Again 457 Shell">BASH</abbr>)، وهو اختصار للجملة اﻹنجليزية (النسخة الجديدة من منفذ 458 أوامر بورن) (1). منفذ أوامر باش قام بتطويره موظف المؤسسة برايان فوكس.</p> 459 460 <p>لقد قمنا بتمويل تطوير هذه البرامج ببساطة ﻷن مشروع جنو لم يكن يتمحور حول 461 اﻷدوات أو بيئة التطوير فقط، وإنما كان هدفنا تطوير نظام تشغيل متكامل، وهذه 462 البرامج كانت خطوة أساسية في الوصول لهذا الهدف.</p> 463 464 <p>(1) اسم “النسخة الجديدة من منفذ أوامر بورن” هو لعب على اﻹسم 465 اﻷصلي، “منفذ أوامر بورن”، حيث كان منفذ اﻷوامر المعتمد على أنظمة 466 يونكس القديمة.</p> 467 468 <h3>كيف ندعم البرمجيات الحرة</h3> 469 470 <p>إن فلسفة البرمجيات الحرة ترفض التجارة بالبرمجيات على نطاق واسع، ولكنها في 471 نفس الوقت ﻻ ترفض فكرة التجارة بصورة عامة. حينما يقوم أصحاب اﻷعمال باحترام 472 حرية المستخدمين، حينها نتمنى لهم النجاح وﻻ شئ غيره.</p> 473 474 <p>حينما قمنا ببيع نسخ من برنامج إيماكس، كان هذا نوعاً من أنواع التجارة 475 المعتمدة على البرمجيات الحرة. ولكن حينما تولت مؤسسة البرمجيات الحرة هذه 476 التجارة، كان علي أن أجد طريقةً أخرى لكسب لقمة العيش، وقد وجدت الحل في بيع 477 الخدمات المتعلقة بالبرمجيات الحرة التي قمت بتطويرها. هذه الخدمات كانت تشمل 478 التعليم والتثقيف في مواضيع مختلفة، ككيف تقوم ببرمجة جنو إيماكس، وكيف تقوم 479 بتخصيص مُجمّع جنو (GCC)، وكيف تقوم بتطوير برمجياتك الخاصة، وكيف تقوم بترقية 480 مُجمّع جنو ليعمل على أنظمة تشغيل أخرى.</p> 481 482 <p>اليوم تقوم العديد من المؤسسات بممارسة أنواع مختلفة من تجارة البرمجيات الحرة 483 المذكورة سابقاً. بعضها تقوم بتوزيع مجموعات من البرمجيات الحرة على أقراص 484 مضغوطة. بينما يقوم البعض اﻵخر ببيع خدمات الدعم، والتي تتعدد مستوياتها من 485 اﻹجابة على أسئلة المستخدمين، ﻹصلاح أخطاء البرمجيات، ﻹضافة ميزات وخصائص جديدة 486 للبرامج. في الحقيقة، لقد تطور اﻷمر حتى صرنا نرى شركات برمجيات كاملة يتم 487 إنشاؤها لتقوم ببيع برمجياتها الحرة.</p> 488 489 <p>ولكن ينبغي أخذ الحيطة والحذر—فالعديد من الشركات التي يرتبط اسمها بلفظ 490 “المصادر المفتوحة (open source)” هي في الحقيقة شركات تعتمد في 491 عملها على برامج غير حرة، مختلطة ببرامج حرة. مثل هذه الشركات ﻻ تعتبر شركات 492 برامج حرة، وإنما هي شركات برامج احتكارية تستخدم منتجاتها لتغري المستخدمين 493 وتجذبهم بعيداً عن حريتهم. هذه البرامج يطلق عليها أحياناً: “حزم القيمة 494 المضافة”. هذا اللفظ يرينا القيم التي يريدون منا أن نتبناها، وهي 495 السهولة والملاءمة قبل الحرية. إذا كنا نقدر حريتنا أكثر من أي شئ آخر، عندها 496 سوف نطلق عليهم “حزم الحرية المفقودة”.</p> 497 498 <h3>اﻷهداف التقنية للمشروع</h3> 499 500 <p>إن الهدف اﻷساسي من وراء مشروع جنو هو تطوير البرمجيات الحرة. حتى إن كان جنو 501 يفتقر لميزات تقنية تجعله أفضل من يونكس، فإن جنو سيظل صاحب اﻷفضلية اﻻجتماعية؛ 502 ﻷنه يسمح للمستخدمين بالتعاون، كما أن له اﻷفضلية اﻷخلاقية، ﻷنه يحترم حرية 503 المستخدم.</p> 504 505 <p>رغم ذلك، كان من الطبيعي أن نقوم بتطبيق معايير الممارسة الجيدة على 506 عملنا—على سبيل المثال، تخصيص هياكل البيانات في الذاكرة بصورة ديناميكية 507 وحسب الحوجة، مما ينتج عنه تلافي مشكلة اﻷحجام الثابتة والتي قد ﻻ تكون معروفة 508 مسبقاً. مثال آخر يكمن في استخدام جميع أنواع الشفرات ذات 8 بت في الحالات التي 509 كان فيها هذا اﻻستخدام منطقياً.</p> 510 511 <p>باﻹضافة لذلك فقد رفضنا طريقة يونكس في التركيز على اﻻستخدام المنخفض للذاكرة، 512 وذلك حينما قررنا عدم دعم اﻷجهزة التي تتكون بنيتها من 16 بت (كان من الواضح 513 بالنسبة إلينا أن اﻷجهزة ذات البنية المكونة من 32 بت سوف تصبح شيئاً عادياً 514 حينما ننتهي من تطوير نظام جنو)، كما قررنا عدم بذل مجهود في تخفيض استخدام 515 الذاكرة إﻻ حينما يتجاوز 1 ميجابايت. بالنسبة للبرامج التي لم تكن تحتاج 516 للتعامل مع ملفات بيانات كبيرة، كنا نشجع المبرمجين لكي يقوموا بكتابة برامجهم 517 بحيث تقوم بقراءة الملف المدخل كاملاً إلى ذاكرة الحاسوب، من ثم يقوم البرامج 518 بالعمل على محتويات الملف، من دون التفكير في عمليات اﻹدخال واﻹخراج (I/O).</p> 519 520 <p>هذه القرارات كان لها بالغ اﻷثر في جعل الكثير من برامج جنو تتميز عن مثيلاتها 521 في نظام يونكس، فيما يتعلق بالسرعة ودقة اﻷداء.</p> 522 523 <h3>أجهزة الحاسوب المتبرع بها</h3> 524 525 <p>حينما بدأت سمعة مشروع جنو بالتزايد، صار الناس يتبرعون بأجهزة حواسيب تعمل على 526 نظام يونكس لدعم المشروع. هذه اﻷجهزة كانت مفيدة للغاية، ﻷن أسهل طريقة لتطوير 527 نظام جنو كانت بالعمل على نظام يونكس، حيث كنا نقوم باستبدال مكونات النظام 528 واحداً تلو اﻵخر. ولكن هذه اﻷجهزة جلبت معها سؤالاً أخلاقياً مهماً: هل يجوز 529 لنا بدايةً أن نمتلك نسخة من نظام يونكس؟</p> 530 531 <p>إن نظام يونكس كان (وﻻ يزال) برنامجاً احتكارياً، وفلسفة مشروع جنو تقول بوضوح 532 أننا يجب أﻻ نستخدم أي برنامج احتكاري مهما كان. ولكن حينما نقوم بتطبيق المنطق 533 الذي يقودك ﻷن استخدام العنف في حالات الدفاع عن النفس هو حق مشروع، حينها ستصل 534 للنتيجة التي وصلت إليها أنا من قبل، وهي أنه من المشروع لك أن تستخدم حزمة 535 احتكارية حينما يكون هذا أمراً حاسماً سيساعدك في تطوير بديل حر لهذه الحزمة، 536 مما سيساعد الآخرين ليتوقفوا عن استخدام الحزمة اﻻحتكارية ويقوموا باستخدام 537 البديل الحر.</p> 538 539 <p>ولكن حتى لو وجدنا منطقاً من وراء الشر، فإنه ﻻ يزال شراً. اﻵن ليس لدينا أي 540 نسخة من نظام يونكس القديم، ﻷننا قمنا باستبدالها جميعاً بأنظمة تشغيل 541 حرة. حينما عجزنا عن استبدال نظام تشغيل جهازٍ ما بآخر حر، قمنا باستبدال 542 الجهاز نفسه.</p> 543 544 <h3>قائمة مهام مشروع جنو</h3> 545 546 <p>بمرور الزمن، تطور مشروع جنو، وزاد عدد البرامج التي قمنا بتطويرها وإضافتها 547 للنظام. في النهاية وجدنا أنه من المفيد لنا أن نضع قائمة باﻷجزاء الناقصة 548 لتساعدنا في عملنا. هذه القائمة كانت مفيدة حينما احتجنا لتجنيد مبرمجين 549 ليقوموا بتطوير اﻷجزاء الناقصة من النظام. بمرور الزمن، أصبحت هذه القائمة تعرف 550 بقائمة مهام مشروع جنو. كانت القائمة تحوي، باﻹضافة ﻷجزاء يونكس المفقودة في 551 جنو، برامجاً ووثائقاً أخرى أحسسنا أنها جزء أساسي ﻷي نظام يريد أن يكون نظاماً 552 متكاملاً.</p> 553 554 <p>اليوم (1) زالت أغلب أجزاء يونكس المفقودة من قائمة مهام جنو—جميع هذه 555 اﻷجزاء تمت إضافتها لجنو، باستثناء القليل جداً من البرامج الثانوية. ﻻ زالت 556 القائمة مليئة بالمشاريع التي يطلق عليها البعض “تطبيقات”. إن أي 557 برنامج يجتذب أكثر من مجموعة صغيرة من المستخدمين يعتبر إضافة مفيدة لنظام 558 التشغيل.</p> 559 560 <p>إن قائمة المهام تحتوي حتى على ألعاب—وقد كانت كذلك منذ البداية. بما أن 561 يونكس كان يحتوي على ألعاب، فمن الطبيعي كان أن يحتوي جنو على ألعاب أيضاً. لم 562 يكن عدم التوافق بين النظامين يشكل مشكلة، ولذلك لم نهتم بقائمة اﻷلعاب التي 563 احتوى عليها يونكس. بدلاً عن ذلك، قمنا بإدراج مجموعة من اﻷلعاب المختلفة التي 564 اعتقدنا أن المستخدمين سوف يحبونها.</p> 565 566 <p>(1) كان هذا في العام 1998م. في العام 2009م لم تعد لدينا قائمة مهام طويلة كما 567 في السابق. إن المجتمع البرمجي في عالم اليوم يقوم بتطوير البرمجيات الحرة 568 بسرعة أكبر مما يمكننا أن نقوم بمتابعتها وتسجيلها. ولذلك، عوضاً عن تلك 569 القائمة، أصبح لدينا اليوم قائمة قصيرة بالمشاريع ذات اﻷولوية القصوى، باﻹضافة 570 لقائمة أقصر منها تحتوي على المشاريع التي نرغب بتشجيع المبرمجين ليقوموا 571 بتطويرها.</p> 572 573 <h3>رخصة مكتبة جنو العامة (GNU Library GPL)</h3> 574 575 <p>إن مكتبة لغة سي (C) التابعة لمشروع جنو تستخدم نوعاً خاصاً من رخص الحقوق 576 المتروكة، نطلق عليها اسم رخصة مكتبة جنو العامة (1)، والتي تسمح بربط البرامج 577 اﻻحتكارية بالمكتبة. لماذا قمنا بهذا اﻻستثناء؟</p> 578 579 <p>المسألة ليست مسألة مبدأ؛ إذ أنه لا وجود للمبدأ الذي يقول أن البرمجيات 580 اﻻحتكارية تمتلك الحق في استخدام شفرتنا البرمجية. (لماذا نقوم بالمشاركة في 581 مشروع نعلم سلفاً أنه سيرفض التعاون والمشاركة معنا؟) إن استخدام الرخصة الخاصة 582 لمكتبة لغة سي هي حركة استراتيجية بحتة.</p> 583 584 <p>إن وظيفة مكتبة لغة سي تعتبر وظيفة عامة؛ ﻷن أي نظام احتكاري أو مُجمّع شفرة 585 يحتاج لوجود مكتبة لغة سي. ولذلك فنحن إن كنا سنجعل مكتبة لغة سي متوفرة حصراً 586 على البرمجيات الحرة، فإن هذه الخطوة لم تكن لتعطي البرمجيات الحرة أي 587 أفضلية—على العكس تماماً، كانت هذه الخطوة ستثبط من يرغبون باستخدام 588 مكتبتنا.</p> 589 590 <p>هناك نظام واحد يشكل استثناءاً للقاعدة، وهو نظام جنو (بما يشمل جنو/لينكس)، 591 حيث أن مكتبة لغة سي الخاصة بجنو هي مكتبة لغة سي الوحيدة على هذا 592 النظام. بالتالي فإن شروط التوزيع الخاصة بمكتبة لغة سي ستحدد ما إذا كان من 593 الممكن تجميع برنامج احتكاري بحيث يصبح باﻹمكان أن يعمل على نظام جنو. على 594 الرغم من عدم وجود سبب أخلاقي يجعلنا نسمح بالبرمجيات الاحتكارية على نظام جنو، 595 إﻻ أنه يبدو، من ناحية استراتيجية، أن منع هذه البرامج من العمل على نظام جنو 596 سيكون له أثر سلبي، إذ أنه سيثبط المستخدمين من نظام جنو، بدلاً عن أن يشجع 597 المبرمجين لتطوير البرامج الحرة. لهذه اﻷسباب فإن استخدام رخصة مكتبة جنو 598 العامة هي خطوة استراتيجية فيما يخص مكتبة لغة سي.</p> 599 600 <p>بالنسبة لمكتبات اللغات اﻷخرى، فإن القرار اﻻستراتيجي يجب أن يتم اتخاذه لكل 601 حالة على حدة. حينما تقوم المكتبة المعنية بأداء وظيفة خاصة تجعلها مفيدة 602 لكتابة البرمجيات، حينها يكون ترخيصها باستخدام رخصة جنو العامة (GPL) مهماً، 603 حيث أن هذا سيحصر استخدام المكتبة المعنية على البرمجيات الحرة فقط، مما سيساعد 604 مطوري البرمجيات الحرة ويعطيهم أفضلية ضد مطوري البرمجيات اﻻحتكارية.</p> 605 606 <p>على سبيل المثال، فإن مكتبة ريدلاين (GNU Readline)، والتي تم تطويرها لتوفر 607 خدمات تحرير سطور اﻷوامر في منفذ أوامر باش (BASH)، هذه المكتبة مرخصة باستخدام 608 رخصة جنو العامة العادية (GNU GPL)، وليس باستخدام رخصة المكتبة (Library 609 GPL). هذا اﻷمر على اﻷرجح سيؤثر سلباً على عدد البرامج التي تستخدم ريدلاين، إﻻ 610 أن هذا ﻻ يعتبر خسارة بالنسبة إلينا. في نفس الوقت، هناك برامج مفيد واحد على 611 اﻷقل تم تطويره كبرمجية حرة تستخدم مكتبة ريدلاين، وهذا نجاح حقيقي بالنسبة 612 لمجتمع البرمجيات الحرة.</p> 613 614 <p>مبرمجو البرمجيات اﻻحتكارية لديهم أفضلية المال، أما مبرمجو البرمجيات الحرة 615 فعليهم أن يصنعوا أفضلياتهم لبعضهم البعض. أتمنى في يوم من اﻷيام أن يكون لدينا 616 مجموعة ضخمة من المكتبات البرمجية المرخصة برخصة جنو العامة، والتي ليس لديها 617 مثيل في عالم البرمجيات اﻻحتكارية. مثل هذه المكتبات ستوفر وحدات البناء 618 اﻷساسية التي ستساعد في تطوير البرمجيات الحرة، ومع الوقت ستتراكم اﻷفضلية بحيث 619 يمكن تطوير برامج حرة أكثر وأكثر.</p> 620 621 <p>(1) هذه الرخصة تعرف الآن برخصة جنو العامة المصغرة، حتى ﻻ نعطي اﻻنطباع بأن 622 جميع المكتبات البرمجية يجب أن تستخدم هذه الرخصة. للمزيد من التفاصيل، يمكنك 623 اﻻصطلاع على مقالة <a href="/philosophy/why-not-lgpl.html">لماذا يجب أﻻ 624 تستخدم رخصة جنو العامة المصغرة لترخيص مكتبتك القادمة</a>.</p> 625 626 <h3>كيف يمكن تلبية المتطلبات (أو خدش الحكة)؟</h3> 627 <p> 628 إريك رايموند قال “إن أي عمل برمجي جيد يبدأ من خدش المبرمج لحكته 629 الخاصة.” ربما كان هذا ما يحدث في بعض اﻷحيان، ولكن الحقيقة أن العديد من 630 أجزاء جنو اﻷساسية تم تطويرها حتى نتمكن من الحصول على نظام تشغيل حر، أي أن 631 البرامج جاءت نتيجة رؤية وخطة استراتيجية، ﻻ نتيجة اندفاع لحظي.</p> 632 <p> 633 فمثلاً، حينما قمنا بتطوير مكتبة لغة سي الخاصة بجنو، كان هذا ﻷن أي نظام مشابه 634 ليونكس يحتاج لوجود مكتبة سي. حينما طورنا منفذ أوامر باش (BASH)، كان هذا ﻷن 635 أي نظام مشابه ليونكس يحتاج لوجود منفذ أوامر، وحينما قمنا بتطوير برنامج 636 اﻷرشفة تار (GNU tar)، كان هذا ﻷن أي نظام مشابه ليونكس يجب أن يحتوي على 637 برنامج أرشفة. نفس هذا اﻷمر ينطبق على البرامج التي قمت بتطويرها 638 شخصياً—مُجمّع لغة سي (GNU C compiler)، وبرنامج إيماكس (GNU Emacs)، 639 ومُصحّح الشفرة (GDB)، وبرنامج اﻹنشاء (GNU Make).</p> 640 <p> 641 بعض برامج جنو تم تطويرها لتتجاوب مع بعض التهديدات التي كانت تواجه 642 حرياتنا. فمثلاً قمنا بتطوير برنامج ضغط الملفات (gzip) ليحل محل برنامج الضغط 643 الخاص بيونكس (Compress)، والذي اكتسبه المجتمع بسبب مشكلة براءة اختراع 644 خوارزمية لمبيل-زيف-ويلش (<abbr title="Lempel-Ziv-Welch">LZW</abbr> ). شاهدنا 645 المجتمع البرمجي وهو يقوم بتطوير بيئة برمجة لستيف الرسومية (LessTif)، كما 646 شاهدنا تطور بيئة سطح المكتب جنوم (<abbr title="GNU Network Object Model 647 Environment">GNOME</abbr>)، ومشروع هارموني (Harmony)، والتي نتجت جميعها من 648 الرغبة في حل المشاكل التي تسببها مكتبات برمجية احتكارية معينة (انظر 649 أدناه). نحن اﻵن نقوم بتطوير برنامج جنو لحماية الخصوصية (GNU Privacy Guard) 650 لكي يحل محل نظيره من برامج التشفير اﻻحتكارية؛ ﻹيماننا بأن المستخدمين ﻻ يجب 651 أن يتم تخييرهم بين خصوصيتهم وحريتهم.</p> 652 <p> 653 بالطبع، فإن المبرمجين المسئولين عن كتابة هذه البرامج أصبحوا مهتمين بالعمل، 654 ومن ثم تمت إضافة الكثير من الخصائص من قبل أشخاص آخرين، لخدمة أغراضهم 655 واهتماماتهم. إﻻ أن هذا ليس السبب الذي كُتِبَت هذه البرامج من أجله في المقام 656 اﻷول.</p> 657 658 <h3>تطورات غير متوقعة</h3> 659 <p> 660 في بداية إطلاق مشروع جنو، كنت أتخيل أننا سنقوم بتطوير نظام جنو في كليته، ومن 661 ثم سنقوم بإطلاق النظام متكاملاً للمستخدمين، إﻻ أن اﻷمر لم يتم على هذا النسق.</p> 662 <p> 663 بما أن جميع مكونات نظام جنو تم تطويرها على نظام يونكس، فإن جميع هذه المكونات 664 كانت تعمل على أنظمة تشغيل يونكس قبل أن يكتمل نظام جنو بفترة طويلة. بعض هذه 665 البرامج أصبح مشهوراً، وبدأ المستخدمون في توسيع البرامج وترقيتها لتعمل على 666 أنظمة تشغيل أخرى—مثل أنظمة يونكس المختلفة والتي لم تكن تتوافق مع 667 بعضها، باﻹضافة لبعض أنظمة التشغيل اﻷخرى.</p> 668 <p> 669 هذه العملية جعلت بعض البرامج أقوى مما كانت، كما أنها اجتذبت التمويل 670 والمتطوعين لمشروع جنو. من الناحية اﻷخرى، فإن هذا قد أدى لتأخير اكتمال نظام 671 التشغيل في كليته، ﻷن مطوري جنو أصبحوا يقضون وقتهم في صيانة نسخ البرامج 672 المختلفة، وإضافة ميزات جديدة لهذه البرامج، عوضاً عن اﻻهتمام بكتابة اﻷجزاء 673 الناقصة من النظام.</p> 674 675 <h3>نواة هيرد (The GNU Hurd)</h3> 676 <p> 677 بحلول عام 1990م، كان نظام جنو قد شارف على اﻻكتمال، باستثناء الجزء المفقود، 678 والذي كان نواة النظام. كنا قد قررنا تطوير نواة النظام الخاصة بنا كمجموعة من 679 العمليات الخدمية (server processes) التي تعمل على رأس نواة ماك (Mach). نواة 680 ماك المصغرة (microkernel) هي نواة نظام تم تطويرها في جامعة كارنيجي ميلون 681 (Carnegie Mellon University) بدايةً، من ثم في جامعة يوتاه (University of 682 Utah). نواة هيرد هي مجموعة من المخدّمات (ومن ثم جاء اﻻسم، أي أن هيرد معناها 683 باﻻنجليزية القطيع) والتي ستعمل على رأس نواة ماك، حيث ستقوم بعمل كافة الوظائف 684 التي تقوم بها نواة نظام يونكس. تأخر تطوير نواة هيرد ﻷننا كنا ننتظر إطلاق 685 نواة ماك كبرمجية حرة، وذلك الشئ الذي كنا قد وُعدنا به.</p> 686 <p> 687 من أسباب اختيارنا لهذا التصميم هو محاولة تلافي الجزء اﻷصعب من المهمة: وهو 688 محاولة تصحيح أخطاء نواة النظام، بدون أن يكون لدينا مُصحِّح قادر على التصحيح 689 على مستوى شفرة المصدر. هذه المهمة كانت قد اكتملت بالفعل في نواة ماك، وعليه 690 فقد كنا نتوقع أننا سنقوم بتصحيح أخطاء نواة هيرد باعتبارها برامج مستخدم 691 عادية، وذلك باستخدام مُصحّح شفرة جنو (GDB). من المؤسف أن اﻷمر استغرق وقتاً 692 طويلاً للغاية، كما أن المخدّمات متعددة الوظائف (multithreaded servers)، 693 والتي تتواصل مع بعضها البعض باستخدام الرسائل، اتضح أنها صعبة 694 التصحيح. النتيجة أن اﻷمر استغرق أعواماً طويلة لتصل نواة هيرد لمرحلة النضوج.</p> 695 696 <h3>أليكس</h3> 697 <p> 698 لم يكن من المفترض بدايةً أن تُسمى نواة جنو باسم هيرد. اﻻسم اﻷصلي كان 699 أليكس—وهو اسم المرأة التي كانت حبيبتي في ذلك الوقت. كانت أليكس مديرة 700 نظام يونكس (system administrator)، وكانت قد أشارت من قبل ﻷن اسمها سيتوافق مع 701 نمط التسمية المتبع على أنظمة يونكس. وعلى سبيل المزاح، أخبرت أليكس صاحباتها 702 بأنه “ينبغي أن يقوم شخص ما بتسمية نواة نظام باسمي.” لم أعلق أنا 703 بشئ، ولكنني قررت أن أفاجئها بنواة نظام مسماة باسم أليكس.</p> 704 <p> 705 لم يستمر اﻷمر على هذه الطريقة، ﻷن مايكل بوشنيل (والذي يعرف اﻵن باسم توماس)، 706 وهو المطور الرئيسي للنواة، فضّل اسم هيرد، كما أنه أعاد تعريف أليكس لترمز إلى 707 جزء معين من النواة—وهو الجزء الذي يستقبل استدعاءات النظام (system 708 calls) ومن ثم يقوم بمعالجتها عبر إرسال الرسائل لمخدّمات هيرد.</p> 709 <p> 710 لاحقاً، انفصلت عن أليكس، وقامت هي بتغيير اسمها. من ناحية أخرى، كان تصميم 711 هيرد قد تغير بحيث صارت مكتبة لغة سي ترسل الرسائل مباشرة للمخدّمات، وهذا ما 712 جعل الجزء المسمى أليكس يتم إلغاؤه ويختفي من نواة النظام.</p> 713 <p> 714 ولكن قبل أن تحدث جميع هذه التغييرات، كان أحد أصدقائها قد رأى اسم أليكس حينما 715 كان يطالع شفرة المصدر الخاصة بنواة هيرد، ومن ثم ذكر اﻷمر لها. وهكذا تسنى لها 716 أن ترى نواة نظام مسماة باسمها.</p> 717 718 <h3>لينكس وجنو/لينكس</h3> 719 <p> 720 ﻻ زالت نواة هيرد غير صالحة للاستخدام العملي، وﻻ نعلم إن كانت ستصل هذه 721 المرحلة على اﻹطلاق. إن التصميم القائم على القدرات به مشاكل ناتجة عن مرونة 722 التصميم نفسه، وﻻ يبدو أن هنالك حلولاً لهذه المشاكل في الوقت الحالي.</p> 723 724 <p> 725 لحسن الحظ، هناك نواة نظام أخرى متوفرة. في العام 1991م قام لينوس تورفالدس 726 (Linus Torvalds) بتطوير نواة نظام متوافقة مع يونكس، وأطلق عليها اسم لينكس 727 (Linux). في البداية كانت النواة احتكارية، ولكن في العام 1992م قام لينوس 728 بترخيصها كبرمجية حرة. عملية دمج نواة لينكس مع نظام جنو غير المكتمل نتج عنها 729 نظام تشغيل حر متكامل. (عملية الدمج نفسها كانت عملية كبيرة بطبيعة الحال). إن 730 الفضل يعود لنواة لينكس لتمكننا من استخدام نسخة متكاملة من نظام جنو اليوم.</p> 731 <p> 732 هذه النسخة نسميها <a href="/gnu/linux-and-gnu.html">جنو/لينكس 733 (GNU/Linux)</a>، وذلك لكي نوضح أن النسخة عبارة عن مزيج يتكون من نظام جنو، 734 باستخدام لينكس كنواة النظام. أرجو من القارئ أﻻ يقع في الخطأ الشائع ويقوم 735 بتسمية النظام “لينكس”؛ ﻷن هذا يعني نسب عملنا لشخص آخر. أرجو من 736 الجميع أن <a href="/gnu/gnu-linux-faq.html">ينسبوا إلينا فضل أعمالنا</a>.</p> 737 738 <h3>التحديات القادمة</h3> 739 <p> 740 لقد برهنّا على مقدرتنا على تطوير مجموعة مختلفة من البرمجيات الحرة، ولكن هذا 741 ﻻ يعني أننا ﻻ نقهر أو أننا يصعب إيقافنا. هنالك العديد من التحديات التي تجعل 742 مستقبل البرمجيات الحرة غير واضح المعالم، مواجهة هذه التحديات ستحتاج منا لبذل 743 مجهود متواصل ولتطوير قدرة على التحمل قد تمتد لسنوات متواصلة. ستحتاج منا 744 تصميماً من النوع الذي يظهر حينما يقدر الناس حريتهم ويصروا على أﻻ يسمحوا 745 لكائن من كان بأن يجردهم منها.</p> 746 <p> 747 اﻷجزاء اﻷربعة القادمة ستناقش هذه التحديات بالتفصيل.</p> 748 749 <h3>مواصفات العتاد السرية</h3> 750 <p> 751 مصنعو العتاد يميلون بكثرة ﻷن يحافظوا على سرية مواصفات عتادهم، هذا اﻷمر يجعل 752 من الصعب كتابة محركات حرة تتيح لنواة لينكس ولنظام عرض إكس (XFree86) أن تدعم 753 العتاد الجديد. لدينا أنظمة حرة بكاملها اليوم، ولكننا سنفقدها غداً إن لم 754 نتمكن من دعم حواسيب الغد.</p> 755 <p> 756 هناك طريقتان للتعامل مع هذه المشكلة. يمكن للمبرمجين أن يقوموا بعملية الهندسة 757 العكسية حتى يتمكنوا من معرفة كيف يمكننا دعم العتاد المعني. بقيتنا يمكن أن 758 يختاروا استخدام العتاد المدعوم بالبرمجيات الحرة. طالما أن أعدادنا مستمرة في 759 التزايد فإن سرية المواصفات سينتهي بها اﻷمر أن تصبح سياسة دحر ذاتي.</p> 760 <p> 761 ولكن الهندسة العكسية مهمة صعبة. هل سيكون لدينا مبرمجون لهم قدرة وعزم 762 ليتمكنوا من إكمال المهمة؟ بالتأكيد—فقط إذا تمكنا من بناء شعور قوي بأن 763 حرية البرمجيات هي مسألة مبدأ، وأن المحركات اﻻحتكارية هي أمر غير مقبول على 764 اﻹطلاق. إذاً هل سيقوم أغلبنا ببذل المال، أو القليل من الزمن، حتى نتمكن 765 جميعاً من استخدام المحركات الحرة؟ بالتأكيد، إذا كان اﻹصرار على نيل الحرية 766 شعوراً عاماً.</p> 767 <p> 768 (ملحوظة في عام 2008م: هذه المشكلة تمتد حتى نظام اﻹدخال واﻹخراج اﻷساسي 769 (BIOS). هناك نسخة حرة من النظام اﻷساسي على <a 770 href="http://www.libreboot.org/">موقع ليبري بوت (LibreBoot)</a> (إصدارة من 771 كوربوت coreboot). المشكلة تكمن في كيفية الحصول على مواصفات اﻷجهزة حتى يتمكن 772 أعضاء فريق ليبري بوت من دعمها بدون استخدام البرامج الثنائية 773 “(blobs)” غير الحرة).</p> 774 775 <h3>المكتبات البرمجية غير الحرة</h3> 776 <p> 777 المكتبات البرمجية غير الحرة والتي تُستخدم على أنظمة التشغيل الحرة تعمل كشرك 778 ﻻصطياد مطوري البرمجيات الحرة. في هذه الحالة، تعمل خصائص المكتبة الجذابة 779 كطعم، بحيث أنك إذا قمت باستعمال المكتبة، عندها تكون وقعت في الشرك، ﻷن 780 برنامجك عندها لن يصبح جزءاً من أنظمة التشغيل الحرة. (بصورة أدق، يمكننا أن 781 ندرج برنامجك في النظام، ولكن البرنامج لن يتمكن <em>من العمل</em> في غياب 782 المكتبة المعنية). اﻷسوأ من هذا حينما يصبح البرنامج الذي يستخدم المكتبة 783 اﻻحتكارية مشهوراً، حينها سيقوم هذا البرنامج بإغراء المبرمجين اﻵخرين ليقعوا 784 في نفس الشرك.</p> 785 <p> 786 أول مثال لهذه المشكلة كان في الثمانينيات، مع مجموعة أدوات موتيف (Motif). رغم 787 أنه لم يكن هناك أنظمة تشغيل حرة في ذلك الوقت، إﻻ أنه كان من الواضح حجم 788 المشكلة التي ستسببها موتيف للأنظمة الحرة فيما بعد. كان رد مشروع جنو على 789 مستويين: بالطلب من مشاريع البرمجيات الحرة المنفردة أن تدعم مجموعة أدوات إكس 790 الحرة (X Toolkit) باﻹضافة لدعمها لموتيف؛ وبالطلب من بعضهم أن يقوموا بتطوير 791 بديل حر لموتيف. هذه المهمة استغرقت العديد من السنوات، إﻻ أن ليسموتيف 792 (LessTif)، المطور من قبل مجموعة المبرمجين التواقين (Hungry Programmers) صار 793 من القوة بحيث أصبح يدعم أغلبية تطبيقات موتيف بحلول عام 1997م.</p> 794 <p> 795 بين عامي 1996م و1998م ظهرت مجموعة أدوات غير حرة أخرى، تُعنَى ببرمجة الواجهات 796 الرسومية (<abbr title="Graphical User Interface">GUI</abbr>). هذه المجموعة 797 سميت كيوت (Qt) وأصبحت تستخدم في مجموعة مقدرة من البرمجيات الحرة، بما فيها 798 بيئة سطح المكتب "كيه" (<abbr title="K Desktop Environment">KDE</abbr>).</p> 799 <p> 800 لم يكن باﻹمكان استخدام بيئة كيه (KDE) على أنظمة جنو/لينكس الحرة؛ وذلك ﻷننا 801 لم نكن نستطيع استخدام مكتبة كيوت. إﻻ أن بعض إصدارات جنو/لينكس، والتي لم تكن 802 تمانع استخدام البرمجيات غير الحرة، قامت بإضافة بيئة كيه إلى تلك 803 اﻷنظمة—مما نتج عنه أنظمة ذات قدرات أعلى، ولكنها ذات حرية أقل. مجموعة 804 بيئة كيه كانت تشجع المبرمجين بقوة لكي يستخدموا مكتبة كيوت، مما نتج عنه أن 805 الملايين من “مستخدمي لينكس” الحديثين لم يكن لديهم أدنى فكرة بحجم 806 وطبيعة المشكلة. كان الوضع يبدو سيئاً للغاية.</p> 807 <p> 808 استجاب مجتمع البرمجيات الحرة لهذه المشكلة بطريقتين: بيئة سطح مكتب جنوم 809 (GNOME)، ومشروع هارموني (Harmony).</p> 810 <p> 811 مشروع جنوم (وهو اختصار لعبارة بيئة نموذج الكائن الشبكي، أو GNU Network 812 Object Model Environment) هو مشروع بيئة سطح المكتب الخاص بجنو. في عام 1997م 813 بدأ ميجيل دي إيكازا هذا المشروع بدعم من شركة ريدهات (Red Hat)، وكان الغرض 814 توفير إمكانيات مشابهة لسطح المكتب، ولكن باستخدام برمجيات حرة حصرياً. هناك 815 بعض الميزات التقنية أيضاً، مثل أن جنوم يدعم مجموعة مختلفة من لغات البرمجة، 816 وأنه ليس محصوراً على لغة سي++. ولكن الغرض اﻷساسي من المشروع كان الحرية: أﻻ 817 يضطر أحد ﻻستخدام أي برمجيات غير حرة.</p> 818 <p> 819 مشروع هارموني هو عبارة عن مكتبة توافقية بديلة، تم تصميمها لتجعل باﻹمكان 820 تشغيل برامج بيئة كيه بدون الحوجة ﻻستخدام مكتبة كيوت.</p> 821 <p> 822 في عام 1998م أعلن مطورو مكتبة كيوت عن إجراء تغيير في رخصتهم، والذي كان من 823 شأنه أن يجعل من كيوت برمجية حرة. على الرغم من أنه من الصعب معرفة الحقيقة، إﻻ 824 أنني أعتقد أن هذه الخطوة كان سببها (على اﻷقل جزئياً) موقف المجتمع الصارم 825 إزاء المشكلة التي سببتها مكتبة كيوت حينما كانت غير حرة. (ﻻ زالت الرخصة 826 الجديدة غير مريحة وغير منصفة، وعليه ﻻ زال من اﻷفضل تفادي استخدام كيوت).</p> 827 <p> 828 [ملحوظة لاحقة: في سبتمبر 2000م، تحول ترخيص كيوت إلى رخصة جنو العامة، مما نتج 829 عنه حل هذه المشكلة جذرياً].</p> 830 <p> 831 السؤال اﻵن: كيف سنستجيب للمكتبة البرمجية غير الحرة التي ستأتي تالياً؟ هل 832 سيتفهم المجتمع بكليته أهمية البقاء بعيداً عن هذا الشرك؟ أم أن بعضنا سيقرر 833 التنازل عن حريتهم من أجل الراحة وسهولة اﻻستخدام، مما سينتج عنه مشكلة كبيرة 834 بكل تأكيد؟ إن مستقبلنا يعتمد تماماً على فلسفتنا.</p> 835 836 <h3>براءات اختراع البرمجيات</h3> 837 <p> 838 إن أكبر تهديد نواجهه يأتي من قبل براءات اختراع البرمجيات، والتي من شأنها أن 839 تجعل الخوارزميات والميزات بعيدة عن متناول البرمجيات الحرة لمدة قد تصل إلى 840 عشرين عاماً. على سبيل المثال، فإن خوارزمية الضغط المعروفة باسم 841 لمبيل-زيف-ويلش (LZW) تم تسجيلها كبراءة اختراع في العام 1983م، وﻻ زلنا اليوم 842 عاجزين عن إصدار برامج حرة يمكنها إنتاج ملفات جيف (<abbr title="Graphics 843 Interchange Format">GIF</abbr>) مضغوطة بهذه الخوارزمية. [انتهت صلاحية براءة 844 اﻻختراع هذا في العام 2009م]. مثال آخر حدث في العام 1998م، حيث اضطررنا ﻹيقاف 845 توزيع برنامج ﻹنشاء ملفات إم بي 3 الصوتية (<abbr title="MPEG-1 Audio Layer 846 3">MP3</abbr>)، وذلك بسبب التهديد برفع قضية سرقة براءة اﻻختراع. [براءة 847 اﻻختراع هذه انتهت صلاحيتها في العام 2017م. يمكنك أن ترى طول الفترة التي 848 اضطررنا ﻻنتظارها حتى تنتهي صلاحية الوثائق]. 849 </p> 850 <p> 851 هناك طريقتان للتعامل مع براءات اﻻختراع: يمكننا البحث عن ما يثبت أن براءة 852 اﻻختراع باطلة، أو يمكننا أن نبحث عن طرق بديلة ﻹنجاز نفس المهمة. المشكلة أن 853 كلا هاتين الطريقتين تعملان في حالات معينة، وحينما تفشل الطريقتان، عندها يمكن 854 لبراءة اﻻختراع أن تجبر البرمجيات الحرة على أن تفقد بعض الميزات والخصائص التي 855 يحتاجها المستخدمون. بالطبع، حينما ننتظر لفترة طويلة فإن براءات اﻻختراع تنتهي 856 صلاحيتها (من المتوقع أن تنتهي صلاحية براءات اختراع إم بي 3 في 2018م)، ولكن 857 ما الذي سنفعله حتى يأتي تاريخ انتهاء الصلاحية؟</p> 858 <p> 859 هؤﻻء الذين يقدرون البرمجيات الحرة من أجل الحرية بيننا سوف يلتزمون باستخدام 860 البرمجيات الحرة في جميع اﻷحوال، وسنتمكن من أداء عملنا بدون الاضطرار ﻻستخدام 861 الميزات والخصائص المسجلة تحت براءات اﻻختراع. ولكن الذين يقدرون البرمجيات 862 الحرة ﻷنهم يتوقعون منها أن تكون أفضل من ناحية تقنية، هؤﻻء من سيصف البرمجيات 863 الحرة بالفشل حينما تعجز عن أداء وظيفةٍ ما بسبب براءات اﻻختراع. وعليه، فرغم 864 إيجابية الحديث عن الفوائد العملية لنموذج “البازار” في التطوير، 865 وقوة ودقة أداء بعض البرمجيات الحرة، إﻻ أننا يجب أﻻ نتوقف هنا. ﻻ بد من أن 866 نمضي قدماً ونتحدث عن الحرية والمبادئ.</p> 867 868 <h3>الوثائق الحرة</h3> 869 <p> 870 إن أكبر نقص في نظام تشغيل جنو الحر ليس عجز البرامج—إنما هو قلة 871 الكتيبات الحرة الجيدة، والتي يمكننا أن نجعلها جزءاً من أنظمة تشغيلنا. عملية 872 التوثيق هي جزء ﻻ يتجزأ من أي حزمة برمجية، وحينما تعجز حزمة برمجية مهمة عن 873 توفير كتيب جيد وحر، فإن هذه تعتبر ثغرة كبيرة. للأسف نحن لدينا العديد من هذه 874 الثغرات حالياً.</p> 875 <p> 876 الوثائق الحرة، مثلها مثل البرمجيات الحرة، تُعنى بالحرية وليس بالمال. المعيار 877 اﻷساسي للوثائق الحرة هو تقريباً نفسه المستخدم للبرمجيات الحرة: ﻻ بد من إعطاء 878 جميع المستخدمين حريات معينة. ﻻ بد من السماح بإعادة التوزيع (بما يشمل البيع 879 التجاري)، عبر اﻻنترنت أو في صورة مطبوعة، لنضمن أن الكتيب سيترافق مع جميع نسخ 880 البرنامج في جميع اﻷحوال.</p> 881 <p> 882 السماح بإجراء التعديلات مهم أيضاً. كقاعدة عامة، أنا ﻻ أؤمن أنه من الضروري 883 إعطاء الجميع إذناً بتعديل كل أنواع الكتب والمقالات. على سبيل المثال، أنا ﻻ 884 أعتقد أنني أنا أو أنت مضطران ﻹعطاء اﻹذن بتعديل مقالات كهذه المقالة، ﻷنها 885 تعكس تصرفاتنا ورؤانا الشخصية.</p> 886 <p> 887 على الرغم من هذا، فإن هنالك سبباً يجعل حرية التعديل شيئاً أساسياً فيما يتعلق 888 بتوثيق البرمجيات الحرة. حينما يمارس الناس حقهم في تعديل البرنامج بحيث يقومون 889 بإضافة أو تعديل خصائصه ومميزاته، فإن الملتزمين أخلاقياً منهم سيقومون بتعديل 890 الكتيب أيضاً—بحيث يستطيعون توفير وثائق صحيحة ومفيدة تعكس تعديلاتهم 891 التي أجروها على البرنامج. الكتيبات غير الحرة، والتي ﻻ تسمح للمبرمجين بأن 892 يكونوا ملتزمين أخلاقياً ويقوموا بإكمال مهامهم حتى النهاية، هذه الكتيبات ﻻ 893 تفي باحتياجات مجتمعنا الحر.</p> 894 <p> 895 بصورة عامة، ليس هنالك مشكلة في وضع بعض القيود على الطريقة التي يتم بها إجراء 896 التعديلات على الوثائق الحرة. على سبيل المثال، اشتراط اﻹبقاء على حقوق الملكية 897 الخاصة بالمؤلف اﻷصلي، وشروط التوزيع، وقائمة المؤلفين، كل هذه اﻷشياء مقبولة 898 وﻻ غبار عليها. بالمثل، ليس هناك مشكلة في إلزام النسخ المعدلة بأن تعلم 899 المستخدم بأنها نسخ معدلة من اﻷصل، كما يمكن اشتراط عدم تعديل أو حذف أجزاء 900 كاملة من اﻷصل، طالما أن هذه اﻷجزاء ﻻ تتضمن مواضيعاً تقنية. هذه القيود ﻻ غبار 901 عليها؛ ﻷنها لن تشكل مشكلة بالنسبة للمبرمجين الملتزمين الذين يرغبون بتعديل 902 الكتيب المعني ليلائم البرنامج المعدل. بعبارة أخرى، مثل هذه القيود ﻻ تمنع 903 مجتمع البرمجيات الحرة من اﻻستفادة الكاملة من الكتيب.</p> 904 <p> 905 على الرغم من ذلك، فلا بد من التأكد أنه باﻹمكان تعديل المحتوى <em>التقني</em> 906 للكتيب، ومن ثم توزيع الكتيب الجديد عبر الوسائط المعتادة، باستخدام القنوات 907 المألوفة. من دون هذه اﻹمكانية، تصبح هذه القيود عائقاً أمام المجتمع، ويصبح 908 الكتيب غير حراً، وعندها سنحتاج لكتيب آخر.</p> 909 <p> 910 هل سيكون مبرمجو البرمجيات الحرة بالوعي والتصميم الكافي ﻹنتاج طيف متكامل من 911 الكتيبات الحرة؟ للمرة الثانية، يبدو أن مستقبلنا يعتمد على فلسفتنا.</p> 912 913 <h3>يجب أن نتحدث عن الحرية</h3> 914 <p> 915 اﻷرقام التقديرية تخبرنا أن هناك عشرة ملايين مستخدم ﻷجهزة جنو/لينكس اليوم، 916 بما يشمل ديبيان (Debian) جنو/ليكنس و ريدهات (Red Hat) 917 “لينكس”. البرمجيات الحرة قد وصلت مرحلة من التميز العملي بحيث صار 918 المستخدمون يهرعون إليها ﻷسباب عملية بحتة.</p> 919 <p> 920 النتائج اﻹيجابية لهذا اﻷمر واضحة، مثل اﻻهتمام المتزايد بتطوير البرمجيات 921 الحرة، وازدياد أعداد زبائن شركات البرمجيات الحرة، وزيادة القدرة على إقناع 922 الشركات بتطوير برمجياتهم الحرة بشكل تجاري، عوضاً عن تطوير برمجياتهم بصورة 923 احتكارية.</p> 924 <p> 925 ولكن اﻻهتمام بالبرمجيات يتنامى بصورة أسرع من الوعي بالفلسفة التي تكمن وراءه، 926 وهذا قد يقودنا لمشاكل جمة. قدرتنا على مواجهة التحديات والمخاطر المذكورة 927 أعلاه تعتمد على إرادتنا للوقوف يداً واحدة من أجل الحرية. لكي نتأكد من أن 928 مجتمعنا يمتلك هذه اﻹرادة، يجب علينا أن ننشر الفكرة في وسط المستخدمين الجدد 929 حال انضمامهم للمجتمع الحر.</p> 930 <p> 931 ولكننا للأسف نفشل في فعل هذا اﻷمر: المجهودات المبذولة لجذب المستخدمين الجدد 932 وضمهم لمجتمعنا تفوق وتتجاوز المجهودات المبذولة لتعليمهم المبادئ اﻷولية 933 لمجتمعنا. يتوجب علينا أن نقوم بالمجهودين معاً، كما يتوجب علينا أن نحافظ على 934 التوازن بينهما.</p> 935 936 <h3>“المصادر المفتوحة”</h3> 937 <p> 938 محاولة تعليم المستخدمين الجدد مبادئ الحرية أصبحت أكثر صعوبة في العام 1998م، 939 حينما قرر جزء من مجتمع البرمجيات الحرة أن يتوقفوا عن استخدام تعبير 940 “البرمجيات الحرة”، واستخدموا تعبير “البرمجيات مفتوحة 941 المصدر” عوضاً عنه.</p> 942 <p> 943 بعض الذين فضلوا استخدام التعبير الجديد حاولوا أن يتفادوا أي ارتباك قد ينجم 944 من استخدام لفظة “حرة” عبر استبدالها بلفظة 945 “مجانية”—وهو هدف مشروع. ولكن البعض اﻵخر حاولوا أن يضعوا 946 روح المبادئ التي ألهمت إنشاء حركة البرمجيات الحرة ومشروع جنو إلى الجانب، 947 وفضلوا أن يتقربوا إلى المدراء التنفيذيين والزبائن والذين يمتلك العديد منهم 948 أيديولوجيات فكرية تجعلهم يقدمون المكسب على الحرية والمجتمع والمبادئ. نتيجة 949 لذلك، فإن روح “المصادر المفتوحة” تكمن في تركيزها على إنتاج برامج 950 ذات جودة عالية وفعالة، ولكنها لا تلقي بالاً للحرية والمجتمع والمبادئ.</p> 951 <p> 952 إن مجلات “لينكس” تشكل مثالاً واضحاً على هذا—جميعها تمتلئ 953 بإعلانات البرامج اﻻحتكارية التي تعمل على أنظمة جنو/لينكس. حينما تظهر النسخة 954 القادمة من موتيف أو كيوت أو أي برنامج آخر مشابه، هل ستقوم هذه المجلات بتحذير 955 المبرمجين من استخدام هذه البرامج، أم أنها ستعرض إعلانات لها؟</p> 956 <p> 957 إن الدعم الناتج عن التجارة من شأنه أن يساعد مجتمع البرمجيات الحرة بعدة طرق، 958 وهذا اﻷمر يمكنه أن يكون مفيداً على عدة مستويات. ولكن اكتساب الدعم عبر تقليل 959 الحديث عن الحرية والمبادئ يمكنه أن يجعل اﻷمر كارثياً؛ ﻷنه يزيد الفجوة بين 960 الممارسة والتوعية بالحقوق التي تحدثنا عنها سابقاً.</p> 961 <p> 962 إن “البرمجيات الحرة” و“المصادر الحرة” تتحدثان، بصورة 963 عامة، عن نفس الفئة من البرمجيات، إﻻ أن أقوالهما تختلف عن البرمجيات 964 والمبادئ. إن مشروع جنو يستمر في استخدام تعبير “البرمجيات الحرة” 965 لتأكيد أن الحرية، وليس التكنولوجيا فحسب، أمر مهم وأساسي.</p> 966 967 <h3>حاول!</h3> 968 <p> 969 حكمة يودا (“ليس هنالك ما يسمى ‘بالمحاولة’”) تبدو 970 جيدة، ولكنها ﻻ تصلح في حالتي. لقد قمت بتنفيذ معظم أعمالي وأنا قلق من قدرتي 971 على أداء المهمة، كما أنني لم أكن متأكداً من أن مجهوداتي ستنجح في الوصول 972 ﻷهدافها. ولكنني استمررت في المحاولة، ﻷنه لم يكن هناك شخص آخر يحول بين العدو 973 والمدينة. رغم أنني لم أكن متأكداً من النجاح، إﻻ أنني نجحت في الكثير من 974 مساعيّ.</p> 975 <p> 976 في أحيان أخرى، فشلت مجهوداتي، وسقطت بعض المدن التي كنت أقوم بحمايتها. ولكنني 977 كنت أجد مدينة أخرى مهددة من العدو، وكنت أجهز نفسي لمعركة أخرى للدفاع 978 عنها. مع مرور الوقت، تعلمت كيف أبحث عن التهديدات والمخاطر، وكيف أضع نفسي ما 979 بين العدو والمدينة، في نفس الوقت الذي أنادي فيه القراصنة المبرمجين اﻵخرين 980 ليأتوا ويشاركوني المهمة.</p> 981 <p> 982 اليوم، لم أعد المدافع الوحيد عن القضية. من المريح والمفرح أن أرى حشداً من 983 القراصنة المبرمجين يقومون بحفر الخنادق لتعزيز دفاعاتهم، مما يجعلني أدرك أن 984 هذه المدينة سوف تظل صامدة—اﻵن على اﻷقل. ولكن المخاطر تتزايد عاماً بعد 985 عام، واﻵن تقوم شركة مايكروسوفت (Microsoft) باستهداف مجتمعنا بصورة مباشرة. ﻻ 986 يمكننا أن نأخذ مستقبل الحرية على أنه شئ مضمون. ﻻ تتعامل معه على أنه شئ 987 مضمون! إذا كنت ترغب بالمحافظة على حريتك، ينبغي عليك أن تجهز نفسك للدفاع 988 عنها.</p> 989 990 <div class="translators-notes"> 991 992 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.--> 993 </div> 994 </div> 995 996 <!-- for id="content", starts in the include above --> 997 <!--#include virtual="/server/footer.ar.html" --> 998 <div id="footer"> 999 <div class="unprintable"> 1000 1001 <p>الرجاء ارسال اﻻستفسارات العامة حول مؤسسة البرمجيات الحرة ونظام جنو إلى 1002 البريد اﻹلكتروني <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. هناك 1003 <a href="/contact/">طرق أخرى للتواصل</a> مع مؤسسة البرمجيات الحرة. للتبليغ 1004 عن رابط ﻻ يعمل أو أي تعديلات أو اقتراحات أخرى، يرجى إرسال رسالة إلى البريد 1005 اﻹلكتروني <a 1006 href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 1007 1008 <p> 1009 <!-- TRANSLATORS: Ignore the original text in this paragraph, 1010 replace it with the translation of these two: 1011 1012 We work hard and do our best to provide accurate, good quality 1013 translations. However, we are not exempt from imperfection. 1014 Please send your comments and general suggestions in this regard 1015 to <a href="mailto:web-translators@gnu.org"> 1016 1017 <web-translators@gnu.org></a>.</p> 1018 1019 <p>For information on coordinating and submitting translations of 1020 our web pages, see <a 1021 href="/server/standards/README.translations.html">Translations 1022 README</a>. --> 1023 نحن نبذل أقصى جهدنا لنوفر ترجمة دقيقة وعالية الجودة، ولكن هذا ﻻ يعني أننا 1024 نخلو من العيوب. يرجى إرسال تعليقاتكم واقتراحاتكم العامة بخصوص هذه الترجمة 1025 إلى <a 1026 href="mailto:web-translators@gnu.org"><web-translators@gnu.org></a>.</p><p>لمعلومات 1027 أكثر حول كيفية التعاون معنا وللمشاركة في ترجمة المقالات على هذا الموقع، يرجى 1028 قراءة دليل الترجمة (<a 1029 href="/server/standards/README.translations.html">Translations README</a>).</p> 1030 </div> 1031 1032 <!-- Regarding copyright, in general, standalone pages (as opposed to 1033 files generated as part of manuals) on the GNU web server should 1034 be under CC BY-ND 4.0. Please do NOT change or remove this 1035 without talking with the webmasters or licensing team first. 1036 Please make sure the copyright date is consistent with the 1037 document. For web pages, it is ok to list just the latest year the 1038 document was modified, or published. 1039 1040 If you wish to list earlier years, that is ok too. 1041 Either "2001, 2002, 2003" or "2001-2003" are ok for specifying 1042 years, as long as each year in the range is in fact a copyrightable 1043 year, i.e., a year in which the document was published (including 1044 being publicly visible on the web or in a revision control system). 1045 1046 There is more detail about copyright years in the GNU Maintainers 1047 Information document, www.gnu.org/prep/maintain. --> 1048 <p>Copyright © 1998, 2001, 2002, 2005, 2006, 2007, 2008, 2010, 2014, 2015, 1049 2017, 2018, 2020 ريتشارد ستالمان</p> 1050 1051 <p>هذا المُصنَّف مرخص بموجب <a rel="license" 1052 href="https://creativecommons.org/licenses/by-nd/4.0/deed.ar">رخصة المشاع 1053 الإبداعي نَسب المُصنّف - منع الاشتقاق 4.0 دولي</a>.</p> 1054 1055 <!--#include virtual="/server/bottom-notes.ar.html" --> 1056 <div class="translators-credits"> 1057 1058 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> 1059 <strong>ترجمة</strong>: محمد عصام<a 1060 href="mailto:mohammed_isam1984@yahoo.com"><mohammed_isam1984@yahoo.com></a>, 1061 2018. مراجعة: لبنى محمد.</div> 1062 1063 <p class="unprintable"><!-- timestamp start --> 1064 تم التحديث في: 1065 1066 $Date: 2020/09/10 02:29:00 $ 1067 1068 <!-- timestamp end --> 1069 </p> 1070 </div> 1071 </div> 1072 <!-- for class="inner", starts in the banner include --> 1073 </body> 1074 </html>