أكس إيماكس (محرر نصوص)

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
أكس إيماكس
Xemacs-21.5.b29.png
لقطة من محرر أكس إيماكس
المطور مجتمع أكس إيماكس
نظام تشغيل متعدد المنصات
النوعية محرر نصوص
الترخيص رخصة جنو العمومية
موقع وب http://www.xemacs.org/

تعديل


أكس إيماكس هو محرر نصوص يعمل على واجهة المستخدم الرسومية بالإضافة إلى واجهة سطر الأوامر و يعمل أكس إيماكس على معظم أنظمة التشغيل الشبيهة بيونكس بالإضافة إلى أنظمة تشغيل ميكروسوفت ويندوز، و يعتبر أكس إيماكس أحد تفرعات نسخة جنو إيماكس في أواخر ثمانينيات القرن العشرين، و باستطاعة أي مستخدم القيام بتحميل و استخدام المحرر و تعديل شيفرته المصدرية لأنه يصنف ضمن البرمجيات الحرة و تحكمه نصوص رخصة جنو العمومية بالنسخة الثانية فأعلى.

تاريخه[عدل]

في الفترة ما بين عامي 1987 و 1993 حصلت الكثير من التأخيرات في عملية تطوير محرر النصوص جنو إيماكس و في نفس الفترة في أواخر ثمانينيات القرن العشرين تم الطلب من شركة لوسيد التي قام ريتشارد غابريل بتأسيسها بالقيام بتطوير إيماكس و إضافة دعمه إلى بيئة التطوير المتكاملة التي تدعم بدورها لغة سي++ و المسمى "إنرجايز سي++" و من هنا قامت شركة لوسيد بتوظيف فريق العمل الذي سيقوم بتطوير الشيفرة المصدرية لهذا المشروع و قد أخذ بعين الإعتبار أن النسخة التي سيقوم فريق العمل بانتاجها ستشكل نواة الإصدارة رقم 19 من محرر النصوص جنو إيماكس و قد تم إنهاء العمل في العام 1991. لم يكن لدى فريق العمل الوقت لانتظار قبول التغييرات من مؤسسة البرمجيات الحرة (Free Software Foundation) في التغييرات التي أحدثوها على الشيفرة المصدرية للوصول إلى نسختهم المعدلة من إيماكس و بالتالي قررت شركة لوسيد الاستمرار بتطوير المشروع و صيانته حيث قامت مؤسسة البرمجيات الحرة باصدار النسخة 19 من محرر النصوص جنو إيماكس بعد سنة واحدة. في عام 1994 قامت شركة لوسيد بانهاء خدماتها و عندها قام مجموعة من المطورين بأخذ نسخة من الشيفرة المصدرية لمحرر النصوص التي كانت شركة لوسيد تعمل على تطويره و قد أبدت بعض الشركات الأخرى اهتمامها بتطوير هذه النسخة مثل شركة صن ميكروسيستمز و لكن الغموض في الموقف القانوني بأحقية استخدام الإسم التجاري "لوسيد" حال دون ذلك و من هنا يأتي دور حرف ال "X" في الإسم "XEmacs" حيث يمثل الحرف الحل الوسط بين المتنازعين على حقوق الملكية في تطوير أكس إيماكس. و بالتالي فإن حرف ال "X" لا يمت بأي علاقة لتظام الأكس ويندو "X Window System" و من الجدير ذكره هنا أن أكس إيماكس ظل و بشكل دائم يدعم أنماط التحرير التي تعتمد على واجهة سطر الأوامر بالإضافة إلى واجهات المستخدم الرسومية فيما عدا نظام "X11". و تستطيع برامج التنصيب المخصصة لإكس إيماكس و إيماكس القيام بتنصيب أي منهما مع وجود دعم نظام الإكس ويندو أو بدونه و لفترة من الفترات عرف عن أكس إيماكس دعمه لبعض وظائف واجهات الأوامر السطرية المخصصة مثل وظيفة تعليم الصيغة التي كان جنو إيماكس يفتقر لها. و بشكل عام يقوم مجتمع البرمجيات بالإشارة إلى جنو إيماكس و أكس إيماكس (و عدد آخر من محررات النصوص الشبيهة) بالإسم "إيماكس" أو "إيماكسيان" لأنهم جميعاً استلهموا وظائف التحرير النصية من نفس المرجع و هو المحرر تيكو إيماكس.

المزايا و الوظائف[عدل]

