mirror of
https://github.com/LucasVbr/first-contributions.git
synced 2026-05-13 17:21:50 +00:00
Merge pull request #98466 from makaty95/makaty
files added: Things a non Programmer can do.eg.md
This commit is contained in:
@@ -2187,6 +2187,7 @@ Cloudman
|
||||
- [Nathaly Fairlie Pearson Freitas](https://github.com/NathalyFairlie)
|
||||
- [Priya Darshini Manda](https://github.com/mandaujjwalapriyadarshini)
|
||||
- [jeeracd](https://github.com/jeeracd)
|
||||
- [Mohamed Makaty](https://github.com/makaty95)
|
||||
- [Antonio Thoamaz Oliveira Reis](https://github.com/antonioThomaz1903)
|
||||
- [YahiaAbdeldjalilBenyahia](https://github.com/YahiaAbdeldjalilBenyahia)
|
||||
- [Yogesh Joga యోగేష్ జోగ](https://github.com/yogeshjoga)
|
||||
|
||||
@@ -0,0 +1,164 @@
|
||||
# حاجات ممكن اللي مش مبرمج يعملها
|
||||
## اسمع الأول
|
||||
|
||||
كل حاجة في الـ Open Source بتعتمد على الناس اللي شغالة فيها.
|
||||
إنت عايز تنضم لفريق، وده معناه إنك تفهم المجتمع شغال إزاي.
|
||||
لو دخلت على مشروع وقلت "هاي، أنا شايف إن المشروع المفروض يعمل كذا" غالبًا ده مش هيكون مقبول.
|
||||
ممكن مشاريع معينة تكون بتحب الأسلوب ده، لكن لو المشروع ليه فترة شغال، نسبة إن الناس تتقبل الكلام ده قليلة.
|
||||
**أحسن حاجة تعملها في الأول إنك تسمع وتشوف الناس شغالة إزاي.**
|
||||
|
||||
1. **اشترك في Mailing List**: في مشاريع كتير، الـ mailing list هي وسيلة التواصل الرئيسية بين الناس اللي بتطور المشروع.
|
||||
في المشاريع الكبيرة، هتلاقي كذا mailing list.
|
||||
مثلاً، مشروع PostgreSQL عنده أكتر من 12 mailing list للمستخدمين و6 للمطورين.
|
||||
ابدأ بمتابعة الـ list الأساسية للمستخدمين وواحدة من بتوع المطورين علشان تفهم اللي بيحصل.
|
||||
|
||||
2. **تابع Blog**: المطورين الكبار غالبًا بيكتبوا تدوينات بيشرحوا فيها اللي هيحصل في النسخ الجاية،
|
||||
وبيتكلموا عن اللي اتعمل علشان نوصل للمرحلة دي.
|
||||
في مواقع اسمها Planet بتجمع التدوينات والأخبار من كذا مصدر عن المشروع.
|
||||
لو فيه planet زي planet.gnome.org أو planet.mysql.com، يبقى ده مكان كويس تبدأ منه.
|
||||
اكتب في جوجل "planet <اسم المشروع>".
|
||||
|
||||
3. **ادخل على قناة IRC**: معظم مشاريع الـ Open Source عندها قنوات IRC الناس بتدخل تتكلم فيها عن المشاكل والتطوير.
|
||||
ادخل على موقع المشروع وشوف اسم القناة على أي شبكة IRC.
|
||||
|
||||
**اشتغل على التذاكر**
|
||||
الكود هو الأساس في أي مشروع مفتوح المصدر، بس ده مش معناه إن الكود هو الطريقة الوحيدة اللي ممكن تساهم بيها.
|
||||
فيه حاجات تانية كتير الناس بتكسل تعملها، زي صيانة النظام أو متابعة المشاكل.
|
||||
ابدأ من هنا وهتلاقي نفسك بقيت جزء من الفريق.
|
||||
|
||||
معظم المشاريع عندها نظام تذاكر على الموقع الرسمي.
|
||||
ده بيكون وسيلة تواصل بين الناس اللي بتستخدم البرنامج والمطورين.
|
||||
تنضيف التذاكر دي وتحديثها بيساعد الفريق جدًا.
|
||||
|
||||
ممكن تحتاج صلاحيات علشان تعدل على التذاكر، بس صدقني، أول ما تقول إنك عايز تساعد، هيدوك الصلاحيات دي على طول.
|
||||
|
||||
4. **حلل مشكلة (Bug)**: ساعات الناس بتبلّغ عن مشاكل بشكل مش واضح.
|
||||
لو حد قال "البرنامج بيهنّج لما بعمل كذا"، خد وقتك وحاول تعرف المشكلة دي بتحصل إزاي.
|
||||
هل بتتكرر؟ تقدر تكتب خطوات تثبت بيها إنها بتحصل؟ بتحصل على متصفح معين؟ ولا في نظام تشغيل معين؟
|
||||
|
||||
حتى لو معرفتش تحلها، إنك توضّح المشكلة أكتر بيسهّل على حد تاني ييجي يحلها.
|
||||
وكل اللي تكتشفه، اكتبه في التذكرة علشان غيرك يستفيد.
|
||||
|
||||
5. **اقفل التذاكر القديمة**: كتير من المشاكل بتكون اتحلت، بس التذاكر لسه مفتوحة.
|
||||
البحث في التذاكر القديمة وتنضيفها حاجة مهمة جدًا.
|
||||
|
||||
ابدأ بدور على تذاكر بقالها أكتر من سنة وشوف هل المشكلة لسه موجودة ولا اتصلحت.
|
||||
راجع سجل التغييرات في الإصدارات وشوف لو فيه ذكر للمشكلة.
|
||||
لو اتحلت، اكتب رقم النسخة في التذكرة واقفلها.
|
||||
|
||||
جرّب تعيد المشكلة في آخر نسخة من البرنامج.
|
||||
لو مشتغلتش، اكتب ده في التذكرة واقفلها.
|
||||
لو لسه موجودة، اكتبه برضو وسيب التذكرة مفتوحة.
|
||||
|
||||
## الشغل على الكود
|
||||
الناس اللي عندها خبرة مختلفة في البرمجة تقدر تساعد في الكود.
|
||||
مش لازم تكون مبرمج جامد علشان تساهم.
|
||||
|
||||
لو ناوي تعدل على الكود، اعرف الأول المشروع بيشتغل إزاي في موضوع استلام التعديلات.
|
||||
كل مشروع ليه طريقة معينة، فاسأل الأول.
|
||||
|
||||
مثلاً، PostgreSQL بيستقبل التعديلات على شكل Patch في mailing list، والمطورين بيراجعوها كويس جدًا.
|
||||
لكن في مشروع زي Parrot، ممكن تاخد صلاحيات التعديل بسهولة.
|
||||
لو المشروع على GitHub، غالبًا بيستخدموا Pull Requests.
|
||||
كل مشروع وليه طريقته.
|
||||
|
||||
لما تعدل حاجة، خليك محترم مع باقي الفريق وحافظ على تنسيق الكود زي ما هو.
|
||||
ما تحاولش تفرض أسلوبك.
|
||||
الكود اللي بتكتبه لازم يشبه اللي موجود، حتى لو مش عاجبك.
|
||||
|
||||
6. **اختبر نسخة Beta أو Release Candidate**:
|
||||
المشاريع اللي بتشتغل على كذا نظام تشغيل ساعات بيكون فيها مشاكل توافق.
|
||||
قبل الإصدارات، المطورين بينزلوا نسخ تجريبية علشان الناس تجربها.
|
||||
لو شغّلت البرنامج على نظام تشغيل مختلف واشتغل، ده بيساعدهم يعرفوا إن النسخة كويسة.
|
||||
|
||||
مش لازم تعمل حاجة غير إنك تبني البرنامج وتفتحه وتجربه.
|
||||
لو شغال، بلغهم.
|
||||
ده بيفرق كتير جدًا مع المطورين.
|
||||
|
||||
7. **صلّح Bug**: ده غالبًا أول حاجة الناس بتعملها لما تبدأ تشتغل في الكود.
|
||||
دور على Bug شكله بسيط، وجرب تصلحه.
|
||||
اكتب ملاحظاتك جوه الكود، ولو في Test يوضح إن المشكلة اتحلت، ضيفه.
|
||||
لو معرفتش تصلحها، اكتب اللي وصلتله في التذكرة.
|
||||
|
||||
8. **اكتب Test**:
|
||||
معظم المشاريع عندها Tests، بس دايمًا فيه مكان لإضافة تانية.
|
||||
استخدم أدوات بتقيس مدى التغطية، زي `gcov` أو `Devel::Cover`.
|
||||
وشوف أجزاء الكود اللي مش متغطية، وضيف لها Test.
|
||||
|
||||
9. **اسكت تحذير من الكومبايلر**:
|
||||
لما تبني برامج C، ممكن يطلعلك تحذيرات.
|
||||
مش دايمًا معناها إن فيه مشكلة، بس بتشوّش.
|
||||
لو شفت تحذير، شوف هل فعلاً فيه مشكلة؟
|
||||
لو لأ، عدل الكود علشان تسكت التحذير.
|
||||
|
||||
10. **ضيف تعليق**:
|
||||
لو لقيت جزء في الكود مش مفهوم، اكتبه تعليق.
|
||||
أكيد في ناس غيرك هتتلخبط برضو.
|
||||
ابعت تعديل فيه التعليقات دي.
|
||||
|
||||
## الشغل على التوثيق
|
||||
المستندات دايمًا بتتاخد بشكل بسيط.
|
||||
وساعات بتكون مكتوبة كأن اللي بيقراها أصلاً فاهم المشروع.
|
||||
لو حسيت إن التوثيق مش واضح، قول.
|
||||
اللي عنيهم جديدة بيشوفوا حاجات الناس اللي شغالة عليها مش شايفاها.
|
||||
|
||||
11. **اعمل مثال**:
|
||||
مفيش مشروع عنده أمثلة كتير كفاية.
|
||||
لو فيه API، أو مكتبة، أو برنامج GUI زي Gimp، أو حتى أداة سطر أوامر – اعمل مثال عملي بيشرح ازاي تستخدمه.
|
||||
|
||||
ممكن المثال يكون حاجة بسيطة من كود انت كتبته، أو حتى فيديو Screen Recording وانت بتستخدمه.
|
||||
الناس بتحب تشوف التطبيق العملي أكتر من الكلام.
|
||||
|
||||
## اشتغل مع المجتمع
|
||||
الـ Open Source مش بس كود. المجتمع هو اللي بيخلي المشاريع دي تعيش وتكبر.
|
||||
فيه طرق كتير تقدر تساعد بيها في تقوية المجتمع حوالي المشروع.
|
||||
|
||||
12. **جاوب على سؤال**:
|
||||
أحسن طريقة تساعد بيها المشروع والمجتمع هي إنك تساعد غيرك.
|
||||
لما حد جديد يسأل سؤال، وحضرتك تجاوبه بدل ما تقول له "روح اقرأ الـ Manual"، كده إنت مش بس ساعدته،
|
||||
إنت كمان شجّعته يكمل، ويمكن كمان يبقى عضو نشيط في المشروع بعد كده.
|
||||
|
||||
كلنا بدأنا من الصفر، والمشاريع محتاجة دايمًا ناس جديدة تدخل علشان تفضل عايشة.
|
||||
|
||||
13. **اكتب تدوينة (Blog Post)**:
|
||||
لو عندك مدونة، احكي فيها عن تجربتك مع المشروع اللي بتستخدمه.
|
||||
قول واجهت إيه مشاكل، وازاي حليتها.
|
||||
كده بتساعد المشروع بطريقتين:
|
||||
- إنك بتخلي الناس تفكر في المشروع وتسمع عنه.
|
||||
- وإنك بتسيب أثر للي بعدك لو حد واجه نفس المشكلة وعمل بحث على جوجل.
|
||||
|
||||
(والتدوينة دي كمان ممكن تبقى وسيلة كويسة توري بيها خبرتك الحقيقة في الشغل لما تيجي تدور على شغل.)
|
||||
|
||||
14. **طوّر موقع المشروع**:
|
||||
لو عندك خبرة في تصميم المواقع، وساعدت في تحسين الموقع أو شكله العام، ده وقتك مش بيضيع.
|
||||
يمكن المشروع محتاج لوجو، أو ستايل أحسن، أو تنظيم أحسن للمحتوى.
|
||||
الحاجات دي ساعات بتكون ناقصة عند المبرمجين، وساعتها أي حد عنده ذوق أو خبرة في التصميم بيفرق جامد.
|
||||
أنا عن نفسي بتمنى ألاقي حد يساعدني في التصميم في مشاريعي!
|
||||
|
||||
15. **اكتب توثيق تقني (Documentation)**:
|
||||
لو تقدر تشرح ازاي برنامج أو أداة شغالة، يبقى تقدر تكتب توثيق تقني عنها.
|
||||
مشاريع Open Source كتير بتبقى محتاجة توثيق جديد، أو تطوير اللي موجود، أو تبسيطه للناس.
|
||||
|
||||
كل ما كانت كتابتك أبسط وأوضح، كل ما كانت أحسن.
|
||||
وأجمل حاجة؟ مش لازم تكون مبرمج علشان تكتب Documentation.
|
||||
|
||||
والأهم من كل ده، اسمع الناس بتتكلم عن إيه.
|
||||
حاول تلاحظ المشاكل اللي محتاجة حل.
|
||||
مثلاً، في مرة على Mailing List لمشروع Parrot، قرروا ينقلوا من Trac لـ GitHub في نظام التذاكر.
|
||||
ناس كتير كانوا ضد القرار علشان مفيش طريقة ينقلوا التذاكر القديمة.
|
||||
دخلت وقلت "طب ما أكتب أنا برنامج يحوّل التذاكر؟" والناس فرحت جدًا.
|
||||
فعلاً كتبت برنامج نقل أكتر من 450 تذكرة، واحتفظنا بتاريخهم.
|
||||
نجاح جميل، وساعدت الفريق، والمطورين ركزوا في شغلهم بدل وجع الدماغ.
|
||||
|
||||
16. **علّم وساعد غيرك**:
|
||||
أحسن طريقة تتعلم بيها أكتر، إنك تشرح اللي فهمته لحد تاني.
|
||||
المدرّس الشاطر هو اللي يقدر يشرح حاجة معقدة بطريقة بسيطة.
|
||||
|
||||
لو علمت حد، أو ساعدته، مش بس هتحس إنك عملت حاجة كويسة،
|
||||
ده كمان هيثبت المعلومة في دماغك، ويقوّي مهاراتك.
|
||||
ولما حد يساعدك، ما تحتفظش بالمعلومة لنفسك.
|
||||
شارك اللي عرفته، وخلّي الدنيا مكان أحسن.
|
||||
|
||||
والسلام عليكم ورحمة الله وبركاته.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user