المحتوى عن 'حزمة'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML5
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 3 نتائج

  1. عندما يأتي الحديث عن أطقم تحرير المُستندات الأكثر شهرة فإنّ الهيمنة ستكون من نصيب حزمة Office المُقدمة من Microsoft دون منازع، لكن هذا لا يُخفي حقيقة أن المزيد من الحكومات، المنظمات، والأفراد حول العالم ينتقلون للاعتماد على LibreOffice المجاني ومفتوح المصدر، والذي يوفّر ميزاتٍ عديدة تشمل قائمة من بعض أهم ميزات حزمة Microsoft Office. وعلى الرغم من أن قواسم عدّة تجمع بين البرنامجين إلا أنّ فروقاتٍ مُهمة وجوهريّة تُميّز بينهما. سنُناقش في هذا الدرس باختصار بعض القواسم المُشتركة بين LibreOffice و MS.Office كما سنتحدّث عن الفروقات المُهمة بينهما، مُستهلين بذلك سلسلة دروس أكاديميّة حسوب عن حزمة LibreOffice. نشأة LibreOfficeتعود بداية القصّة إلى عام 1985 عندما كتب المُبرمج الألماني Marco Börries المُحرّر النصيّ StarWriter لأنظمة Dos، وكان عمره آنذاك ستّة عشر عامًا. في السنة التاليّة أسّس Marco شركة StarDivision للبرمجيات ضمن مرآبٍ له في مدينة لونبورغ - ألمانيا، اشتهرت الشركة بإصدار طقم أدوات المكتب StarOffice. في عام 1995 أصدرت الشركة النسخة الثالثة من حزمة StarOffice، حيث أعيد كتابتها بالكامل لتُصبح عابرة للمنصّات تعمل على كلّ من أنظمة Windows، OS/2، و Solaris Sparc، وذلك بهدف منافسة طقم المكتب Microsoft Office 95. وهذه هي أقدم شيفرة برمجيّة لا تزال مُضمّنة في تطبيق LibreOffice. في نهاية الربع الثاني من عام 1999 استحوذت شركة Sun على StarDivision بصفقة بلغت قيمتها 73.5 مليون دولار أمريكي، لتفتح بعد ذلك الشيفرة المصدريّة للبرنامج بهدف بناء مجتمع مفتوح لتطويره، مُطلقة الإصدارة المبدئية من OpenOffice.org بناء على النسخة 5.2 من طقم StarOffice بُرخصة مُزدوجة LGPL/SISSL. سارت عملية التطوير بأسلوب مشابه لما تتبعه Google اليوم مع متصفح chrome، حيث تفتح الشركة الجزء الأكبر من الشيفرة المصدريّة للبرنامج باسم chromium وتقود عملية تطوير يُشارك فيها مجتمع مفتوح المصدر، ثم تأخذ الشيفرة وتُضيف عليها ميزاتٍ خاصّة مُتقدّمة لتُعيد إصدارها بشكل مُغلق، أكثر تفوقًا من البرنامج الأساس باسم chrome. لم يأتِ العام التالي (2000) حتى أضيف دعم أنظمة لينكس إلى الحزمة، علاوة على تحسين التوافقيّة مع MS.Office. في عام 2005 تمّ إلغاء الترخيص المُزدوج للبرنامج والاكتفاء بترخيصه تحت رخصة غنو العمومية الصغرى، وفي تشرين الأول من عام 2009 صدرت النسخة الثالثة بتغييرات جوهرية وجذرية بهدف تحسين الأداء، زيادة سرعة الاستجابة، والتقليل من حجم الذاكرة المُستخدمة. ومع بداية عام 2010 استحوذت شركة Oracle على Sun، ما أنتج ثلاث تغييرات بارزة: إنهاء مسيرة حياة StarOffice.إعادة تسمية مشروع OpenOffice.org باسم Apache OpenOffice.انشقاق المجتمع مفتوح المصدر والمُهتم بتطوير OpenOffice.org عن العمل برعاية شركة Oracle والذين كانوا يرغبون منذ فترة طويلة بالتمتع باستقلاليّة عن المشروع التجاري لشركة Sun وقيادتها لعملية التطوير، وإطلاقهم مشروع LibreOffice بالاعتماد على الكود المصدري لطقم Open Office 3.3.اليوم وبعد أربع سنوات على تطوير LibreOffice وصل البرنامج إلى الإصدارة الخامسة، وتمّ اعتماده من قبل غالبية توزيعات لينكس الكبرى، وأعداد متزايدة من الحكومات، المنظمات، والأفراد. فروقات عامةيرى البعض أنّ مقارنة مُنتج مدفوع مثل MS.Office مع آخر مجاني يعمل عليه فريق تطوعي مثل LibreOffice أمرٌ غير عادل، إلا أن المُنتَجين يملكان العديد من الخصائص المُتشابهة. بل ما هو أكثر من ذلك؛ ففي حين أن MS.Office 2013 متوافق مع كلٍ من إصدار Windows السابع (وما يليه)، ونظام OSX؛ فإنّ المكتب الحرّ يدعم كافة إصدارات Widows علاوةً على توزيعات لينكس ونظام OSX. بكل الأحوال فإنّ مقارنتنا هنا لن تدور حول أيّ واحدٍ منهما هو "الأفضل" أو "صاحب الميزات الأكثر"، وإنما لتتحقّق فيما إذا كان عملك يتطلّب ما تُقدّمه Microsoft أو أنّه يمكنك الحصول على ما تريد من بديل مجانيّ ومفتوح المصدر لتوفّر بعض المال. تُقدّم حزمة MS.Office عددًا من البرامج الأساسيّة أهمها؛ محرّر نصي (Word)، مُحرر جداول حسابية (Excel)، العروض التقديميّة (PowerPoint)، إدارة قواعد البيانات (Access)، مدير معلومات شخصيّة وعميل بريد (Outlook)، تدوين الملاحظات ومدير تعاون جمعي (OneNote)، برنامج للنشر المكتبي (Publisher). إلى جانب عدد من الأدوات الأخرى الأقل شهرةً واستخدامًا. في المقابل تشمل حزمة LibreOffice على محرّر نصي (Writer)، مُحرر جداول حسابية (Calc)، العروض التقديميّة (Impress)، إدارة قواعد البيانات (Base)، ويغيب عنها بدائل للأدوات الأخرى، إلا أنها تشمل علاوةً على ما سبق برنامج (Draw) للرسم المُتجهي والذي يُمكن اعتباره مُشابهًا لبرنامج Microsoft Visio بالإضافة لاحتوائه على إمكانيات تُرشحّه كبديل أيضًا لبرنامج النشر المكتبي (Publisher) الخاص بـ Microsoft. كما تشمل الحزمة برنامج (Math) لكتابة الصيغ الرياضية والعلميّة وتصديرها لباقي أدوات الحزمة، بينما يشمل برنامج Word على إمكانيات كتابة الصيغ الرياضيّة مباشرة بداخله. نُوضّح في الجدول التالي أهم الخصائص العامة التي تُميّز كل طقم أدوات عن الآخر، يمكنك الإطلاع على القائمة كاملةً من هنا (أغفلنا المزايا المُشتركة بين الحزمتين): ميزات عامة LibreOffice 5.0 Microsoft Office 2013 واجهة المُستخدم GUI تقليديّة مع دعم تشغيل شريط جانبي واجهة Ribbon المُعتمدة على الألسنة توفّر نسخ 64 بت نعم، لجميع المنصّات لمنصّة Windows فقط توفّر نسخة محمولة Portable نعم، قابلة للتشغيل من وسيط usb لا التوطين المحليّ Localization 111 لغة 96 لغة استيراد الصيغ الرسومية svg. psd نعم لا دعم ملفات Microsoft OOXML files دعم جيد دعم ممتاز ومُتقدّم دعم الصيغ الرسومية MEZ, WMZ, PCZ, CGM لا نعم دعم العمل الجماعي المتزامن لا نعم مُعاينة حيّة للتنسيقات لا نعم المحرر النصييتشابه كلّ من Word و Writer في المزايا الرئيسية وحتى الثانويّة كذلك، بدءًا من التدقيق الإملائي والنحوي، الحفظ التلقائي، القوالب، التصدير إلى صيغة pdf وغيرها الكثير، لذا سيكون التفضيل بين البرنامجين أمرًا صعبًا حقيقة. يتميّز Writer بدعمه طُرز التنسيقات Styles format، هذا يُشبه أن تتعامل مع ملف css، فما إن تُعيّن قاعدة تنسيق للفقرات (p) مثلًا حتى تُطبّق بشكل تلقائي على كامل المُستند، دعم الإكمال التلقائي auto completion للكلمات المُستخدمة ضمن المُستند، دعم التصدير إلى XHTML و صيغة MediaWiki وكذلك تصدير المُستند على هيئة صور (jpg, png)، دعم التعامل مع أحجام صفحات تصل حتى (300سم*300سم)، دعم استبدال تلقائي للإيموجي، إمكانية تنسيق نصوص التعليقات وغيرها. في المقابل يتميّز Word بدعمه التدقيق النحوي لـ 21 لغة بشكل تلقائي (مقابل 4 لغات فيWriter)، دعم التعديل على الصور المُدرجة في المُستند بتأثيرات ووضعيات عديدة (كالتدوير بمُختلف الزوايا)، دعم تصاميم وتعديلات مُتقدّمة للجداول المُدرجة، دعم وضع القراءة، دعم طوي وبسط أجزاء المُستند، دعم إضافة علامة مائية للصفحات، دعم اختصارات لوحة المفاتيح بشكل أكبر، دعم النشر الفوري إلى منصات التدوين الشهيرة وغيرها. الجداول الحسابيةفي المقارنة بين Excel و Calc سيعتمد الأمر على استخدامك، في العموم فإنّ كلا البرنامجين يعملان بأسلوبٍ واحد، فإذا كنتَ مُستخدمًا بسيطًا تُنظّم بعض الحسابات، تجري عمليات رياضيّة، وتستخدم المعلومات لإنشاء مُخططات بيانية إلخ فلن تجد فرقًا يُذكر بينهما. أما إذا كنتَ قد استثمرت الكثير من الموارد لإنشاء وبرمجة وحدات ماكرو macros لعملك فغالبًا ما ستُفضّل البقاء مع Excel، إذ يملك Calc لغته الخاصة لكتابة الماكرو والتي لا تتوافق تمامًا مع لغة VBA الخاصة بـ Excel، وهذا ما سيُرتّب عليك إعادة كتابة كل شيء أو توفير الوقت والجهد والاستمرار في استخدام Excel. يتميّز Calc بإمكانية مُقارنة ملفي جداول حسابية معًا، دعم طرز التنسيقات (بما في ذلك تنسيقات الخليّة)، دعم التدقيق الإملائي، دعم التصدير إلى صيغة CSV، دعم التعابير النمطيّة في البحث والاستبدال، القدرة على تدوير الجدول بالكامل، دعم تنسيقات أكثر للخلايا، وغيرها. في المُقابل يتميّز Excel بدعم أكثر من 16 ألف عمود في الورقة الواحدة (مُقابل ألف في Calc)، دعم إدراج رسوم بيانيّة graphic في ترويسة وتذييل الجدول، دعم الرسوم البيانية التفاعلية (PivotChart)، دعم نشر الجداول إلى الويب لإجراء الاجتماعات، خيارات مُتعدّدة لخلفية الخلايا، نسخ الخلايا المرئية، طباعة الخلايا المُحدّدة فقط، وغيرها. العروض التقديميةيكاد اسم PowerPoint يختزل معنى ودلالة العروض التقديميّة؛ فهو برنامج أكثر من رائع يمكنه صناعة عروض مذهلة بمستوى أفضل من مُعظم المنافسين، وبينما يسعى Impress جاهدًا لتقليص الفجوة بينهما فلا يزال هناك عدّة خطوات لاعتبار الفجوّة بحجمٍ معقول. إذا كنتُ تُخطّط لإنشاء عرض تقديمي من الصفر فسيكون Impress خيارًا مُعتبرًا ومناسبًا إلى حدٍ كبير، وإن لم يشمل ذلك على لمسات PowerPoint الجمالية، لا سيما مع إمكانيه تصدير العرض بصيغ عديدة تُسهّل عليك مُشاركة الملف دون أن تطلب من الآخرين تثبيت PowerPoint. أما إن كنتَ تعمل مع فريق يعتمد PowerPoint في مشاريعه فسيكون من الصعوبة استيراد الملف إذ ستعاني من فقدان بعض الخطوط، ومشاكل أخرى مهمة في التصيير rendering لإجراء التعديلات المطلوبة عليه. يتميّز Impress بدعمه تصدير المشروع إلى صيغ (swf, svg, eps)، دعم إدراج وحدات ثلاثيّة الأبعاد 3D، دعم حتى 12 طبقة للشريحة الواحدة (مقابل 9 في PowerPoint)، دعم استيراد ملفات Apple Keynote وغيرها. بينما يتميّز PowerPoint بدعمه للتأثيرات التفاعلية والمتحرّكة، إمكانية تعديل الشرائح أثناء العرض، مقارنة العروض، بثّ العرض مباشرة إلى الوِب، العمل الجماعي على نفس الملف، دعم تعديلات مُتقدمة أكثر على الشرائح، دعم تصدير المشروع كصيغة فيديو وغيرها. قواعد البياناتعندما نأتي إلى المقارنة بين برنامجي قواعد البيانات Access و Base فإنّه سيصعب علينا حقًا تفضيل أحدهما على الآخر، فالتطبيقان مُمتازان لإدارة قواعد البيانات، يعملان بأسلوبٍ متشابه، ويتمتعان بخصائص متقاربة للغاية، فإذا كنتَ تعمل على Access يُمكنك أن تبدأ بتجريب Base على الفور والشعور وكأنك في منزلك. يتميّز Base بدعم مُذهل لـ MySQL، PostgreSQL و Thunderbird، بينما يتكامل Access بشكلٍ أفضل مع Outlook و Paradox، لذا قد يتحدّد خيارك بناءً على التقنيّات المُعتمدة في مكان عملك. أما إذا كنتَ تعمل لحسابك الخاص فيمكنك الاعتماد على Base دون قلق. خاتمةيمكننا القول إجمالًا بأنّ حزمة Office المُقدمة من Microsoft تتميّز بنقطتين أساسيتين: احتوائها على عميل البريد Outlook، وتقديمها خيارًا أكثر موائمة للتعامل مع العروض التقديميّة فيما يتعلق بالعمل الجماعي. في المقابل يمكنك –مجانًا– تركيب حزمة LibreOffice والحصول على أكثر ممّا تحتاجه من ميزات وخصائص، بالإضافة إلى إمكانية تشغيل ملفات Microsoft Office بأسلوب جيّدٍ في أغلب الأحيان. بهذه المقدمة أتمنى أن أكون قد قدّمت تصورًا متوازنًا عن حزمة LibreOffice ما لها وما عليها، وكليّ أمل أن تقرّروا الانضمام معنا في سلسلة الدروس هذه حول أدوات المكتب الحرّ.
  2. أصبحت المشاريع مفتوحة المصدر شيئًا عظيمًا؛ لكن بالتزايد الكبير لأعداد المشاريع مفتوحة المصدر، ازدادت صعوبة جذب المساهمين. وتدعم الشركات الكبرى -مثل فيسبوك و تويتر- عددًا كبيرًا من تلك المشاريع، مما جعل الجميع يتنافس لنيل مساهمات المُبرمجين ولفت انتباههم. هذا ثاني درس في هذه السلسلة من المقالات التي سترشدك إلى كيفية بناء مجتمع حول مشروعك. الجمهور المستهدف وصفحة الهبوط كيف تجعل الوصول إلى مشروعك مفتوح المصدر أسهل (هذا الدرس) طرق التعريف بمشروعك مفتوح المصدر كيف تحول مستخدمي مشروعك مفتوح المصدر إلى مساهمين كيف تنمي المجتمع الخاص بمشروعك مفتوح المصدر تحدث الدرس السابق عن الفئة المستهدفة وكيف تُقدِّم مشروعك إليهم؛ وفي هذه المرة سننظر إلى جعل الوصول إليه سهلًا. عندما يرى المستخدم أنَّ مشروعك يفي باحتياجاته، فسيبحث عن تعليمات حول كيفية استعماله وطريقة عمله؛ ومن المفيد لك أن تجعل عملية التثبيت أسهل ما يمكن لتجنب خسارة الأشخاص على الطريق، وهذه هي طريقة فعل ذلك: ابن حزمة يأتي المشروع الاعتيادي مع مجموعة من الخطوات لبناءه وتثبيته، لكن من الأفضل اختصار تلك المجموعة إلى خطوة وحيدة: تثبيت حزمة. هل ستجرب مشروعًا يحتاج تثبيته إلى أمر sudo apt-get install وحيد، أم ستجرب مشروعًا يحتاج إلى إعداد بيئة لبناء البرامج، وتثبيت عدد هائل من الاعتماديات، ثم البناء من المصدر؟ حزم التوزيعات أول خيار أمامك هو إنشاء حزمة خاصة بنظام التشغيل، ربما لتوزيعة لينُكس (حزم deb، أو rpm، أو pacman) أو لنظام OS X باستعمال Homebrew. أو تستطيع إنشاء حزمة على مستوى اللغة البرمجية (language-level) إن كان هذا الخيار متوفرًا للتقنية التي بنيت مشروعك بها. الحزم الموجودة في مستودعات التوزيعات هي أكثر الحلول راحةً للمستخدم، سامحةً لهم بتثبيت البرمجيات التي تُوفرها من مصدرٍ موثوق. عملية تعلم إضافة حزمة مشروعك إلى المستودعات هي عمليةٌ مرهقةٌ وصعبة وعليك المرور على عشرات الصفحات من التوثيق حتى تُقبَل حزمتك في المستودعات؛ لكن ذلك العمل سيؤتي أُكله، فسيصبح تثبيت مشروعك يتطلب تنفيذ أمرٍ وحيدٍ من المستخدم؛ وذلك يستحق كل هذا الجهد لوجود الملايين من مستخدمي نفس نظام التشغيل. الحزم على مستوى اللغة أو يمكنك إنشاء حزمة على مستوى اللغة البرمجية -إن كان هذا الخيار متوفرًا للتقنية التي تستعملها- مثل PyPI، و Rubygems، و npm وغيرها. وإنشاء تلك الحزم أبسط، وتُخَلِّصُكَ من قراءة عشرات الصفحات من التوثيق التي عليك المرور بها كي تُقبَل حزمتك في مستودعات توزيعةٍ ما. وقد تكون هذه الطريقة أفضل بناءً على فئتك المستهدفة. إنشاء حزمة على مستوى اللغة هي ضرورة مُلِحَّة للمشاريع التي ستُستعمَل من بقية المطورين مثل المكتبات. فلمطوري روبي أو JS، لن تكون مكتبةٌ ما خيارهم المفضَّل إن لم يكن لديها حزمة gem أو npm. سينتشر مشروعك أكثر عندما تضعه في تلك المستودعات، إذ سيظهر عندما يبحث المبرمجون في تلك المستودعات عن المكتبات المفيدة. ربما يكون هنالك -في بعض الأحيان- أدوات أو خوارزميات لتحويل حزمة على مستوى اللغة إلى حزمة نظام، وبهذا تستطيع أخذ حزمة مشروعك على مستوى اللغة وإعادة استعمالها في توزيعاتٍ عدِّة؛ فيتمكن Debhelper -مثلًا- من بناء تطبيق بايثون تلقائيًا إن كان يأتي مع ملف setup.py. سكربت إعداد تلقائي إن لم تسطع توفير حزمة لمشروعك، فعليك -على الأقل- أن توفِّر سكربت لبناء وتثبيت البرمجية. وهذا السكربت قد يمثل بديلًا للحزمة لأنه يوفر طريقةً سهلةً للتثبيت. هذه بعض المشاريع الأخرى الشهيرة التي تستعمل سكربتات الإعداد: oh-my-zsh rvm لا يثق بعض الأشخاص في تلك السكربتات، وهم على حق في بعض الأوقات. أنت سيد قرارك هنا، فليس لديك أداة إدارة حزم موثوقة لتضمن أمان الحزمة. كن حذرًا جدًا وتأكد أن ما تضعه في السكربت لن يضر بأنظمة المستخدمين أو بياناتهم؛ خصيصًا عندما تفعل أشياءً تتطلب امتيازات الجذر (root – أي الامتيازات الإدارية)؛ لن يساعدك خسارة عدد كبير من الأشخاص لبياناتهم بسبب تطبيقك في حملتك التسويقية له. اكتب دليلا لاستعمال تطبيقك تمكن الآن المستخدمون من تثبيت مشروعك بسهولة، وعليك الآن أن تريهم طريقة استعماله. حان الوقت الآن لكتابة دليل المستخدم؛ وليس من الضرورة أن يكون هذا الدليل طويلًا ومفصلًا؛ فيجب أن يشرح الواجهة الأساسية، ويشير إلى أيّة حدود للتطبيق. لا تكتب كثيرًا من المعلومات التقنية وركِّز على ما يحتاج المستخدم الاعتيادي إلى معرفته. لا تجاهد لكي يكون الدليل مفصلًا وكاملًا من البداية؛ ابدأ من أهم النقاط ثم أكمل الباقي أثناء تطويرك للمشروعك، وستستفيد من أسئلة المستخدمين الجدد الذين يحاولون استعمال مشروعك في كتابة محتوى الدليل. أفضل بنية وأدوات لكتابة الدليل تعتمد على طبيعة وحجم مشروعك، وعمّا إذا كنت تولِّد الدليل من الشيفرة المصدرية أم كنت تكتبه بنفسك بأكمله يدويًا. يجب أن يَسهُل البحث في الدليل النهائي (حتى لو وضعت كل المعلومات في صفحة وحيدة واستعملت خاصية البحث في المتصفح). لا تنس الرخصة خطأٌ شائعٌ يقلل كثيرًا من استعمال مشروعك هو عدم وجود رخصة مفتوحة المصدر؛ تأكد أن شيفراتك تأتي مع رخصة معترف بها من FSF أو OSI؛ راجع الدرس كيف تختار رخصة مفتوحة المصدر لبرامجك لمزيدٍ من المعلومات حول هذا الصدد. ما التالي؟ أصبح مشروعك الآن جاهزًا للاستعمال من المستخدمين، فحان الوقت لنشره، وهذا هو موضوع المقالة القادمة. ترجمة -وبتصرّف- للمقال Make your open-source project accessible لصاحبه Radek Pazdera.
  3. عندما تعمل على أنظمة غنو لينكس Gnu Linux فإن جميع البرامج والحزم التي تحتاجها ستجدها في المستودعات الرسميّة لتوزيعتك من خلال مدير الحزم، أو في مستودعات إضافيّة يقدمها المجتمع، لكنك قد تصادف في وقتٍ ما حاجتك إلى حزمة غير متوفرة في المستودعات بشكلها الثنائي الجاهز Binary package، أو أنك ترغب في الحصول على أحدث نسخة من برنامج ما فور صدوره، دون انتظار وصوله إلى المستودعات. في مثل هذه الحالات ستلزمك مهارة بناء وتثبيت الحزم من المصدر، وهي موضوع حديثنا في هذا الدرس، حيث سنعمل معًا على بناء تطبيق curl ابتداء من شِفرته المصدرية، وبالطبع فإن الأساسيات المستخدمة في هذا المثال تصلح أيضًا لمعظم الحالات الأخرى. المتطلباتتتضمن عملية البناء من المصدر تحويل شيفرة البرنامج إلى حزمة ثنائية، يمكن تركيبها باستخدام مدير الحزم في توزيعتك لنحصل على التطبيق بصيغة تنفيذيّة، تُسمى هذه العملية بالترجمة Compiling، وتعني ترجمة الشيفرة المصدرية إلى لغة الآلة. في البداية نحن نحتاج إلى مجموعة من الأدوات والحزم اللازمة في أي عملية بناء، والتي تُسمى بـ "build-essential" في دبيان والأنظمة المبنية عليها، بينما يُطلق عليها اسم "Development Tools" في RedHat و CentOS، والتي تتضمن مترجمات ++gcc/g ومكتبات أخرى ضرورية، لتركيب هذه الحزمة في دبيان و Ubuntu نفّذ الأمر التالي في الطرفيّة: apt-get install build-essentialأما على أنظمة rpm مثل CentOS: yum groupinstall "Development Tools" يتطلب تركيب بعض البرامج في غنو لينكس وجود حزم أخرى (تُسمى اعتماديات) مُثبّتة مسبقًا؛ حيث تلزم لتشغيل البرنامج بشكل صحيح، فإذا استخدمتَ مدير حزم (مثل apt-get) في عملية التركيب فإنه عادةً ما يقوم بجلب هذه الاعتماديات وتثبيتها بشكل تلقائي، أما في حال بناءك لبرنامج ما من المصدر فإنه يتوجب عليك قراءة ملف التعليمات المرفق معه والتحقق من وجود كافة الاعتماديات التي يتطلبها البرنامج مثبّتة على نظامك قبل بدء الترجمة. في مثالنا هنا عن بناء curl سوف تحتاج إلى صلاحيات الجذر root (عبر sudo مثلا) لتثبيت الحزمة بعد ترجمتها. مثال: الحصول على curl وبنائها من المصدرتنزيل الحزمةيتوجب علينا أولًا الحصول على الشيفرة المصدرية للأداة curl، وأمامنا طرق كثيرة لفعل ذلك، منها استخدام النسخة المتوفرة في موقع curl الرسمي وهي الطريقة التي سنستخدمها هنا، انتبه إلى زيارة الموقع لتتأكد من رقم الإصدار الحالي للبرنامج، النسخة المستخدمة في هذا المقال تحمل الرقم 7.43 وهي أحدث إصدار متوفر: wget -O curl.tar.gz http://curl.haxx.se/download/curl-7.43.0.tar.gz تعمل الأداة wget على جلب الحزمة من الرابط المرفق، وتحفظها في الدليل النشط. الخطوة التالية هي فكّ ضغط الحزمة، وسنستخدم لذلك الأداة tar: tar -xvzf curl.tar.gz وهكذا نحصل على المجلد curl-7.43.0 والذي يضم الشيفرة المصدرية لـ curl، نتحقق من ذلك: ls user@droplet:~/curl ls curl-7.43.0 curl.tar.gz كما هو متوقع أصبح لدينا المجلد المطلوب، والذي يُحدّد اسمه تبعًا للإصدار الذي حمّلته من الموقع، للدخول إليه استخدم الأمر cd: cd curl-7.43.0تهيئة وترجمة المصدرداخل المجلد السابق ستجد أنواعًا مختلفة من الملفات، ما يلزمنا الآن هو الملف المُسمى "configure"، وهو عبارة عن ملف تنفيذي (سكربت) يقوم بضبط بعض الإعدادات الخاصّة التي تساعد البرنامج في العمل على أجهزة الحاسوب المختلفة، لتشغيله نفّذ الأمر التالي: ./configure يتحقق السكربت السابق من وجود كافة المكتبات والحزم اللازمة لبناء وتشغيل البرنامج بشكل صحيح مثبّتة على جهازك، ويجمع بعض المعلومات عن النظام المستخدم لضبط البرنامج بما يوافقه، إضافةً لذلك يحدّد السكربت الدليل الذي سيُثبّت فيه البرنامج. عندما ينهي السكربت عمله بشكل صحيح فإنه يولّد ملفًا يدعى "Makefile" والذي يضم كافة المعلومات اللازمة للترجمة، إذا لم تنجح العملية السابقة فينبغي عليك التحقّق مرّةً أخرى من الاعتماديات التي يحتاجها البرنامج والمحاولة من جديد. الآن لبدء بناء البرنامج (ترجمته) نفّذ الأمر: make ستشاهد عشرات الأسطر على شاشة الطرفية تُطبع وتُنفّذ أثناء ترجمة البرنامج، انتظر قليلًا ريثما يتمّ العمل (سيحتاج إلى بضعة دقائق غالبًا)، عند الانتهاء من الترجمة سيكون بإمكانك تثبيت البرنامج على نظام التشغيل لديك، نفّذ الأمر التالي بصلاحيات الجذر root: make installيتّبع الأمر make التعليمات المتضمنة في الملف Makefile لتثبيت الحزمة المُترجمة. في معظم الحالات سيكون هذا هو كلّ شيء، يفترض أن تتمكن الآن من استخدام الأداة curl، للتحقق من ذلك يمكنك طباعة الأمر curl في الطرفية، وفي حال تمّ كل شيء بشكل صحيح ستحصل على خرج مشابه ما يلي: curl: try 'curl --help' or 'curl --manual' for more information لو حصلت على رسالة خطأ، جرّب الأمر التالي: ln -s /usr/local/bin/curl /usr/bin/curl والذي سينشئ اختصارًا للأداة curl من الدليل usr/local/bin/curl/ إلى usr/bin/curl/، مما سيسمح لك بتشغيلها بمجرد استدعاء الأمر curl في الطرفية من خلال. في معظم الحالات يجب أن يعمل ذلك بشكل تلقائي وكما هو متوقع، في بعض الحالات قد لا يستطيع سكربت configure إيحاد مكان التثبيت الصحيح. الآن يمكنك التحقّق من إصدار curl المثبت: curl -V يعيد الأمر السابق رقم الإصدار المثبّت ومعلومات إضافية تشبه هذه: user@droplet:~/curl curl -V curl 7.43.0 (x86_64-unknown-linux-gnu) libcurl/7.26.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.25 libssh2/1.4.2 librtmp/2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp Features: Debug GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRPتهانينا! لقد تمكّنت من بناء الحزمة من المصدر وتثبيتها بنجاح. الخلاصةاستعرضنا في هذا المقال الخطوات الأساسية لترجمة الشيفرة المصدرية وتحويلها إلى حزمة ثنائية جاهزة للتثبيت على نظامك، والتي يمكنك إعادة استخدامها مع معظم حالات البناء من المصدر، وأشدّد مجددًا على أهمية قراءة ملف التعليمات المرفق مع الحزم التي ترغب بتثبيتها، حيث تضم قائمة بالاعتماديات الواجب توفرها على جهازك قبل البدء بالبناء، كما قد تشمل تعليمات أخرى مهمة. عمومًا تذكّر أسلوبنا القياسي: ./configure make make installتُرجم وبتصرف من مقال How To Compile and Install Packages From Source Using Make on a VPS للكاتب Mathias Jensen.