تكمن مزايا و وظائف أكس إيماكس في عملية معالجة الكلمات و الفقرات لتحرير النصوص و يشمل ذلك -على سبيل المثال لا الحصر- حذف الكلمات و الفقرات و تحريكها و التحرك من خلالها بالإضافة إلى ميزة تعليم الصيغة بهدف تسهيل عملية قراءة نصوص الشيفرة المصدرية بالإضافة إلى اختصارات أزرار لوحة المفاتيح التي يتحكم بها المستخدم حسب رغبته و مزايا و وظائف أخرى عديدة. و يتميز أكس إيماكس بوجود أدوات مساعدة شاملة على الإنترنت بالإضافة إلى 5 كتيبات يمكن الوصول إليها عبر موقع أكس إيماكس الإلكتروني. و يقوم أكس إيماكس بدعم عدد كبير من اللغات البشرية بالإضافة لدعمه أنماط تحريرية مختلفة للعديد من لغات البرمجة. و يعمل أكس إيماكس على العديد من أنظمة التشغيل و يشمل ذلك يونكس، جنو/لينكس، بي أس دي و ماك أو أس أكس (و في حالة الماك فإن أكس إيماكس بحاحة إلى دعم نظام النافذة إكس) بالإضافة لوجود نسختين تعملان على أنظمة مايكروسوفت ويندوز و هما النسخة الخاصة بنظام تشغيل ويندوز و الأخرى هي النسخة المخصصة للعمل على بيئة سيغوين. أما بالنسبة للمستخدمين و المطورين فيمكنهم تعديل أو تطوير معظم وظائف المحرر عن طريق استخدام لغة ليسب الخاصة بإيماكس و من الجدير بالذكر أنه و في حال تعديل وظائف المحرر فلا داعي لإعادة تشغيله أو تفسير شيفرته المصدرية (Re-Compilation) من جديد و قد قام المبرمجون بتطوير العديد من الوظائف الإمتدادية للمحرر إيماكس عن طريق لغة ليسب.

التطوير[عدل]

هدف المطورون منذ بداية المشروع إلى تكرار عملية إصدار النسخ من أكس إيماكس بشكل متكرر (و في العقد الثاني من القرن الحادي و العشرين وصل عدد تكرار الإصدارات إلى 2 أو 3 مما يدلل على التباطؤ في عملية التطوير مقارنة بالبدايات) و غالباً ما يقوم أكس إيماكس بالسبق في تقديم و تطوير المزايا و الوظائف ليسبق في ذلك أقرانه من مشتقات جنو إيماكس (إيماكسيان) فعلى سبيل المثال كان أكس إيماكس السباق في تطوير مزايا خطوط المتغيرات (تعليم المتغيرات) و تعليم الصيغة و مع مضي السنين قام المطورون بإعادة كتابة الشيفرة المصدرية لتحسينها و تطويرها و للحاق بركب مزايا البرمجة الحديثة. لدى أكس إيماكس نظام تثبيت فريد مخصص لمعالجة حزم ليسب المطورة بشكل مستقل و اَخر نسخة منه تحوي الدعم لمكتبة جتك+ البرمجية، و لطالما حظي أكس إيماكس ببيئة تطوير منفتحة منذ بداياته و يشمل ذلك حساب الولوج المجهول لنظام النسخ المتلاقية المعروف باسم (Concurrent Versions System - CVS) بالإضافة إلى حساب الولوج المفتوح على نظام الإدارة المراجعة الموزعة المعروف باسم ميركوريال و تخصيص مجموعة بريدية مفتوحة للجميع من أجل المشاركة و التفاعل مع المطورين و المستخدمين. و يأتي أكس إيماكس مع كتيب ارشادات داخلي يحوي أكثر من 500 صفحة من ارشادات الإستخدام و معلومات أخرى مفيدة. و يذكر أيضاً أن أكس إيماكس يتبع سياسة الحفاظ على التوافقية مع واجهة برمجة التطبيقات الخاصة بالمحرر جنو إيماكس. أضحى تقديم دعم يونيكود في أكس إيماكس يشكل تحدياً كبيراً أمام المطورين ففي عام 2005 كانت إصدارة أكس إيماكس تعتمد على حزمة غير مصانة (unmaintained package) تدعى ميول-يو سي أس (حزمة برمجية) (Mule-UCS) لدعم اليونيكود في هذه الإصدارة، و بينما كان فرع التطوير في مشروع أكس إيماكس يقدم دعمه القوي و الأصيل لتشفيرات اليونيكود الخارجية (external Unicode encodings) منذ العام 2002 إلا أن نظام التشفير الحرفي (character sets) الداخلي في ميول كان يفتقد الإكتمال و يبدو أن التطوير في هذا المشروع قد تم لإيقافه منذ شهر سيبتمبر من العام 2005. تقسم عملية التطوير في أكس إيماكس إلى ثلاثة فروع و هي:

  1. الفرع المستقر (Stable Branch)
  2. فرع غاما (Gamma Branch)
  3. فرع بيتا (Beta Branch)

