diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/ar/thegnuproject.html')
-rw-r--r-- | talermerchantdemos/blog/articles/ar/thegnuproject.html | 1074 |
1 files changed, 1074 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/ar/thegnuproject.html b/talermerchantdemos/blog/articles/ar/thegnuproject.html new file mode 100644 index 0000000..0b73d35 --- /dev/null +++ b/talermerchantdemos/blog/articles/ar/thegnuproject.html @@ -0,0 +1,1074 @@ +<!--#set var="PO_FILE" + value='<a href="/gnu/po/thegnuproject.ar.po"> + https://www.gnu.org/gnu/po/thegnuproject.ar.po</a>' + --><!--#set var="ORIGINAL_FILE" value="/gnu/thegnuproject.html" + --><!--#set var="DIFF_FILE" value="/gnu/po/thegnuproject.ar-diff.html" + --><!--#set var="OUTDATED_SINCE" value="2020-07-12" --><!--#set var="ENGLISH_PAGE" value="/gnu/thegnuproject.en.html" --> + +<!--#include virtual="/server/header.ar.html" --> +<!-- Parent-Version: 1.86 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>حول مشروع جنو - مشروع جنو - مؤسسة البرمجيات الحرة</title> +<meta http-equiv="Keywords" content="جنو، مشروع جنو، البرمجيات الحرة، مؤسسة البرمجيات الحرة، التاريخ" /> + +<!--#include virtual="/gnu/po/thegnuproject.translist" --> +<!--#include virtual="/server/banner.ar.html" --> +<!--#include virtual="/server/outdated.ar.html" --> +<h2>مشروع جنو</h2> + +<p> +بقلم <a href="http://www.stallman.org/"><strong>ريتشارد ستالمان</strong></a></p> + +<blockquote> +<p> +هذا المقال تم نشره أولاً في كتاب <em>المصادر المفتوحة (Open +Sources)</em>. ريتشارد ستالمان لم يكن أبداً من <a +href="/philosophy/open-source-misses-the-point.html">مناصري استخدام تعبير +“المصادر المفتوحة”</a>، ولكنه شارك بهذا المقال في الكتاب المذكور +ﻻعتقاده أنه من اﻷفضل أن تكون أفكار ورؤى حركة البرمجيات الحرة مذكورة في +الكتاب عن أن تكون غائبة عنه. +</p> +<p> +لماذا نؤمن أنه من اﻷهمية بمكان <a +href="/philosophy/free-software-even-more-important.html">أن نصر جميعاً على +أن تكون البرمجيات التي نستخدمها حرة</a>. +</p> +</blockquote> + +<h3>أول مجتمع لمشاركة البرمجيات</h3> +<p> +حينما بدأت العمل بمختبر الذكاء اﻻصطناعي بمعهد ماساشوستس للتكنولوجيا <abbr +title="Massachusetts Institute of Technology">MIT</abbr> في العام 1971م، +وجدت أنني صرت جزءاً من مجتمع يقوم بمشاركة البرمجيات، الشئ الذي كان متواصلاً +في اﻷعوام التي سبقت التحاقي بالمختبر. لم تكن مشاركة البرمجيات مقتصرة تحديداً +على مجتمعنا، بل كانت ممارسة قديمة قدم الحواسيب نفسها، مثلما أن مشاركة وصفات +الطبخ قديمة قدم عملية الطبخ في حد ذاتها. غير أننا كنا نقوم بالمشاركة أكثر +بكثير من غيرنا.</p> +<p> +كان مختبر الذكاء اﻻصطناعي يستخدم نظام تشغيل يعتمد مبدأ المشاركة بالوقت، وكان +النظام يدعى نظام المشاركة بالوقت غير التوافقي <abbr title="Incompatible +Timesharing System">ITS</abbr> (the Incompatible Timesharing System). كان +قراصنة المبرمجين في فريق عمل المختبر (1) قد صمموا وبرمجوا النظام باستخدام +لغة التجميع، على أجهزة ديجيتال <abbr title="Programmed Data +Processor">PDP</abbr>-10، وهي من أضخم الحواسيب التي كانت موجودة في ذلك +الوقت. وحيث أنني كنت عضواً في هذا المجتمع، ومبرمجاً في فريق عمل مختبر الذكاء +اﻻصطناعي؛ فقد كانت وظيفتي تتطلب أن أقوم بتحسين هذا النظام.</p> +<p> +في ذلك الوقت، لم نكن نطلق على برمجياتنا لفظ “البرمجيات الحرة”؛ +وذلك ﻷن اللفظ لم يكن قد تم اختراعه بعد، ولكن هذا ﻻ يمنع من أن ما كنا نمارسه +كان حرية البرمجيات. حينما كان المبرمجون التابعون لجامعة أخرى أو شركة مختلفة +يرغبون في استخدام أو ترقية أحد برامجنا، كنا نسمح لهم بذلك. حينما كنت ترى +شخصاً آخر يستخدم برنامجاً غير مألوف ويجذب ذلك انتباهك، كان بإمكانك أن تطلب +من الشخص اﻵخر أن يسمح لك برؤية شفرة المصدر، حيث يمكنك أن تقرأها، وتقوم +بتعديلها، ومن ثم تستخدم أجزاء منها لعمل برنامج جديد كلياً.</p> +<p> +(1) استخدام لفظة “قرصنة” بمعنى “كسر اﻷمن” هو خطأ +شائع ترتكبه الوسائط اﻹعلامية الحديثة. نحن كقراصنة مبرمجين نرفض أن نعترف بهذا +المعنى الخاطئ، ونصر على استخدام الكلمة بمعناها الصحيح والذي يعني أن القرصان +هو شخص يجب البرمجة، أو شخص يستمتع بالذكاء المرح، أو شخص يمارس اﻻثنين +معاً. يمكنك قراءة المزيد في مقالتي <a +href="http://stallman.org/articles/on-hacking.html">حول القرصنة +البرمجية</a>.</p> + +<h3>انهيار المجتمع اﻷولي</h3> +<p> +في بداية الثمانينيات من القرن الماضي، تغير الوضع كلياً عما كان عليه، وذلك +حينما قررت شركة ديجيتال Digital إيقاف تصنيع سلسلة حواسيب PDP-10. بينما كان +التصميم راقياً وقوياً بما يناسب الستينيات، إﻻ أنه فشل في التوسع بما يلائم +مساحات العناوين الضخمة التي صارت متوفرة في الثمانينيات. هذا كان يعني أن جميع +البرامج التي تكون منها نظام المشاركة بالوقت غير التوافقي ITS قد أصبحت بالية +وغير صالحة للعمل.</p> +<p> +كان مجتمع القراصنة المبرمجين بمختبر الذكاء اﻻصطناعي قد انهار قبل ذلك بفترة +قصيرة. ففي العام 1981م، كانت شركة سيمبولكس (Symbolics) قد نجحت في توظيف أغلب +القراصنة المبرمجين التابعين لمختبر الذكاء الاصطناعي، مما أدى ﻹضعاف مجتمع +المبرمجين الذي صار عاجزاً عن المشاركة بنفس الطريقة السابقة. (إن كتاب +القراصنة (Hackers)، من تأليف ستيف ليفي، يحوي وصفاً دقيقاً لهذه اﻷحداث، +باﻹضافة إلى أنه يرسم صورة واضحة لهذا المجتمع في ذروة نشاطه). فيما بعد، حينما +قام مختبر الذكاء اﻻصطناعي في العام 1982م بشراء جهاز حاسوب PDP-10 حديث، قرر +المدراء استخدام نظام تشغيل المشاركة بالوقت من ديجيتال، والذي لم يكن حراً، +عوضاً عن نظام ITS القديم.</p> +<p> +أجهزة الحواسيب الحديثة في ذلك الوقت، كجهاز VAX أو جهاز 68020، كانت جميعها +تحوي أنظمة التشغيل الخاصة بها، والتي لم يكن أيها حراً: كان يجب عليك أن تقوم +بتوقيع اتفاقية عدم إفشاء اﻷسرار لو كنت ترغب بالحصول على نسخة من البرنامج.</p> +<p> +كان هذا يعني أن أول خطوة يتوجب عليك القيام بها ﻻستخدام جهاز حاسوب هي أن تعد +بأنك لن تقدم يد العون لجارك، بما يعني تحريم المشاركة في المجتمع. كان القانون +الجديد الذي وضعه ملاك البرمجيات اﻻحتكارية هو: “إذا قمت بالمشاركة مع +جارك، فأنت إذاً قرصان. إذا كنت ترغب بإجراء أي تعديلات على البرنامج، يجب عليك +أن تتوسل إلينا لنقوم بذلك.”</p> +<p> +قد يتفاجأ بعض القراء من فكرة أن النظام اﻻجتماعي للبرمجيات اﻻحتكارية — +وهو النظام الذي يفرض قانون عدم المشاركة وعدم تعديل البرمجيات — هو نظام +ﻻ اجتماعي، كما أنه نظام ﻻ أخلاقي، وبالتالي فهو ممارسة خاطئة من أساسها. ولكن +ماذا يمكننا أن نطلق على نظام يعتمد على تفريق الرأي العام، ويجعل المستخدمين ﻻ +حول لهم وﻻ قوة؟ القارئ الذي يجد هذه الفكرة مفاجئة هو من اقتنع بأن نظام +البرمجيات اﻻحتكارية اﻻجتماعي هو نظام مُسلّم به، أو هو من حكم على النظام +باﻻعتماد على الشروط التي فرضها عليه أصحاب البرمجيات اﻻحتكارية أنفسهم. يمكننا +أن نتفهم ذلك، فناشرو البرامج قد بذلوا الكثير من الوقت والجهد ﻹقناع +المستخدمين بأن هناك طريقة واحدة فقط للحكم على هذه المسألة.</p> +<p> +حينما يتحدث ناشرو البرامج عن “فرض حقوقهم” بالقوة، أو +”محاربة وإيقاف <a +href="/philosophy/words-to-avoid.html#Piracy">القرصنة</a>“ فإن بما +<em>يقولونه</em> في الحقيقة ليس مهماً على اﻹطلاق. الرسالة الحقيقية من وراء +تصريحاتهم تكمن في افتراضاتهم غير المعلنة، والتي يتعين على الجمهور القبول بها +بدون بحث أو تمحيص. إذاً، فلنقم بالبحث في هذه اﻻفتراضات اﻵن.</p> +<p> +أحد هذه اﻻفتراضات هو أن شركات البرمجيات من حقها أن تمتلك البرمجيات، وبالتالي +أن تفرض سلطتها على جميع المستخدمين، وأن هذا حق طبيعي وغير قابل للنقاش. (إذا +سلمنا بأن هذا حق طبيعي، فإن ذلك يعني أننا لن نتمكن من اﻻعتراض عليه، بغض +النظر عن مقدار اﻷذى الذي سيسببه للجمهور). من المثير للاهتمام أن دستور +الولايات المتحدة والنواميس القانونية ترفضان وجهة النظر هذه؛ حيث أن حقوق +الملكية ليست حقوقاً أصيلة، وإنما هي خطة احتكارية مصطنعة تفرضها الحكومات +لتمنع المستخدمين من ممارسة حقهم الطبيعي في النقل والمشاركة.</p> +<p> +هناك افتراض ضمني آخر يقضي بأن الشئ الوحيد ذو اﻷهمية في موضوع البرمجيات هو +نوع الوظائف التي يمكنك القيام بها — بمعنى أننا كمستخدمي حواسيب يجب ألا +نهتم أو نفكر في نوع المجتمع الذي يُسمَح لنا بالعيش فيه.</p> +<p> +هناك افتراض ثالث بأننا كمستخدمين مضطرون للسماح لشركات البرمجيات بأن تسيطر +على مستخدمي برمجياتها، وإﻻ فلن نتمكن من الحصول على برامج فعالة (أو لن نتمكن +من الحصول على برنامج يقوم بهذه الوظيفة أو تلك). ربما بدا هذا اﻻفتراض منطقياً +للوهلة اﻷولى، إﻻ أن حركة البرمجيات الحرة قد برهنت على أننا يمكننا أن نتحصل +على الكثير من البرمجيات المفيدة بدون أن نضع قيوداً عليها.</p> +<p> +إذا قررنا أن نرفض هذه اﻻفتراضات، وأردنا أن نحكم على هذه المسائل استناداً على +المنطق واﻷخلاق لوحدهما، واضعين المستخدم أولاً، فإننا سنصل في النهاية لنتائج +مختلفة كلياً. ينبغي أن تكون لدى مستخدمي الحواسيب حرية تعديل البرمجيات بما +يناسب احتياجاتهم، كما ينبغي أن تكون لديهم حرية مشاركة البرمجيات، ببساطة ﻷن +مساعدة اﻵخرين هي اﻷساس في بناء المجتمع.</p> +<p> +بما أن المساحة ﻻ تسمح بعرض مطول للأسباب التي تقودنا لهذه النتيجة؛ عليه ننصح +القارئ باﻻطلاع على صفحة <a href="/philosophy/why-free.html"> +http://www.gnu.org/philosophy/why-free.html</a> وصفحة <a +href="/philosophy/free-software-even-more-important.html"> +http://www.gnu.org/philosophy/free-software-even-more-important.html</a>. +</p> + +<h3>الخيار اﻷخلاقي القاسي</h3> +<p> +بعد انهيار مجتمعي القديم، صار من المستحيل علي أن أواصل كالسابق. وعليه صار +علي أن أقوم بأقسى خيار أخلاقي على اﻹطلاق.</p> +<p> +الخيار اﻷسهل كان أن أنضم لعالم البرمجيات اﻻحتكارية، حيث أقوم بتوقيع اتفاقيات +عدم إفشاء اﻷسرار، وأقطع وعداً بألا أساعد زملائي المبرمجين. على اﻷرجح أنني +كنت سأقوم بتطوير برمجيات سيتم إصدارها تحت اتفاقيات عدم إفشاء مماثلة، مما +سيزيد الضغط على اﻵخرين ويضطرهم لخيانة زملائهم بالمثل.</p> +<p> +كان يمكنني جني الكثير من المال بسلوك هذا الطريق، وربما أمتعت نفسي بكتابة +البرامج في نفس الوقت. المشكلة أنني كنت أعلم أنه عندما تنتهي مسيرتي المهنية، +عندها سأنظر للوراء لجميع السنوات التي قضيتها في بناء الجدران التي تفصل الناس +عن بعضهم، وعندها سأشعر بأنني قضيت سني حياتي في جعل العالم مكاناً أسوأ للعيش +فيه.</p> +<p> +كنت قد جربت أن أكون على الطرف اﻵخر من اتفاقية عدم إفشاء اﻷسرار، وذلك حينما +رفض أحدهم إعطائي أنا ومختبر الذكاء اﻻصطناعي شفرة المصدر للبرنامج الذي يتحكم +في آلتنا الطابعة. (كان استخدام هذه اﻵلة الطابعة مثيراً للاحباط بصورة كبيرة، +وذلك نسبة لغياب بعض الخصائص المهمة من برنامج التحكم). وعليه، لم أتمكن أبداً +من إقناع نفسي بأن اتفاقيات عدم إفشاء اﻷسرار بريئة. كنت غاضباً للغاية حينما +رفض ذلك الشخص مشاركة البرنامج معنا، ولم أستطع أن أدور على عقبي وأقوم بفعل +نفس الشئ مع اﻵخرين.</p> +<p> +الخيار اﻵخر، والذي كان مباشراً ولكنه غير مريح إطلاقاً، كان أن أغادر مجال +الحوسبة نهائياً. كان هذا يعني أن قدراتي لن يساء استخدامها، ولكن سيتم +إهدارها. كان هذا سيعني أيضاً أنني لن أكون مسئولاً عن تفرقة وتحجيم مستخدمي +الحواسيب، إﻻ أن هذا لم يكن ليمنع حدوثهما في جميع اﻷحوال.</p> +<p> +كل هذا جعلني أبحث عن طريقة يمكنني بها كمبرمج أن أفعل شيئاً جيداً لخدمة +المجتمع. سألت نفسي سؤالاً: هل هناك أي برنامج (أو برامج) يمكنني أن أقوم +بكتابتها، والتي ستجعل باﻹمكان إنشاء مجتمع مشارك من جديد؟</p> +<p> +اﻹجابة كانت واضحة: نحتاج أولاً لنظام تشغيل قبل كل شئ. نظام التشغيل هو الخطوة +اﻷولى التي نحتاجها لنبدأ باستخدام جهاز الحاسوب. حينما يكون لديك نظام تشغيل، +عندها يمكنك أن تفعل العديد من اﻷشياء؛ أما بدون نظام التشغيل سيتعذر عليك +تشغيل الحاسوب من أساسه. بوجود نظام تشغيل حر، يمكننا أن نعيد إنشاء مجتمع +القراصنة المتعاونين — كما يمكننا دعوة أي شخص للانضمام. أي شخص سيتمكن +من استخدام حاسوبه بدون أن يضطر بدءاً للتآمر ضد زملائه لحرمانهم من حريتهم +البرمجية.</p> +<p> +بصفتي مبرمج أنظمة تشغيل فقد كنت أمتلك الصفات المؤهلة لهذه المهمة. لذلك، +ورغماً عن أنني لم أكن متأكداً من النجاح، فقد أدركت أنني قد تم اختياري لهذه +المهمة. اخترت أن أجعل نظام التشغيل ملائماً ليونكس (Unix) بحيث تكون البرمجيات +قابلة للترقية، وحتى يتمكن مستخدمو يونكس من اﻻنتقال بسهولة للنظام الجديد. قمت +باختيار اسم جنو (GNU)، على عادة القراصنة المبرمجين، كاختصار متكرر بمعنى +“جنو ليس يونكس أو GNU's Not Unix.” وينطق <a +href="/gnu/pronunciation.html">كمقطع لفظي واحد مع تشديد الجيم</a>.</p> +<p> +إن أي نظام تشغيل يجب أن يحتوي أشياء أكثر من نواة النظام، والتي بالكاد تسمح +بتشغيل البرامج اﻷخرى. في السبعينيات كانت جميع نظم التشغيل المحترمة تحتوي على +معالجات أوامر، ومُجمّعات ومترجمات ومُصحّحات للشفرة البرمجية، ومحررات نصوص، +وبرامج بريد الكتروني، والكثير غيرها من البرامج. نظام ITS كان يحتويها، كما +كانت أنظمة Multics وVMS وUnix جميعها. كان هذا يعني أن نظام جنو سيحتوي هذه +البرامج أيضاً.</p> +<p> +لاحقاً، سمعت هذه الكلمات، والتي تُنسَب إلى هيليل (Hillel) (1):</p> + +<blockquote><p> + لو لم أكن داعماً لنفسي، فمن سيدعمني؟<br /> + لو لم أهتم باﻵخرين، فمن أنا؟<br /> + لو لم أفعلها اﻵن، فمتى إذاً؟ +</p></blockquote> +<p> +قراري بإنشاء مشروع جنو كان مستنداً على عقلية مشابهة لهذه.</p> +<p> +(1) بصفتي ملحداً، فأنا ﻻ أتبع أي قادة دينيين، ولكنني أُعجَب أحياناً بمقولة +أحدهم.</p> + +<h3>حر كما في الحرية</h3> +<p> +إن تعبير “البرمجيات الحرة” كثيراً ما يساء فهمه — فهو ﻻ +علاقة له بالمال، وإنما يُعنَى بالحرية. فيما يلي، سنقوم بتعريف البرمجيات +الحرة.</p> + +<p>يعتبر البرنامج المعين برمجية حرة بالنسبة لك أيها المستخدم حينما يستوفي هذه +الشروط:</p> + +<ul> + <li>حينما تكون لديك حرية استخدام البرنامج بأي صورة تراها مناسبة، ﻷي غرض ترغب به.</li> + + <li>حينما تكون لديك حرية تعديل البرنامج ليناسب احتياجاتك الخاصة. (حتى تكون هذه +الحرية عملية، يجب أن تتوفر لديك شفرة المصدر الخاصة بالبرنامج، حيث أن تعديل +البرنامج بدون وجود شفرة المصدر أمر صعب للغاية).</li> + + <li>حينما تكون لديك حرية إعادة توزيع نسخ من البرنامج، مجاناً أو برسوم مالية.</li> + + <li>حينما تكون لديك حرية إعادة توزيع نسخ معدلة من البرنامج، بحيث يمكن للمجتمع أن +يستفيد من تحسيناتك التي أدخلتها على البرنامج اﻷصل.</li> +</ul> +<p> +بما أن “الحرية” هنا ترمز للفعل لا للمال، عليه فليس هناك تضارب +بين كون البرمجية حرة وكونها تباع بسعر. في الواقع، فإن حرية بيع نسخ من +البرامج هي حرية أساسية: إن المجتمع يستفيد من مجموعات البرمجيات الحرة التي +تباع على اﻷقراص المضغوطة، حيث أنها تشكل مصدراً هاماً من مصادر جمع اﻷموال، +والتي تساعد في تطوير البرمجيات الحرة. هذا يعني أن أي برمجية ﻻ يُسمح بإدخالها +في هذه المجموعات هي بطبيعة الحال برمجية غير حرة.</p> +<p> +نظراً لغموض معنى كلمة “الحرية”، فإننا قد بحثنا مطولاً عن بدائل +لها، إﻻ أننا لم نجد تعبيراً آخر أكثر مناسبة منها. إن اللغة اﻻنجليزية تزخر +بالكلمات ذات الفروق الشكلية البسيطة أكثر من أي لغة أخرى، ولكنها تفتقر لوجود +كلمة بسيطة وغير غامضة تحمل معنى “حر” كما في الحرية — +“غير مقيد (unfettered)” هي أكثر كلمة ملائمة في المعنى. المرادفات +اﻷخرى مثل “مُحَرّر (liberated)”، و“ مستقل +(freedom)”، و“مفتوح (open)” جميعها تحمل معنىً خاطئاً، أو +تعاني من قصور آخر في المعنى.</p> + +<h3>برمجيات جنو ونظام تشغيل جنو</h3> +<p> +إن تطوير نظام تشغيل متكامل هو مشروع ضخم للغاية. وحتى نتمكن من الوصول +لغايتنا، قررت أن أُطوّع وأستخدم البرمجيات الحرة المتوفرة كلما أمكن +ذلك. كمثال على ذلك، قررت منذ البداية استخدام تيك (TeX) كمنسق النصوص +الرئيسي. بعد عدة سنوات، قررت استخدام نظام عرض إكس (X Window System) بدلاً عن +كتابة نظام عرض جديد خصيصاً من أجل جنو.</p> +<p> +بسبب هذه القرارات، والكثير غيرها، فإن نظام جنو هو أكثر من مجرد تجميع +لبرمجيات جنو. إن نظام جنو يحتوي العديد من البرمجيات التي لم يتم تطويرها في +مشروع جنو. هذه البرمجيات تم تطويرها من قبل مبرمجين آخرين لخدمة أغراضهم، +ولكننا تمكنا من استخدامها ﻷنها برمجيات حرة.</p> + +<h3>بداية إطلاق المشروع</h3> +<p> +في العام 1984م، غادرت وظيفتي في معهد ماساشوستس للتكنولوجيا وبدأت في كتابة +برامج جنو. مغادرتي للمعهد كانت مهمة حتى ﻻ يتدخل المعهد في توزيع جنو كبرمجية +حرة. لو كنت ظللت موظفاً لدى المعهد، كان يمكن أن يدعي المعهد امتلاكه للعمل، +ومن ثم يقوم المسئولون بفرض شروطهم الخاصة على عملية التوزيع، أو ربما قاموا +بتحويل العمل لحزمة برامج احتكارية. لم يكن لدي اﻻستعداد ببذل مجهود كبير في +هذا العمل، فقط ﻷراه تحول لعمل ﻻ يخدم الغرض اﻷساسي من إنشائه، وهو إعادة بناء +مجتمع مشارك للبرمجيات.</p> +<p> +ولكن بروفيسور ونستون، والذي كان رئيس مختبر الذكاء اﻻصطناعي بمعهد ماساشوستس +للتكنولوجيا في ذلك الوقت، قام مشكوراً بدعوتي لمواصلة استخدام موارد المختبر.</p> + +<h3>الخطوات اﻷولى</h3> +<p> +كنت قد سمعت عن مجموعة مترجمات الجامعة الحرة (Free University Compiler Kit)، +المعروفة بالاسم المختصر VUCK، قبل فترة قصيرة من بدئي العمل على مشروع +جنو. (كلمة “حرة” في اﻷلمانية تبدأ بحرف <em>v</em>. هذا البرنامج +كان عبارة عن برنامج مترجم تم تصميمه لترجمة عدة لغات مختلفة، من ضمنها لغة سي +(C) وباسكال (Pascal)، كما أنه كان يستهدف عدة أجهزة مختلفة. عليه فقد قمت +بالتواصل مع صاحب البرنامج ﻷسأله إن كان بإمكان مشروع جنو أن يستفيد من عمله.</p> +<p> +كان رد المبرمج علي ساخراً، بقوله أن كون الجامعة حرة ﻻ يعني بضرورة الحال أن +المترجم مجاني. كان هذا ما دفعني ﻷن أقرر أن أول برنامج في مشروع جنو سيكون +مترجماً متعدد اللغات واﻷهداف.</p> +<p> +كنت أتمنى أﻻ أضطر لكتابة البرنامج كاملاً بنفسي، ولذلك تحصّلت على شفرة المصدر +لمترجم باسكال (Pascal)، حيث كان مترجماً متعدد القواعد (multiplatform)، تم +تطويره في مختبر لورنس لفرمور. كان المترجم يدعم نسخة ممتدة من باسكال، وهي نفس +اللغة التي تمت كتابة البرنامج نفسه بها، وكان الغرض منها أن تكون لغة برمجة +ﻷنظمة التشغيل. قمت بإضافة واجهة أمامية للغة سي (C)، بعدها بدأت بترقية +المترجم للعمل على حاسوب موتورولا 68000. في النهاية اضطررت ﻷن ألغي الفكرة +بكاملها حينما اكتشفت أن المترجم كان يحتاج لعدة ميجابايتات من مساحة المُراكِم +(stack space)، بينما كان نظام يونكس المتوفر على حاسوب 68000 يسمح بـ64 +كيلوبايت كحدٍ أقصى لمساحة المُراكِم.</p> +<p> +كان هذا حينما أدركت أن مترجم باسكال كان يقوم بتحليل الملف المدخل بكامله، من +ثم يقوم بإنشاء شجرية تعتمد على البنية التركيبية للملف المدخل، من ثم يقوم +بتحويل الشجرية لسلسلة من “اﻷوامر”، وأخيراً يقوم بتوليد ملف +المخرجات، كل ذلك بدون أن يقوم بتحرير المساحة التخزينية المشغولة +سابقاً. عندما وصلت لهذه النقطة، أدركت أنني سأضطر لكتابة مترجم جديد من +البداية، والذي أصبح يعرف فيما بعد باسم جي سي سي (<abbr title="GNU Compiler +Collection">GCC</abbr>). لم أقم باستخدام أي شفرة من مترجم باسكال اﻷصلي، +لكنني استفدت من الواجهة اﻷمامية للغة سي (C) التي قمت بكتابتها من قبل. كل هذا +حدث بعد عدة سنوات، إذ أنني بدأت أولاً بكتابة برنامج جنو إيماكس (GNU Emacs).</p> + +<h3>برنامج جنو إيماكس (GNU Emacs)</h3> +<p> +بدأت العمل على برنامج جنو إيماكس في سبتمبر 1984م، وبمطلع عام 1985م كان قد +تحول لبرنامج صالح للاستعمال. كان هذا مهماً ﻷن البرنامج ساعدني ﻷتمكن من +استخدام أنظمة تشغيل يونكس ﻷقوم بتحرير الملفات، إذ أنني لم أكن راغباً في تعلم +كيفية استخدام برنامج في آي (vi) أو إيد (ed)، ولذلك كنت أقوم بتحرير ملفاتي +على أنظمة أخرى حتى انتهيت من كتابة إيماكس.</p> +<p> +في هذا الوقت، كان برنامج جنو إيماكس قد بدأ باجتذاب اﻷنظار، وأبدى العديدون +رغبتهم في استخدامه، مما برز معه السؤال: كيف سأقوم بتوزيع البرنامج؟ بطبيعة +الحال، قمت بوضع البرنامج على المخدم المجهول مستخدماً بروتوكول نقل الملفات +(إف تي بي أو ftp)، على جهاز الحاسوب الذي كنت أستخدمه بمعهد ماساشوستس +للتكنولوجيا. (هذا الحاسوب، وعنوانه prep.ai.mit.edu، أصبح أول مخدم إف تي بي +نستخدمه لتوزيع نظام جنو. استمر هذا حتى تم إيقاف الجهاز عن الخدمة بعدها +بسنوات، حينما قمنا بتحويل اﻻسم لمخدم إف تي بي آخر). المشكلة كانت أنه في ذلك +الوقت، لم يكن أغلب المهتمين بالمشروع متصلين بشبكة اﻻنترنت، وبالتالي لم +يكونوا قادرين على التحصل على نسخة من جنو عبر بروتوكول نقل الملفات. من هنا +برز السؤال الثاني: ما الحل الذي سأخبر هؤﻻء اﻷشخاص به؟</p> +<p> +كان يمكنني أن أقول لهم: “اعثروا على صديق لديه اتصال بشبكة اﻻنترنت، +وسيقوم هو بعمل نسخة لكم.” أو كان يمكنني أن أفعل ما فعلته ببرنامج +إيماكس اﻷصلي على جهاز ديجيتال PDP-10: أن أقول لهم “أرسلوا إلي شرائطكم، +ومظاريفاً بريدية معنونة إلى أنفسكم <abbr title="Self-addressed Stamped +Envelope">SASE</abbr>، وسأقوم بإعادتها لكم بريدياً وعليها برنامج +إيماكس”. المشكلة أنني لم يكن لدي وظيفة، وكنت أبحث عن طرق لجني المال +باستخدام البرمجيات الحرة. عندها أعلنت أنني سأقوم بإرسال شريط عبر البريد لكل +من يرغب بذلك، لقاء رسم مالي يبلغ 150 دولار. بهذه الطريقة، تمكنت من بدء مشروع +عمل لتوزيع البرمجيات الحرة، وهو المشروع الذي نبعت منه الشركات الحديثة التي +تقوم بتوزيع إصدارات جنو/لينكس المتعددة.</p> + +<h3>متى يكون جميع مستخدمو برنامج معين أحراراً؟</h3> +<p> +حقيقة أن برنامجاً ما يصدره صاحبه كبرمجية حرة ﻻ تعني بالضرورة أنه سيظل برمجية +حرة بالنسبة لجميع المستخدمين الذين يملكون نسخة من البرنامج. على سبيل المثال، +فإن <a href="/philosophy/categories.html#PublicDomainSoftware">برمجيات +المشاع العام</a> (البرمجيات التي ليس عليها حقوق ملكية) تعتبر برمجياتٍ حرة؛ +غير أنه بإمكان أي شخص تطوير نسخة احتكارية معدلة منها. بالمثل، فإن العديد من +البرمجيات الحرة عليها حقوق ملكية، غير أنها يتم توزيعها تحت رخص بسيطة +ومتساهلة، مما يسمح للبعض بتطوير نسخ احتكارية معدلة من البرمجيات المعنية.</p> +<p> +المثال النموذجي لهذه المشكلة هو نظام عرض إكس (X Window System). هذا النظام +تم تطويره في معهد ماساشوستس للتكنولوجيا، من ثم تم إصداره كبرمجية حرة تحت +رخصة متساهلة. لم يمض الكثير من الوقت حتى قامت شركات الحوسبة المختلفة +باستخدام النظام، حيث قاموا بإضافة نظام عرض إكس لأنظمة يونكس الاحتكارية +الخاصة بهم، وتم ذلك في الصورة الثنائية فقط (أي بدون توفير شفرة المصدر)، +واستمر استخدام اتفاقيات عدم إفشاء اﻷسرار لتغطية نظام عرض إكس. هذه النسخ من +نظام عرض إكس لم تكن حرة، مثلها مثل أنظمة يونكس التي كانت تدعمها.</p> +<p> +مطورو نظام عرض إكس لم يعتبروا هذه مشكلة—لقد كانوا يتوقعون هذا، بل +ويسعون إليه. لم يكن غرضهم الحرية، بل فقط “النجاح”، وكان تعريفهم +للنجاح هو “الحصول على أكبر عدد من المستخدمين”. لم يكونوا مهتمين +بحرية مستخدميهم، بقدر ما كانوا مهتمين بعددهم.</p> +<p> +هذا أدى إلى حالة من التناقض، حيث أن وجود طريقتين لحساب نسبة الحرية أدى لوجود +إجابات مختلفة للسؤال: “هل هذه البرمجية حرة؟” إذا قمت بالحكم +استناداً على الحرية التي تكفلها اتفاقية توزيع معهد ماساشوستس للتكنولوجيا، +يمكنك أن تقول عندها أن نظام توزيع إكس كان برمجية حرة. أما لو قمت بحساب متوسط +الحرية لمستخدم نظام عرض إكس، عندها ستضطر للقول بأن إكس كان برمجية +احتكارية. أغلب المستخدمين في ذلك الوقت كانوا يستخدمون النسخ اﻻحتكارية التي +جاءت مع أنظمة يونكس، ﻻ النسخة الحرة من نظام العرض إكس.</p> + +<h3>الحقوق المتروكة واتفاقية جنو العامة</h3> +<p> +لم يكن الهدف من وراء مشروع جنو تحصيل الشهرة، وإنما كان إعطاء المستخدمين كامل +حريتهم. من ثم كان لزاماً علينا أن نستخدم شروط توزيع من شأنها أن تمنع تحويل +برامج جنو لبرامج احتكارية. الطريقة التي استخدمناها أصبحت تعرف باسم +“الحقوق المتروكة”.(1)</p> +<p> +طريقة الحقوق المتروكة تستخدم قوانين حقوق الملكية، ولكنها تقلبها رأساً على +عقب، لتخدم الغرض المعاكس للغرض العادي: بدلاً عن استخدام حقوق الملكية لتقييد +برنامج ما، تصبح الحقوق وسيلة لجعل البرنامج حراً.</p> +<p> +الفكرة اﻷساسية من وراء الحقوق المتروكة هي إعطاء الجميع رخصة لتشغيل البرنامج، +نسخ البرنامج، تعديل البرنامج، ونشر النسخ المعدلة—إﻻ أنه من غير المسموح +إضافة قيود جديدة على البرنامج. بالتالي، فإن الحريات اﻷساسية التي يتم تعريف +“البرمجيات الحرة” عبرها، تعتبر حقاً مضموناً لكل فرد يمتلك نسخةً +من البرنامج، وهي حقوق دائمة وغير قابلة للمصادرة أو التحويل.</p> +<p> +حتى تنجح فكرة الحقوق المتروكة، يجب أن تكون النسخ المعدلة من برنامج ما حرة +أيضاً. هذه الخطوة تضمن أن أي عمل يتم تطويره بناءً على عملنا سيكون متوفراً +لمجتمعنا حال نشره. حينما يقوم المبرمجون اللذين يشغلون وظائف برمجة في شركاتهم +بالتطوع لتطوير وتحسين برمجيات جنو، فإن الحقوق المتروكة هي ما يمنع شركاتهم من +القول: “يمنع عليكم مشاركة هذه التحسينات البرمجية، ﻷننا سنقوم +باستخدامها لتطوير نسختنا اﻻحتكارية من البرنامج.”</p> +<p> +حتى نضمن حرية كل فرد يستخدم برنامجاً ما، لا بد من التأكيد على أن أي تعديل +على البرنامج الحر يجب أن يكون حراً أيضاً. إن الشركات التي قامت بخصخصة نظام +عرض إكس غالباً ما كانت تقوم بإجراء بعض التعديلات حتى تتمكن من ترقية البرنامج +ليتوافق مع أنظمتهم ومعداتهم. ورغم أن هذه التعديلات كانت صغيرة بالمقارنة مع +حجم وضخامة نظام عرض إكس، إﻻ أنها لم تكن تغييرات تافهة. إذا كان إجراء +التغييرات عذراً كافياً لحرمان المستخدمين من حرياتهم، عندها يصبح من السهل على +كائنٍ من كان أن يستغل هذا العذر لمصلحته الشخصية.</p> +<p> +هناك مشكلة مشابهة تتعلق بدمج برنامج حر مع شفرة غير حرة. مثل هذا الدمج نتيجته +دائماً ما تكون برنامجاً غير حر؛ ﻷن أي حرية غائبة عن الجزء غير الحر سوف تكون +غائبة عن الكل المدمج أيضاً. السماح بمثل هذا الدمج ستنتج عنه عواقب وخيمة؛ +ولذلك فإن من أهم الأشياء التي توفرها الحقوق المتروكة هي فرصة تلافي هذه +المشكلة، وذلك عبر اشتراط أن أي شئ يتم دمجه أو إضافته لبرنامج ذي حقوق متروكة +يجب أن ينتج عنه برنامج حر وذي حقوق متروكة أيضاً.</p> +<p> +إن رخصة جنو العامة (GNU GPL) تعد أكثر تطبيق عملي مستخدم في ترخيص برامج جنو، +مع التنويه لوجود رخص حقوق متروكة أخرى يتم استخدامها في حالات معينة. فمثلاً +يتم ترخيص كتيبات جنو باستخدام رخصة حقوق متروكة مبسطة، نظراً ﻷن رخصة جنو +العامة أكثر تعقيداً مما تحتاجه الكتيبات.(2)</p> +<p> +(1) في العام 1984 أو 1985، قمت باستلام بريد مرسل من دون هوبكنز (وهو شخص ذو +خيال واسع). كان المظروف يحتوي عدة كتابات مسلية، مثل: “جميع الحقوق +متروكة”. كنت استخدم كلمة “الحقوق متروكة” للدلالة على +المفهوم الذي كنت أقوم بتطويره في ذلك الوقت.</p> + +<p> +(2) نحن نقوم باستخدام <a href="/licenses/fdl.html">رخصة جنو للوثائق +الحرة</a> لترخيص الوثائق.</p> + +<h3>مؤسسة البرمجيات الحرة</h3> + +<p>كان اﻻهتمام ببرنامج إيماكس متزايداً، مما نتج عنه زيادة عدد اﻷشخاص المهتمين +بالمشاركة في مشروع جنو؛ ولذلك قررنا أنه قد حان الوقت للبحث عن مصادر تمويل +مرة أخرى، مما نتج عنه إنشاء <a href="http://www.fsf.org/">مؤسسة البرمجيات +الحرة</a> (FSF)، وهي منظمة خيرية معفية من الضرائب، تُعنَى بتطوير البرمجيات +الحرة. مع مرور الزمن، تولت <abbr title="Free Software Foundation">مؤسسة +البرمجيات الحرة</abbr> مهمة توزيع أشرطة إيماكس، من ثم توسعت فتمت إضافة +برمجيات حرة أخرى (بعضها من جنو والبعض من جهات أخرى) للشرائط، كما أصبحت تبيع +الكتيبات الحرة أيضاً.</p> + +<p>مؤسسة البرمجيات الحرة كانت تكتسب أغلب دخلها من مبيعات نسخ البرمجيات الحرة، +باﻹضافة لخدمات أخرى متعلقة بذلك (مبيعات الشرائط المضغوطة التي تحتوي على شفرة +المصدر أو الصيغة الثنائية لبرامجنا، والكتيبات المطبوعة بصورة جذابة، مع تأكيد +حرية التعديل وإعادة النشر للجميع). مصدر دخل آخر كان التوزيعات الفاخرة (وهي +النسخ التي نقوم بتجميعها خصيصاً لتلائم بيئة الزبون الحاسوبية). اليوم، ﻻ زالت +مؤسسة البرمجيات الحرة <a href="http://shop.fsf.org/">تقوم ببيع الكتيبات وبعض +المعدات اﻷخرى</a>، إﻻ أن أغلبية التمويل صارت تأتي من اشتراكات اﻷعضاء. يمكنك +أن تنضم للمؤسسة <a href="http://fsf.org/join">بالاشتراك عبر هذا الرابط</a>.</p> + +<p>موظفو مؤسسة البرمجيات الحرة قاموا بكتابة وتطوير مجموعة من حزم البرامج الخاصة +بجنو، والتي نذكر منها مكتبة لغة سي (C) ومُنفِّذ اﻷوامر. إن مكتبة سي الخاصة +بجنو هي الحزمة البرمجية التي تستخدمها كل البرامج التي تعمل على أنظمة +جنو/لينكس حينما تتواصل مع نواة النظام (لينكس). هذه المكتبة قام بتطويرها أحد +موظفي مؤسسة البرمجيات الحرة، وهو السيد رولاند ماكجراث. أما منفذ اﻷوامر +المستخدم على أغلبية أنظمة جنو/لينكس فهو باش (<abbr title="Bourne Again +Shell">BASH</abbr>)، وهو اختصار للجملة اﻹنجليزية (النسخة الجديدة من منفذ +أوامر بورن) (1). منفذ أوامر باش قام بتطويره موظف المؤسسة برايان فوكس.</p> + +<p>لقد قمنا بتمويل تطوير هذه البرامج ببساطة ﻷن مشروع جنو لم يكن يتمحور حول +اﻷدوات أو بيئة التطوير فقط، وإنما كان هدفنا تطوير نظام تشغيل متكامل، وهذه +البرامج كانت خطوة أساسية في الوصول لهذا الهدف.</p> + +<p>(1) اسم “النسخة الجديدة من منفذ أوامر بورن” هو لعب على اﻹسم +اﻷصلي، “منفذ أوامر بورن”، حيث كان منفذ اﻷوامر المعتمد على أنظمة +يونكس القديمة.</p> + +<h3>كيف ندعم البرمجيات الحرة</h3> + +<p>إن فلسفة البرمجيات الحرة ترفض التجارة بالبرمجيات على نطاق واسع، ولكنها في +نفس الوقت ﻻ ترفض فكرة التجارة بصورة عامة. حينما يقوم أصحاب اﻷعمال باحترام +حرية المستخدمين، حينها نتمنى لهم النجاح وﻻ شئ غيره.</p> + +<p>حينما قمنا ببيع نسخ من برنامج إيماكس، كان هذا نوعاً من أنواع التجارة +المعتمدة على البرمجيات الحرة. ولكن حينما تولت مؤسسة البرمجيات الحرة هذه +التجارة، كان علي أن أجد طريقةً أخرى لكسب لقمة العيش، وقد وجدت الحل في بيع +الخدمات المتعلقة بالبرمجيات الحرة التي قمت بتطويرها. هذه الخدمات كانت تشمل +التعليم والتثقيف في مواضيع مختلفة، ككيف تقوم ببرمجة جنو إيماكس، وكيف تقوم +بتخصيص مُجمّع جنو (GCC)، وكيف تقوم بتطوير برمجياتك الخاصة، وكيف تقوم بترقية +مُجمّع جنو ليعمل على أنظمة تشغيل أخرى.</p> + +<p>اليوم تقوم العديد من المؤسسات بممارسة أنواع مختلفة من تجارة البرمجيات الحرة +المذكورة سابقاً. بعضها تقوم بتوزيع مجموعات من البرمجيات الحرة على أقراص +مضغوطة. بينما يقوم البعض اﻵخر ببيع خدمات الدعم، والتي تتعدد مستوياتها من +اﻹجابة على أسئلة المستخدمين، ﻹصلاح أخطاء البرمجيات، ﻹضافة ميزات وخصائص جديدة +للبرامج. في الحقيقة، لقد تطور اﻷمر حتى صرنا نرى شركات برمجيات كاملة يتم +إنشاؤها لتقوم ببيع برمجياتها الحرة.</p> + +<p>ولكن ينبغي أخذ الحيطة والحذر—فالعديد من الشركات التي يرتبط اسمها بلفظ +“المصادر المفتوحة (open source)” هي في الحقيقة شركات تعتمد في +عملها على برامج غير حرة، مختلطة ببرامج حرة. مثل هذه الشركات ﻻ تعتبر شركات +برامج حرة، وإنما هي شركات برامج احتكارية تستخدم منتجاتها لتغري المستخدمين +وتجذبهم بعيداً عن حريتهم. هذه البرامج يطلق عليها أحياناً: “حزم القيمة +المضافة”. هذا اللفظ يرينا القيم التي يريدون منا أن نتبناها، وهي +السهولة والملاءمة قبل الحرية. إذا كنا نقدر حريتنا أكثر من أي شئ آخر، عندها +سوف نطلق عليهم “حزم الحرية المفقودة”.</p> + +<h3>اﻷهداف التقنية للمشروع</h3> + +<p>إن الهدف اﻷساسي من وراء مشروع جنو هو تطوير البرمجيات الحرة. حتى إن كان جنو +يفتقر لميزات تقنية تجعله أفضل من يونكس، فإن جنو سيظل صاحب اﻷفضلية اﻻجتماعية؛ +ﻷنه يسمح للمستخدمين بالتعاون، كما أن له اﻷفضلية اﻷخلاقية، ﻷنه يحترم حرية +المستخدم.</p> + +<p>رغم ذلك، كان من الطبيعي أن نقوم بتطبيق معايير الممارسة الجيدة على +عملنا—على سبيل المثال، تخصيص هياكل البيانات في الذاكرة بصورة ديناميكية +وحسب الحوجة، مما ينتج عنه تلافي مشكلة اﻷحجام الثابتة والتي قد ﻻ تكون معروفة +مسبقاً. مثال آخر يكمن في استخدام جميع أنواع الشفرات ذات 8 بت في الحالات التي +كان فيها هذا اﻻستخدام منطقياً.</p> + +<p>باﻹضافة لذلك فقد رفضنا طريقة يونكس في التركيز على اﻻستخدام المنخفض للذاكرة، +وذلك حينما قررنا عدم دعم اﻷجهزة التي تتكون بنيتها من 16 بت (كان من الواضح +بالنسبة إلينا أن اﻷجهزة ذات البنية المكونة من 32 بت سوف تصبح شيئاً عادياً +حينما ننتهي من تطوير نظام جنو)، كما قررنا عدم بذل مجهود في تخفيض استخدام +الذاكرة إﻻ حينما يتجاوز 1 ميجابايت. بالنسبة للبرامج التي لم تكن تحتاج +للتعامل مع ملفات بيانات كبيرة، كنا نشجع المبرمجين لكي يقوموا بكتابة برامجهم +بحيث تقوم بقراءة الملف المدخل كاملاً إلى ذاكرة الحاسوب، من ثم يقوم البرامج +بالعمل على محتويات الملف، من دون التفكير في عمليات اﻹدخال واﻹخراج (I/O).</p> + +<p>هذه القرارات كان لها بالغ اﻷثر في جعل الكثير من برامج جنو تتميز عن مثيلاتها +في نظام يونكس، فيما يتعلق بالسرعة ودقة اﻷداء.</p> + +<h3>أجهزة الحاسوب المتبرع بها</h3> + +<p>حينما بدأت سمعة مشروع جنو بالتزايد، صار الناس يتبرعون بأجهزة حواسيب تعمل على +نظام يونكس لدعم المشروع. هذه اﻷجهزة كانت مفيدة للغاية، ﻷن أسهل طريقة لتطوير +نظام جنو كانت بالعمل على نظام يونكس، حيث كنا نقوم باستبدال مكونات النظام +واحداً تلو اﻵخر. ولكن هذه اﻷجهزة جلبت معها سؤالاً أخلاقياً مهماً: هل يجوز +لنا بدايةً أن نمتلك نسخة من نظام يونكس؟</p> + +<p>إن نظام يونكس كان (وﻻ يزال) برنامجاً احتكارياً، وفلسفة مشروع جنو تقول بوضوح +أننا يجب أﻻ نستخدم أي برنامج احتكاري مهما كان. ولكن حينما نقوم بتطبيق المنطق +الذي يقودك ﻷن استخدام العنف في حالات الدفاع عن النفس هو حق مشروع، حينها ستصل +للنتيجة التي وصلت إليها أنا من قبل، وهي أنه من المشروع لك أن تستخدم حزمة +احتكارية حينما يكون هذا أمراً حاسماً سيساعدك في تطوير بديل حر لهذه الحزمة، +مما سيساعد الآخرين ليتوقفوا عن استخدام الحزمة اﻻحتكارية ويقوموا باستخدام +البديل الحر.</p> + +<p>ولكن حتى لو وجدنا منطقاً من وراء الشر، فإنه ﻻ يزال شراً. اﻵن ليس لدينا أي +نسخة من نظام يونكس القديم، ﻷننا قمنا باستبدالها جميعاً بأنظمة تشغيل +حرة. حينما عجزنا عن استبدال نظام تشغيل جهازٍ ما بآخر حر، قمنا باستبدال +الجهاز نفسه.</p> + +<h3>قائمة مهام مشروع جنو</h3> + +<p>بمرور الزمن، تطور مشروع جنو، وزاد عدد البرامج التي قمنا بتطويرها وإضافتها +للنظام. في النهاية وجدنا أنه من المفيد لنا أن نضع قائمة باﻷجزاء الناقصة +لتساعدنا في عملنا. هذه القائمة كانت مفيدة حينما احتجنا لتجنيد مبرمجين +ليقوموا بتطوير اﻷجزاء الناقصة من النظام. بمرور الزمن، أصبحت هذه القائمة تعرف +بقائمة مهام مشروع جنو. كانت القائمة تحوي، باﻹضافة ﻷجزاء يونكس المفقودة في +جنو، برامجاً ووثائقاً أخرى أحسسنا أنها جزء أساسي ﻷي نظام يريد أن يكون نظاماً +متكاملاً.</p> + +<p>اليوم (1) زالت أغلب أجزاء يونكس المفقودة من قائمة مهام جنو—جميع هذه +اﻷجزاء تمت إضافتها لجنو، باستثناء القليل جداً من البرامج الثانوية. ﻻ زالت +القائمة مليئة بالمشاريع التي يطلق عليها البعض “تطبيقات”. إن أي +برنامج يجتذب أكثر من مجموعة صغيرة من المستخدمين يعتبر إضافة مفيدة لنظام +التشغيل.</p> + +<p>إن قائمة المهام تحتوي حتى على ألعاب—وقد كانت كذلك منذ البداية. بما أن +يونكس كان يحتوي على ألعاب، فمن الطبيعي كان أن يحتوي جنو على ألعاب أيضاً. لم +يكن عدم التوافق بين النظامين يشكل مشكلة، ولذلك لم نهتم بقائمة اﻷلعاب التي +احتوى عليها يونكس. بدلاً عن ذلك، قمنا بإدراج مجموعة من اﻷلعاب المختلفة التي +اعتقدنا أن المستخدمين سوف يحبونها.</p> + +<p>(1) كان هذا في العام 1998م. في العام 2009م لم تعد لدينا قائمة مهام طويلة كما +في السابق. إن المجتمع البرمجي في عالم اليوم يقوم بتطوير البرمجيات الحرة +بسرعة أكبر مما يمكننا أن نقوم بمتابعتها وتسجيلها. ولذلك، عوضاً عن تلك +القائمة، أصبح لدينا اليوم قائمة قصيرة بالمشاريع ذات اﻷولوية القصوى، باﻹضافة +لقائمة أقصر منها تحتوي على المشاريع التي نرغب بتشجيع المبرمجين ليقوموا +بتطويرها.</p> + +<h3>رخصة مكتبة جنو العامة (GNU Library GPL)</h3> + +<p>إن مكتبة لغة سي (C) التابعة لمشروع جنو تستخدم نوعاً خاصاً من رخص الحقوق +المتروكة، نطلق عليها اسم رخصة مكتبة جنو العامة (1)، والتي تسمح بربط البرامج +اﻻحتكارية بالمكتبة. لماذا قمنا بهذا اﻻستثناء؟</p> + +<p>المسألة ليست مسألة مبدأ؛ إذ أنه لا وجود للمبدأ الذي يقول أن البرمجيات +اﻻحتكارية تمتلك الحق في استخدام شفرتنا البرمجية. (لماذا نقوم بالمشاركة في +مشروع نعلم سلفاً أنه سيرفض التعاون والمشاركة معنا؟) إن استخدام الرخصة الخاصة +لمكتبة لغة سي هي حركة استراتيجية بحتة.</p> + +<p>إن وظيفة مكتبة لغة سي تعتبر وظيفة عامة؛ ﻷن أي نظام احتكاري أو مُجمّع شفرة +يحتاج لوجود مكتبة لغة سي. ولذلك فنحن إن كنا سنجعل مكتبة لغة سي متوفرة حصراً +على البرمجيات الحرة، فإن هذه الخطوة لم تكن لتعطي البرمجيات الحرة أي +أفضلية—على العكس تماماً، كانت هذه الخطوة ستثبط من يرغبون باستخدام +مكتبتنا.</p> + +<p>هناك نظام واحد يشكل استثناءاً للقاعدة، وهو نظام جنو (بما يشمل جنو/لينكس)، +حيث أن مكتبة لغة سي الخاصة بجنو هي مكتبة لغة سي الوحيدة على هذا +النظام. بالتالي فإن شروط التوزيع الخاصة بمكتبة لغة سي ستحدد ما إذا كان من +الممكن تجميع برنامج احتكاري بحيث يصبح باﻹمكان أن يعمل على نظام جنو. على +الرغم من عدم وجود سبب أخلاقي يجعلنا نسمح بالبرمجيات الاحتكارية على نظام جنو، +إﻻ أنه يبدو، من ناحية استراتيجية، أن منع هذه البرامج من العمل على نظام جنو +سيكون له أثر سلبي، إذ أنه سيثبط المستخدمين من نظام جنو، بدلاً عن أن يشجع +المبرمجين لتطوير البرامج الحرة. لهذه اﻷسباب فإن استخدام رخصة مكتبة جنو +العامة هي خطوة استراتيجية فيما يخص مكتبة لغة سي.</p> + +<p>بالنسبة لمكتبات اللغات اﻷخرى، فإن القرار اﻻستراتيجي يجب أن يتم اتخاذه لكل +حالة على حدة. حينما تقوم المكتبة المعنية بأداء وظيفة خاصة تجعلها مفيدة +لكتابة البرمجيات، حينها يكون ترخيصها باستخدام رخصة جنو العامة (GPL) مهماً، +حيث أن هذا سيحصر استخدام المكتبة المعنية على البرمجيات الحرة فقط، مما سيساعد +مطوري البرمجيات الحرة ويعطيهم أفضلية ضد مطوري البرمجيات اﻻحتكارية.</p> + +<p>على سبيل المثال، فإن مكتبة ريدلاين (GNU Readline)، والتي تم تطويرها لتوفر +خدمات تحرير سطور اﻷوامر في منفذ أوامر باش (BASH)، هذه المكتبة مرخصة باستخدام +رخصة جنو العامة العادية (GNU GPL)، وليس باستخدام رخصة المكتبة (Library +GPL). هذا اﻷمر على اﻷرجح سيؤثر سلباً على عدد البرامج التي تستخدم ريدلاين، إﻻ +أن هذا ﻻ يعتبر خسارة بالنسبة إلينا. في نفس الوقت، هناك برامج مفيد واحد على +اﻷقل تم تطويره كبرمجية حرة تستخدم مكتبة ريدلاين، وهذا نجاح حقيقي بالنسبة +لمجتمع البرمجيات الحرة.</p> + +<p>مبرمجو البرمجيات اﻻحتكارية لديهم أفضلية المال، أما مبرمجو البرمجيات الحرة +فعليهم أن يصنعوا أفضلياتهم لبعضهم البعض. أتمنى في يوم من اﻷيام أن يكون لدينا +مجموعة ضخمة من المكتبات البرمجية المرخصة برخصة جنو العامة، والتي ليس لديها +مثيل في عالم البرمجيات اﻻحتكارية. مثل هذه المكتبات ستوفر وحدات البناء +اﻷساسية التي ستساعد في تطوير البرمجيات الحرة، ومع الوقت ستتراكم اﻷفضلية بحيث +يمكن تطوير برامج حرة أكثر وأكثر.</p> + +<p>(1) هذه الرخصة تعرف الآن برخصة جنو العامة المصغرة، حتى ﻻ نعطي اﻻنطباع بأن +جميع المكتبات البرمجية يجب أن تستخدم هذه الرخصة. للمزيد من التفاصيل، يمكنك +اﻻصطلاع على مقالة <a href="/philosophy/why-not-lgpl.html">لماذا يجب أﻻ +تستخدم رخصة جنو العامة المصغرة لترخيص مكتبتك القادمة</a>.</p> + +<h3>كيف يمكن تلبية المتطلبات (أو خدش الحكة)؟</h3> +<p> +إريك رايموند قال “إن أي عمل برمجي جيد يبدأ من خدش المبرمج لحكته +الخاصة.” ربما كان هذا ما يحدث في بعض اﻷحيان، ولكن الحقيقة أن العديد من +أجزاء جنو اﻷساسية تم تطويرها حتى نتمكن من الحصول على نظام تشغيل حر، أي أن +البرامج جاءت نتيجة رؤية وخطة استراتيجية، ﻻ نتيجة اندفاع لحظي.</p> +<p> +فمثلاً، حينما قمنا بتطوير مكتبة لغة سي الخاصة بجنو، كان هذا ﻷن أي نظام مشابه +ليونكس يحتاج لوجود مكتبة سي. حينما طورنا منفذ أوامر باش (BASH)، كان هذا ﻷن +أي نظام مشابه ليونكس يحتاج لوجود منفذ أوامر، وحينما قمنا بتطوير برنامج +اﻷرشفة تار (GNU tar)، كان هذا ﻷن أي نظام مشابه ليونكس يجب أن يحتوي على +برنامج أرشفة. نفس هذا اﻷمر ينطبق على البرامج التي قمت بتطويرها +شخصياً—مُجمّع لغة سي (GNU C compiler)، وبرنامج إيماكس (GNU Emacs)، +ومُصحّح الشفرة (GDB)، وبرنامج اﻹنشاء (GNU Make).</p> +<p> +بعض برامج جنو تم تطويرها لتتجاوب مع بعض التهديدات التي كانت تواجه +حرياتنا. فمثلاً قمنا بتطوير برنامج ضغط الملفات (gzip) ليحل محل برنامج الضغط +الخاص بيونكس (Compress)، والذي اكتسبه المجتمع بسبب مشكلة براءة اختراع +خوارزمية لمبيل-زيف-ويلش (<abbr title="Lempel-Ziv-Welch">LZW</abbr> ). شاهدنا +المجتمع البرمجي وهو يقوم بتطوير بيئة برمجة لستيف الرسومية (LessTif)، كما +شاهدنا تطور بيئة سطح المكتب جنوم (<abbr title="GNU Network Object Model +Environment">GNOME</abbr>)، ومشروع هارموني (Harmony)، والتي نتجت جميعها من +الرغبة في حل المشاكل التي تسببها مكتبات برمجية احتكارية معينة (انظر +أدناه). نحن اﻵن نقوم بتطوير برنامج جنو لحماية الخصوصية (GNU Privacy Guard) +لكي يحل محل نظيره من برامج التشفير اﻻحتكارية؛ ﻹيماننا بأن المستخدمين ﻻ يجب +أن يتم تخييرهم بين خصوصيتهم وحريتهم.</p> +<p> +بالطبع، فإن المبرمجين المسئولين عن كتابة هذه البرامج أصبحوا مهتمين بالعمل، +ومن ثم تمت إضافة الكثير من الخصائص من قبل أشخاص آخرين، لخدمة أغراضهم +واهتماماتهم. إﻻ أن هذا ليس السبب الذي كُتِبَت هذه البرامج من أجله في المقام +اﻷول.</p> + +<h3>تطورات غير متوقعة</h3> +<p> +في بداية إطلاق مشروع جنو، كنت أتخيل أننا سنقوم بتطوير نظام جنو في كليته، ومن +ثم سنقوم بإطلاق النظام متكاملاً للمستخدمين، إﻻ أن اﻷمر لم يتم على هذا النسق.</p> +<p> +بما أن جميع مكونات نظام جنو تم تطويرها على نظام يونكس، فإن جميع هذه المكونات +كانت تعمل على أنظمة تشغيل يونكس قبل أن يكتمل نظام جنو بفترة طويلة. بعض هذه +البرامج أصبح مشهوراً، وبدأ المستخدمون في توسيع البرامج وترقيتها لتعمل على +أنظمة تشغيل أخرى—مثل أنظمة يونكس المختلفة والتي لم تكن تتوافق مع +بعضها، باﻹضافة لبعض أنظمة التشغيل اﻷخرى.</p> +<p> +هذه العملية جعلت بعض البرامج أقوى مما كانت، كما أنها اجتذبت التمويل +والمتطوعين لمشروع جنو. من الناحية اﻷخرى، فإن هذا قد أدى لتأخير اكتمال نظام +التشغيل في كليته، ﻷن مطوري جنو أصبحوا يقضون وقتهم في صيانة نسخ البرامج +المختلفة، وإضافة ميزات جديدة لهذه البرامج، عوضاً عن اﻻهتمام بكتابة اﻷجزاء +الناقصة من النظام.</p> + +<h3>نواة هيرد (The GNU Hurd)</h3> +<p> +بحلول عام 1990م، كان نظام جنو قد شارف على اﻻكتمال، باستثناء الجزء المفقود، +والذي كان نواة النظام. كنا قد قررنا تطوير نواة النظام الخاصة بنا كمجموعة من +العمليات الخدمية (server processes) التي تعمل على رأس نواة ماك (Mach). نواة +ماك المصغرة (microkernel) هي نواة نظام تم تطويرها في جامعة كارنيجي ميلون +(Carnegie Mellon University) بدايةً، من ثم في جامعة يوتاه (University of +Utah). نواة هيرد هي مجموعة من المخدّمات (ومن ثم جاء اﻻسم، أي أن هيرد معناها +باﻻنجليزية القطيع) والتي ستعمل على رأس نواة ماك، حيث ستقوم بعمل كافة الوظائف +التي تقوم بها نواة نظام يونكس. تأخر تطوير نواة هيرد ﻷننا كنا ننتظر إطلاق +نواة ماك كبرمجية حرة، وذلك الشئ الذي كنا قد وُعدنا به.</p> +<p> +من أسباب اختيارنا لهذا التصميم هو محاولة تلافي الجزء اﻷصعب من المهمة: وهو +محاولة تصحيح أخطاء نواة النظام، بدون أن يكون لدينا مُصحِّح قادر على التصحيح +على مستوى شفرة المصدر. هذه المهمة كانت قد اكتملت بالفعل في نواة ماك، وعليه +فقد كنا نتوقع أننا سنقوم بتصحيح أخطاء نواة هيرد باعتبارها برامج مستخدم +عادية، وذلك باستخدام مُصحّح شفرة جنو (GDB). من المؤسف أن اﻷمر استغرق وقتاً +طويلاً للغاية، كما أن المخدّمات متعددة الوظائف (multithreaded servers)، +والتي تتواصل مع بعضها البعض باستخدام الرسائل، اتضح أنها صعبة +التصحيح. النتيجة أن اﻷمر استغرق أعواماً طويلة لتصل نواة هيرد لمرحلة النضوج.</p> + +<h3>أليكس</h3> +<p> +لم يكن من المفترض بدايةً أن تُسمى نواة جنو باسم هيرد. اﻻسم اﻷصلي كان +أليكس—وهو اسم المرأة التي كانت حبيبتي في ذلك الوقت. كانت أليكس مديرة +نظام يونكس (system administrator)، وكانت قد أشارت من قبل ﻷن اسمها سيتوافق مع +نمط التسمية المتبع على أنظمة يونكس. وعلى سبيل المزاح، أخبرت أليكس صاحباتها +بأنه “ينبغي أن يقوم شخص ما بتسمية نواة نظام باسمي.” لم أعلق أنا +بشئ، ولكنني قررت أن أفاجئها بنواة نظام مسماة باسم أليكس.</p> +<p> +لم يستمر اﻷمر على هذه الطريقة، ﻷن مايكل بوشنيل (والذي يعرف اﻵن باسم توماس)، +وهو المطور الرئيسي للنواة، فضّل اسم هيرد، كما أنه أعاد تعريف أليكس لترمز إلى +جزء معين من النواة—وهو الجزء الذي يستقبل استدعاءات النظام (system +calls) ومن ثم يقوم بمعالجتها عبر إرسال الرسائل لمخدّمات هيرد.</p> +<p> +لاحقاً، انفصلت عن أليكس، وقامت هي بتغيير اسمها. من ناحية أخرى، كان تصميم +هيرد قد تغير بحيث صارت مكتبة لغة سي ترسل الرسائل مباشرة للمخدّمات، وهذا ما +جعل الجزء المسمى أليكس يتم إلغاؤه ويختفي من نواة النظام.</p> +<p> +ولكن قبل أن تحدث جميع هذه التغييرات، كان أحد أصدقائها قد رأى اسم أليكس حينما +كان يطالع شفرة المصدر الخاصة بنواة هيرد، ومن ثم ذكر اﻷمر لها. وهكذا تسنى لها +أن ترى نواة نظام مسماة باسمها.</p> + +<h3>لينكس وجنو/لينكس</h3> +<p> +ﻻ زالت نواة هيرد غير صالحة للاستخدام العملي، وﻻ نعلم إن كانت ستصل هذه +المرحلة على اﻹطلاق. إن التصميم القائم على القدرات به مشاكل ناتجة عن مرونة +التصميم نفسه، وﻻ يبدو أن هنالك حلولاً لهذه المشاكل في الوقت الحالي.</p> + +<p> +لحسن الحظ، هناك نواة نظام أخرى متوفرة. في العام 1991م قام لينوس تورفالدس +(Linus Torvalds) بتطوير نواة نظام متوافقة مع يونكس، وأطلق عليها اسم لينكس +(Linux). في البداية كانت النواة احتكارية، ولكن في العام 1992م قام لينوس +بترخيصها كبرمجية حرة. عملية دمج نواة لينكس مع نظام جنو غير المكتمل نتج عنها +نظام تشغيل حر متكامل. (عملية الدمج نفسها كانت عملية كبيرة بطبيعة الحال). إن +الفضل يعود لنواة لينكس لتمكننا من استخدام نسخة متكاملة من نظام جنو اليوم.</p> +<p> +هذه النسخة نسميها <a href="/gnu/linux-and-gnu.html">جنو/لينكس +(GNU/Linux)</a>، وذلك لكي نوضح أن النسخة عبارة عن مزيج يتكون من نظام جنو، +باستخدام لينكس كنواة النظام. أرجو من القارئ أﻻ يقع في الخطأ الشائع ويقوم +بتسمية النظام “لينكس”؛ ﻷن هذا يعني نسب عملنا لشخص آخر. أرجو من +الجميع أن <a href="/gnu/gnu-linux-faq.html">ينسبوا إلينا فضل أعمالنا</a>.</p> + +<h3>التحديات القادمة</h3> +<p> +لقد برهنّا على مقدرتنا على تطوير مجموعة مختلفة من البرمجيات الحرة، ولكن هذا +ﻻ يعني أننا ﻻ نقهر أو أننا يصعب إيقافنا. هنالك العديد من التحديات التي تجعل +مستقبل البرمجيات الحرة غير واضح المعالم، مواجهة هذه التحديات ستحتاج منا لبذل +مجهود متواصل ولتطوير قدرة على التحمل قد تمتد لسنوات متواصلة. ستحتاج منا +تصميماً من النوع الذي يظهر حينما يقدر الناس حريتهم ويصروا على أﻻ يسمحوا +لكائن من كان بأن يجردهم منها.</p> +<p> +اﻷجزاء اﻷربعة القادمة ستناقش هذه التحديات بالتفصيل.</p> + +<h3>مواصفات العتاد السرية</h3> +<p> +مصنعو العتاد يميلون بكثرة ﻷن يحافظوا على سرية مواصفات عتادهم، هذا اﻷمر يجعل +من الصعب كتابة محركات حرة تتيح لنواة لينكس ولنظام عرض إكس (XFree86) أن تدعم +العتاد الجديد. لدينا أنظمة حرة بكاملها اليوم، ولكننا سنفقدها غداً إن لم +نتمكن من دعم حواسيب الغد.</p> +<p> +هناك طريقتان للتعامل مع هذه المشكلة. يمكن للمبرمجين أن يقوموا بعملية الهندسة +العكسية حتى يتمكنوا من معرفة كيف يمكننا دعم العتاد المعني. بقيتنا يمكن أن +يختاروا استخدام العتاد المدعوم بالبرمجيات الحرة. طالما أن أعدادنا مستمرة في +التزايد فإن سرية المواصفات سينتهي بها اﻷمر أن تصبح سياسة دحر ذاتي.</p> +<p> +ولكن الهندسة العكسية مهمة صعبة. هل سيكون لدينا مبرمجون لهم قدرة وعزم +ليتمكنوا من إكمال المهمة؟ بالتأكيد—فقط إذا تمكنا من بناء شعور قوي بأن +حرية البرمجيات هي مسألة مبدأ، وأن المحركات اﻻحتكارية هي أمر غير مقبول على +اﻹطلاق. إذاً هل سيقوم أغلبنا ببذل المال، أو القليل من الزمن، حتى نتمكن +جميعاً من استخدام المحركات الحرة؟ بالتأكيد، إذا كان اﻹصرار على نيل الحرية +شعوراً عاماً.</p> +<p> +(ملحوظة في عام 2008م: هذه المشكلة تمتد حتى نظام اﻹدخال واﻹخراج اﻷساسي +(BIOS). هناك نسخة حرة من النظام اﻷساسي على <a +href="http://www.libreboot.org/">موقع ليبري بوت (LibreBoot)</a> (إصدارة من +كوربوت coreboot). المشكلة تكمن في كيفية الحصول على مواصفات اﻷجهزة حتى يتمكن +أعضاء فريق ليبري بوت من دعمها بدون استخدام البرامج الثنائية +“(blobs)” غير الحرة).</p> + +<h3>المكتبات البرمجية غير الحرة</h3> +<p> +المكتبات البرمجية غير الحرة والتي تُستخدم على أنظمة التشغيل الحرة تعمل كشرك +ﻻصطياد مطوري البرمجيات الحرة. في هذه الحالة، تعمل خصائص المكتبة الجذابة +كطعم، بحيث أنك إذا قمت باستعمال المكتبة، عندها تكون وقعت في الشرك، ﻷن +برنامجك عندها لن يصبح جزءاً من أنظمة التشغيل الحرة. (بصورة أدق، يمكننا أن +ندرج برنامجك في النظام، ولكن البرنامج لن يتمكن <em>من العمل</em> في غياب +المكتبة المعنية). اﻷسوأ من هذا حينما يصبح البرنامج الذي يستخدم المكتبة +اﻻحتكارية مشهوراً، حينها سيقوم هذا البرنامج بإغراء المبرمجين اﻵخرين ليقعوا +في نفس الشرك.</p> +<p> +أول مثال لهذه المشكلة كان في الثمانينيات، مع مجموعة أدوات موتيف (Motif). رغم +أنه لم يكن هناك أنظمة تشغيل حرة في ذلك الوقت، إﻻ أنه كان من الواضح حجم +المشكلة التي ستسببها موتيف للأنظمة الحرة فيما بعد. كان رد مشروع جنو على +مستويين: بالطلب من مشاريع البرمجيات الحرة المنفردة أن تدعم مجموعة أدوات إكس +الحرة (X Toolkit) باﻹضافة لدعمها لموتيف؛ وبالطلب من بعضهم أن يقوموا بتطوير +بديل حر لموتيف. هذه المهمة استغرقت العديد من السنوات، إﻻ أن ليسموتيف +(LessTif)، المطور من قبل مجموعة المبرمجين التواقين (Hungry Programmers) صار +من القوة بحيث أصبح يدعم أغلبية تطبيقات موتيف بحلول عام 1997م.</p> +<p> +بين عامي 1996م و1998م ظهرت مجموعة أدوات غير حرة أخرى، تُعنَى ببرمجة الواجهات +الرسومية (<abbr title="Graphical User Interface">GUI</abbr>). هذه المجموعة +سميت كيوت (Qt) وأصبحت تستخدم في مجموعة مقدرة من البرمجيات الحرة، بما فيها +بيئة سطح المكتب "كيه" (<abbr title="K Desktop Environment">KDE</abbr>).</p> +<p> +لم يكن باﻹمكان استخدام بيئة كيه (KDE) على أنظمة جنو/لينكس الحرة؛ وذلك ﻷننا +لم نكن نستطيع استخدام مكتبة كيوت. إﻻ أن بعض إصدارات جنو/لينكس، والتي لم تكن +تمانع استخدام البرمجيات غير الحرة، قامت بإضافة بيئة كيه إلى تلك +اﻷنظمة—مما نتج عنه أنظمة ذات قدرات أعلى، ولكنها ذات حرية أقل. مجموعة +بيئة كيه كانت تشجع المبرمجين بقوة لكي يستخدموا مكتبة كيوت، مما نتج عنه أن +الملايين من “مستخدمي لينكس” الحديثين لم يكن لديهم أدنى فكرة بحجم +وطبيعة المشكلة. كان الوضع يبدو سيئاً للغاية.</p> +<p> +استجاب مجتمع البرمجيات الحرة لهذه المشكلة بطريقتين: بيئة سطح مكتب جنوم +(GNOME)، ومشروع هارموني (Harmony).</p> +<p> +مشروع جنوم (وهو اختصار لعبارة بيئة نموذج الكائن الشبكي، أو GNU Network +Object Model Environment) هو مشروع بيئة سطح المكتب الخاص بجنو. في عام 1997م +بدأ ميجيل دي إيكازا هذا المشروع بدعم من شركة ريدهات (Red Hat)، وكان الغرض +توفير إمكانيات مشابهة لسطح المكتب، ولكن باستخدام برمجيات حرة حصرياً. هناك +بعض الميزات التقنية أيضاً، مثل أن جنوم يدعم مجموعة مختلفة من لغات البرمجة، +وأنه ليس محصوراً على لغة سي++. ولكن الغرض اﻷساسي من المشروع كان الحرية: أﻻ +يضطر أحد ﻻستخدام أي برمجيات غير حرة.</p> +<p> +مشروع هارموني هو عبارة عن مكتبة توافقية بديلة، تم تصميمها لتجعل باﻹمكان +تشغيل برامج بيئة كيه بدون الحوجة ﻻستخدام مكتبة كيوت.</p> +<p> +في عام 1998م أعلن مطورو مكتبة كيوت عن إجراء تغيير في رخصتهم، والذي كان من +شأنه أن يجعل من كيوت برمجية حرة. على الرغم من أنه من الصعب معرفة الحقيقة، إﻻ +أنني أعتقد أن هذه الخطوة كان سببها (على اﻷقل جزئياً) موقف المجتمع الصارم +إزاء المشكلة التي سببتها مكتبة كيوت حينما كانت غير حرة. (ﻻ زالت الرخصة +الجديدة غير مريحة وغير منصفة، وعليه ﻻ زال من اﻷفضل تفادي استخدام كيوت).</p> +<p> +[ملحوظة لاحقة: في سبتمبر 2000م، تحول ترخيص كيوت إلى رخصة جنو العامة، مما نتج +عنه حل هذه المشكلة جذرياً].</p> +<p> +السؤال اﻵن: كيف سنستجيب للمكتبة البرمجية غير الحرة التي ستأتي تالياً؟ هل +سيتفهم المجتمع بكليته أهمية البقاء بعيداً عن هذا الشرك؟ أم أن بعضنا سيقرر +التنازل عن حريتهم من أجل الراحة وسهولة اﻻستخدام، مما سينتج عنه مشكلة كبيرة +بكل تأكيد؟ إن مستقبلنا يعتمد تماماً على فلسفتنا.</p> + +<h3>براءات اختراع البرمجيات</h3> +<p> +إن أكبر تهديد نواجهه يأتي من قبل براءات اختراع البرمجيات، والتي من شأنها أن +تجعل الخوارزميات والميزات بعيدة عن متناول البرمجيات الحرة لمدة قد تصل إلى +عشرين عاماً. على سبيل المثال، فإن خوارزمية الضغط المعروفة باسم +لمبيل-زيف-ويلش (LZW) تم تسجيلها كبراءة اختراع في العام 1983م، وﻻ زلنا اليوم +عاجزين عن إصدار برامج حرة يمكنها إنتاج ملفات جيف (<abbr title="Graphics +Interchange Format">GIF</abbr>) مضغوطة بهذه الخوارزمية. [انتهت صلاحية براءة +اﻻختراع هذا في العام 2009م]. مثال آخر حدث في العام 1998م، حيث اضطررنا ﻹيقاف +توزيع برنامج ﻹنشاء ملفات إم بي 3 الصوتية (<abbr title="MPEG-1 Audio Layer +3">MP3</abbr>)، وذلك بسبب التهديد برفع قضية سرقة براءة اﻻختراع. [براءة +اﻻختراع هذه انتهت صلاحيتها في العام 2017م. يمكنك أن ترى طول الفترة التي +اضطررنا ﻻنتظارها حتى تنتهي صلاحية الوثائق]. +</p> +<p> +هناك طريقتان للتعامل مع براءات اﻻختراع: يمكننا البحث عن ما يثبت أن براءة +اﻻختراع باطلة، أو يمكننا أن نبحث عن طرق بديلة ﻹنجاز نفس المهمة. المشكلة أن +كلا هاتين الطريقتين تعملان في حالات معينة، وحينما تفشل الطريقتان، عندها يمكن +لبراءة اﻻختراع أن تجبر البرمجيات الحرة على أن تفقد بعض الميزات والخصائص التي +يحتاجها المستخدمون. بالطبع، حينما ننتظر لفترة طويلة فإن براءات اﻻختراع تنتهي +صلاحيتها (من المتوقع أن تنتهي صلاحية براءات اختراع إم بي 3 في 2018م)، ولكن +ما الذي سنفعله حتى يأتي تاريخ انتهاء الصلاحية؟</p> +<p> +هؤﻻء الذين يقدرون البرمجيات الحرة من أجل الحرية بيننا سوف يلتزمون باستخدام +البرمجيات الحرة في جميع اﻷحوال، وسنتمكن من أداء عملنا بدون الاضطرار ﻻستخدام +الميزات والخصائص المسجلة تحت براءات اﻻختراع. ولكن الذين يقدرون البرمجيات +الحرة ﻷنهم يتوقعون منها أن تكون أفضل من ناحية تقنية، هؤﻻء من سيصف البرمجيات +الحرة بالفشل حينما تعجز عن أداء وظيفةٍ ما بسبب براءات اﻻختراع. وعليه، فرغم +إيجابية الحديث عن الفوائد العملية لنموذج “البازار” في التطوير، +وقوة ودقة أداء بعض البرمجيات الحرة، إﻻ أننا يجب أﻻ نتوقف هنا. ﻻ بد من أن +نمضي قدماً ونتحدث عن الحرية والمبادئ.</p> + +<h3>الوثائق الحرة</h3> +<p> +إن أكبر نقص في نظام تشغيل جنو الحر ليس عجز البرامج—إنما هو قلة +الكتيبات الحرة الجيدة، والتي يمكننا أن نجعلها جزءاً من أنظمة تشغيلنا. عملية +التوثيق هي جزء ﻻ يتجزأ من أي حزمة برمجية، وحينما تعجز حزمة برمجية مهمة عن +توفير كتيب جيد وحر، فإن هذه تعتبر ثغرة كبيرة. للأسف نحن لدينا العديد من هذه +الثغرات حالياً.</p> +<p> +الوثائق الحرة، مثلها مثل البرمجيات الحرة، تُعنى بالحرية وليس بالمال. المعيار +اﻷساسي للوثائق الحرة هو تقريباً نفسه المستخدم للبرمجيات الحرة: ﻻ بد من إعطاء +جميع المستخدمين حريات معينة. ﻻ بد من السماح بإعادة التوزيع (بما يشمل البيع +التجاري)، عبر اﻻنترنت أو في صورة مطبوعة، لنضمن أن الكتيب سيترافق مع جميع نسخ +البرنامج في جميع اﻷحوال.</p> +<p> +السماح بإجراء التعديلات مهم أيضاً. كقاعدة عامة، أنا ﻻ أؤمن أنه من الضروري +إعطاء الجميع إذناً بتعديل كل أنواع الكتب والمقالات. على سبيل المثال، أنا ﻻ +أعتقد أنني أنا أو أنت مضطران ﻹعطاء اﻹذن بتعديل مقالات كهذه المقالة، ﻷنها +تعكس تصرفاتنا ورؤانا الشخصية.</p> +<p> +على الرغم من هذا، فإن هنالك سبباً يجعل حرية التعديل شيئاً أساسياً فيما يتعلق +بتوثيق البرمجيات الحرة. حينما يمارس الناس حقهم في تعديل البرنامج بحيث يقومون +بإضافة أو تعديل خصائصه ومميزاته، فإن الملتزمين أخلاقياً منهم سيقومون بتعديل +الكتيب أيضاً—بحيث يستطيعون توفير وثائق صحيحة ومفيدة تعكس تعديلاتهم +التي أجروها على البرنامج. الكتيبات غير الحرة، والتي ﻻ تسمح للمبرمجين بأن +يكونوا ملتزمين أخلاقياً ويقوموا بإكمال مهامهم حتى النهاية، هذه الكتيبات ﻻ +تفي باحتياجات مجتمعنا الحر.</p> +<p> +بصورة عامة، ليس هنالك مشكلة في وضع بعض القيود على الطريقة التي يتم بها إجراء +التعديلات على الوثائق الحرة. على سبيل المثال، اشتراط اﻹبقاء على حقوق الملكية +الخاصة بالمؤلف اﻷصلي، وشروط التوزيع، وقائمة المؤلفين، كل هذه اﻷشياء مقبولة +وﻻ غبار عليها. بالمثل، ليس هناك مشكلة في إلزام النسخ المعدلة بأن تعلم +المستخدم بأنها نسخ معدلة من اﻷصل، كما يمكن اشتراط عدم تعديل أو حذف أجزاء +كاملة من اﻷصل، طالما أن هذه اﻷجزاء ﻻ تتضمن مواضيعاً تقنية. هذه القيود ﻻ غبار +عليها؛ ﻷنها لن تشكل مشكلة بالنسبة للمبرمجين الملتزمين الذين يرغبون بتعديل +الكتيب المعني ليلائم البرنامج المعدل. بعبارة أخرى، مثل هذه القيود ﻻ تمنع +مجتمع البرمجيات الحرة من اﻻستفادة الكاملة من الكتيب.</p> +<p> +على الرغم من ذلك، فلا بد من التأكد أنه باﻹمكان تعديل المحتوى <em>التقني</em> +للكتيب، ومن ثم توزيع الكتيب الجديد عبر الوسائط المعتادة، باستخدام القنوات +المألوفة. من دون هذه اﻹمكانية، تصبح هذه القيود عائقاً أمام المجتمع، ويصبح +الكتيب غير حراً، وعندها سنحتاج لكتيب آخر.</p> +<p> +هل سيكون مبرمجو البرمجيات الحرة بالوعي والتصميم الكافي ﻹنتاج طيف متكامل من +الكتيبات الحرة؟ للمرة الثانية، يبدو أن مستقبلنا يعتمد على فلسفتنا.</p> + +<h3>يجب أن نتحدث عن الحرية</h3> +<p> +اﻷرقام التقديرية تخبرنا أن هناك عشرة ملايين مستخدم ﻷجهزة جنو/لينكس اليوم، +بما يشمل ديبيان (Debian) جنو/ليكنس و ريدهات (Red Hat) +“لينكس”. البرمجيات الحرة قد وصلت مرحلة من التميز العملي بحيث صار +المستخدمون يهرعون إليها ﻷسباب عملية بحتة.</p> +<p> +النتائج اﻹيجابية لهذا اﻷمر واضحة، مثل اﻻهتمام المتزايد بتطوير البرمجيات +الحرة، وازدياد أعداد زبائن شركات البرمجيات الحرة، وزيادة القدرة على إقناع +الشركات بتطوير برمجياتهم الحرة بشكل تجاري، عوضاً عن تطوير برمجياتهم بصورة +احتكارية.</p> +<p> +ولكن اﻻهتمام بالبرمجيات يتنامى بصورة أسرع من الوعي بالفلسفة التي تكمن وراءه، +وهذا قد يقودنا لمشاكل جمة. قدرتنا على مواجهة التحديات والمخاطر المذكورة +أعلاه تعتمد على إرادتنا للوقوف يداً واحدة من أجل الحرية. لكي نتأكد من أن +مجتمعنا يمتلك هذه اﻹرادة، يجب علينا أن ننشر الفكرة في وسط المستخدمين الجدد +حال انضمامهم للمجتمع الحر.</p> +<p> +ولكننا للأسف نفشل في فعل هذا اﻷمر: المجهودات المبذولة لجذب المستخدمين الجدد +وضمهم لمجتمعنا تفوق وتتجاوز المجهودات المبذولة لتعليمهم المبادئ اﻷولية +لمجتمعنا. يتوجب علينا أن نقوم بالمجهودين معاً، كما يتوجب علينا أن نحافظ على +التوازن بينهما.</p> + +<h3>“المصادر المفتوحة”</h3> +<p> +محاولة تعليم المستخدمين الجدد مبادئ الحرية أصبحت أكثر صعوبة في العام 1998م، +حينما قرر جزء من مجتمع البرمجيات الحرة أن يتوقفوا عن استخدام تعبير +“البرمجيات الحرة”، واستخدموا تعبير “البرمجيات مفتوحة +المصدر” عوضاً عنه.</p> +<p> +بعض الذين فضلوا استخدام التعبير الجديد حاولوا أن يتفادوا أي ارتباك قد ينجم +من استخدام لفظة “حرة” عبر استبدالها بلفظة +“مجانية”—وهو هدف مشروع. ولكن البعض اﻵخر حاولوا أن يضعوا +روح المبادئ التي ألهمت إنشاء حركة البرمجيات الحرة ومشروع جنو إلى الجانب، +وفضلوا أن يتقربوا إلى المدراء التنفيذيين والزبائن والذين يمتلك العديد منهم +أيديولوجيات فكرية تجعلهم يقدمون المكسب على الحرية والمجتمع والمبادئ. نتيجة +لذلك، فإن روح “المصادر المفتوحة” تكمن في تركيزها على إنتاج برامج +ذات جودة عالية وفعالة، ولكنها لا تلقي بالاً للحرية والمجتمع والمبادئ.</p> +<p> +إن مجلات “لينكس” تشكل مثالاً واضحاً على هذا—جميعها تمتلئ +بإعلانات البرامج اﻻحتكارية التي تعمل على أنظمة جنو/لينكس. حينما تظهر النسخة +القادمة من موتيف أو كيوت أو أي برنامج آخر مشابه، هل ستقوم هذه المجلات بتحذير +المبرمجين من استخدام هذه البرامج، أم أنها ستعرض إعلانات لها؟</p> +<p> +إن الدعم الناتج عن التجارة من شأنه أن يساعد مجتمع البرمجيات الحرة بعدة طرق، +وهذا اﻷمر يمكنه أن يكون مفيداً على عدة مستويات. ولكن اكتساب الدعم عبر تقليل +الحديث عن الحرية والمبادئ يمكنه أن يجعل اﻷمر كارثياً؛ ﻷنه يزيد الفجوة بين +الممارسة والتوعية بالحقوق التي تحدثنا عنها سابقاً.</p> +<p> +إن “البرمجيات الحرة” و“المصادر الحرة” تتحدثان، بصورة +عامة، عن نفس الفئة من البرمجيات، إﻻ أن أقوالهما تختلف عن البرمجيات +والمبادئ. إن مشروع جنو يستمر في استخدام تعبير “البرمجيات الحرة” +لتأكيد أن الحرية، وليس التكنولوجيا فحسب، أمر مهم وأساسي.</p> + +<h3>حاول!</h3> +<p> +حكمة يودا (“ليس هنالك ما يسمى ‘بالمحاولة’”) تبدو +جيدة، ولكنها ﻻ تصلح في حالتي. لقد قمت بتنفيذ معظم أعمالي وأنا قلق من قدرتي +على أداء المهمة، كما أنني لم أكن متأكداً من أن مجهوداتي ستنجح في الوصول +ﻷهدافها. ولكنني استمررت في المحاولة، ﻷنه لم يكن هناك شخص آخر يحول بين العدو +والمدينة. رغم أنني لم أكن متأكداً من النجاح، إﻻ أنني نجحت في الكثير من +مساعيّ.</p> +<p> +في أحيان أخرى، فشلت مجهوداتي، وسقطت بعض المدن التي كنت أقوم بحمايتها. ولكنني +كنت أجد مدينة أخرى مهددة من العدو، وكنت أجهز نفسي لمعركة أخرى للدفاع +عنها. مع مرور الوقت، تعلمت كيف أبحث عن التهديدات والمخاطر، وكيف أضع نفسي ما +بين العدو والمدينة، في نفس الوقت الذي أنادي فيه القراصنة المبرمجين اﻵخرين +ليأتوا ويشاركوني المهمة.</p> +<p> +اليوم، لم أعد المدافع الوحيد عن القضية. من المريح والمفرح أن أرى حشداً من +القراصنة المبرمجين يقومون بحفر الخنادق لتعزيز دفاعاتهم، مما يجعلني أدرك أن +هذه المدينة سوف تظل صامدة—اﻵن على اﻷقل. ولكن المخاطر تتزايد عاماً بعد +عام، واﻵن تقوم شركة مايكروسوفت (Microsoft) باستهداف مجتمعنا بصورة مباشرة. ﻻ +يمكننا أن نأخذ مستقبل الحرية على أنه شئ مضمون. ﻻ تتعامل معه على أنه شئ +مضمون! إذا كنت ترغب بالمحافظة على حريتك، ينبغي عليك أن تجهز نفسك للدفاع +عنها.</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>الرجاء ارسال اﻻستفسارات العامة حول مؤسسة البرمجيات الحرة ونظام جنو إلى +البريد اﻹلكتروني <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. هناك +<a href="/contact/">طرق أخرى للتواصل</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">Translations README</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 © 1998, 2001, 2002, 2005, 2006, 2007, 2008, 2010, 2014, 2015, +2017, 2018, 2020 ريتشارد ستالمان</p> + +<p>هذا المُصنَّف مرخص بموجب <a rel="license" +href="https://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.--> +<strong>ترجمة</strong>: محمد عصام<a +href="mailto:mohammed_isam1984@yahoo.com"><mohammed_isam1984@yahoo.com></a>, +2018. مراجعة: لبنى محمد.</div> + +<p class="unprintable"><!-- timestamp start --> +تم التحديث في: + +$Date: 2020/09/10 02:29:00 $ + +<!-- timestamp end --> +</p> +</div> +</div> +<!-- for class="inner", starts in the banner include --> +</body> +</html> |