يحوي الفرع بيتا مزايا و وظائف جديدة و لكنه أقل اختباراً و بالتالي أقل استقراراً و أقل أماناً، و قام المطورون بإطلاق الإصدارة 20.0 في 9 فبراير من العام 1997 و الإصدارة 21.0 في 12 يوليو من العام 1998. و في شهر يناير من العام 2009 تم إطلاق الإصدارة 21.4.22 و التي كانت تمثل الفرع المستقر (ٍStable Branch) بالإضافة إلى الإصدارة 21.5.28 و التي كانت تمثل فرع بيتا (Beta Branch) بينما لم يتم إطلاق أي نسخة لتمثيل الفرع غاما (Gamma Branch) منذ العام 2007. لدى مجموعة مطوري أكس إيماكس نظام معين لتحديد أرقام نسخ الإصدارات حيث يشير الرقم الثاني الفردي إلى إصدار نسخة تجريبية (تحت التطوير) بينما يشير الرقم الثاني الزوجي إلى إصدار نسخة مستقرة و مختبرة و جاهزة للتحميل و التثبيت على الأجهزة الحاسوبية.

أكس إيماكس و جنو إيماكس[عدل]

قام عدد من مطوري أكس إيماكس الرئيسيين بالتمييز و الفصل بين أكس إيماكس و جنو إيماكس و للتدليل على ذلك نرفق لكم هذا الرابط الذي يؤشر إلى ملخص المطور ستيفن تيرنبول (مبرمج) حول هذا الموضوع. يشار إلى أن أحد أهم أسباب الإختلاف بين المشروعين ينحصر في عدم اتفاق وجهات النظر حول "تعيين" حقوق الملكية الفكرية، حيث ترى مؤسسة البرمجيات الحرة أن تعيين حقوق الملكية الفكرية لنفسها -فقط- ضروري حيث يسمح لها ذلك القيام بالدفاع عن حقوق الملكية الفكرية في حال تعدي أو مخالفة أي جهة لنصوص رخصة جنو العمومية بينما يرى مطورو أكس إيماكس أن ضعف تعيين حقوق الملكية الفكرية سمح لشركات كبرى بالتدخل و الإنخراط في عملية التطوير و هذا شيء جيد و لكن المشكلة تكمن في أنه في بعض الأحيان لا تسمح هذه الشركات بالترخيص لأجزاء من الشيفرة المصدرية التي تقوم بتطويرها لأسباب تعود إلى الحذر من بعض وكلاء المساهمين في هذه الشركات مما يؤدي إلى تعطيل عملية التطوير و أحياناً توقفها. و قد تواجه الشركات أيضاً المشاكل في تحصيل الإذن للسماح لها لترخيص الشيفرة المصدرية كاملة و نتيجة لما تم تفصيله سابقاً بالنسبة لحقوق الملكية الفكرية فقد قامت مؤسسة البرمجيات الحرة بتعليق هذه الحقوق المرتبطة بأجزاء من الشيفرة المصدرية للمحرر و تجدر الإشارة هنا إلى أن القرار في اعتماد أي جزء من الشيفرة المصدرية الموجودة في أكس إيماكس و استخدامها في جنو إيماكس يعتمد و بشكل كبير على رغبة المطورين اللذين قاموا بكتابة هذه الشيفرة المصدرية في توكيل مؤسسة البرمجيات الحرة لتكون هي المسؤولة عن الحفاظ عليها من ناحية خرق بنود قوانين الرخص و الملكية الفكرية. و عادةً في حال إضافة وظائف أو مزايا جديدة على أي من المحررين -أكس إيماكس أو جنو إيماكس- يقوم مطوروا المحرر الاَخر بإضافتها إلى محررهم كما و أن قسم كبير من المطورين يعملون لصالح المشروعين في نفس الوقت.

أنظر أيضاً[عدل]

المراجع[عدل]