6 دروس تعلمتها من تطوير مشاريع مفتوحة المصدر

وجهة نظر عالم البيانات

المصدر المفتوح هو مفهوم مذهل! ومن خلال تجميع المصادر والمهارات والمعرفة لمجتمع بأكمله، يمكن إنشاء أدوات لم يكن من الممكن صنعها بمعزل عن غيرها. إن الأدوات التي تنتج عن عمليات التعاون هذه هي في الحقيقة أكثر من مجموع أجزائها.

ونتيجة لذلك، نستخدم نحن علماء البيانات هذا البرنامج المتاح مجانًا والذي يقود العديد من التقنيات بينما لا تزال لدينا الفرصة للمشاركة في تطويره.

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

إن تطوير المصادر المفتوحة هو أكثر من مجرد برمجة

خلال هذا الوقت، كان هناك الكثير من العقبات التي يجب التغلب عليها والدروس التي يجب تعلمها. بدءًا من التبعيات الصعبة وخيارات تصميم واجهة برمجة التطبيقات وحتى التواصل مع قاعدة المستخدمين.

قد يكون العمل على المصادر المفتوحة، سواء كنت مؤلفًا أو مشرفًا أو مطورًا، أمرًا شاقًا للغاية! في هذه المقالة، أشارك بعض تجاربي في هذا المجال والتي آمل أن تساعد أولئك الذين يرغبون في تطوير المصادر المفتوحة.

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

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

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

ثق بي، كتابة التوثيق الجيد هي مهارة في حد ذاتها.

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

نظرة عامة على كيفية كيبيرت الأعمال موجودة في الوثائق.

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

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

من خلال التفاعل مع المجتمع، فإنك تشجعهم على مشاركة المشكلات والأخطاء، ولكن أيضًا طلبات الميزات والأفكار الرائعة لمزيد من التطوير! كل هذه تساعد في خلق شيء لهم.

إن مجتمع المصادر المفتوحة هو في الواقع أكثر من مجرد مجموع أجزائه

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

تنفيذ طلبات الميزات من قبل المجتمع يقطع شوطا طويلا! مقتطف من المناقشة هنا.

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

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

علاوة على ذلك، فإن تطوير المشاريع مفتوحة المصدر أعطاني الفرصة للتعاون مع مطورين آخرين.

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

من المؤكد أنه يساعد إذا كان لديك دوافع جوهرية ولكن الأمر لا يزال يستغرق بعض الوقت للتأكد من أن كل شيء متماسك.

لحسن الحظ، يمكنك التطلع إلى مجتمعك لمساعدتك عند الإجابة على الأسئلة وعرض حالات الاستخدام وما إلى ذلك.

على مدار السنوات القليلة الماضية، تعلمت أن أكون أكثر استرخاءً عندما يتعلق الأمر بكسر التغييرات. خاصة عندما يتعلق الأمر بالتبعيات، في بعض الأحيان يكون هناك الكثير مما يمكنك فعله!

تعد معرفة عدد مرات استخدام الحزمة الخاصة بك بمثابة مساعدة هائلة في فهم مدى شعبيتها. ومع ذلك، لا يزال الكثيرون يستخدمون نجوم Github لمساواة الحزمة بالجودة والشعبية.

تأكد من تحديد المقياس الصحيح. يمكن تضخيم نجوم GitHub ببساطة بسبب التسويق المناسب. العديد من النجوم لا تعني الشعبية.

باعتبارنا علماء بيانات، يجب علينا أولاً أن نفهم ما الذي نقيسه بالضبط. نجوم GitHub ليسوا أكثر من مجرد مستخدم يمنح نجمة لحزمة ما. وهذا لا يعني حتى أنهم استخدموا البرنامج أو أنه يعمل بالفعل!

عدد التنزيلات لـ KeyBERT. مؤشر أفضل بكثير من نجوم جيثب.

من الناحية الفنية، يمكنني أن أدفع لألف شخص ليقوموا بتمييز اتفاقيات إعادة الشراء الخاصة بي. وبدلاً من ذلك، أركز على مجموعة متنوعة من الإحصائيات، مثل التنزيلات والشوكات، ولكن أيضًا على عدد المشكلات التي أحصل عليها يوميًا.

على سبيل المثال، من الرائع أن يتم عرض الطرود الخاصة بك أخبار القراصنة لكنه لا يخبرك إذا تم استخدامه باستمرار.

كطبيبة نفسية، أميل إلى التركيز كثيرًا على تصميم حزمتي. يتضمن ذلك أشياء مثل الوثائق والبرامج التعليمية، ولكنه يُترجم أيضًا إلى كيفية البرمجة.

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

التصميم المعياري لنمذجة الموضوع باستخدام بيرتوب.

إن أخذ وجهة نظر الطبيب النفسي أثناء تطوير الميزات الجديدة جعل من السهل جدًا معرفة ما يجب التركيز عليه. ما الذي يبحث عنه المستخدمون؟ كيف يمكنني البرمجة بطريقة تشرح الخوارزمية؟ لماذا يستخدم المستخدمون هذه الحزمة بالفعل؟ ما هي العيوب الرئيسية للكود الخاص بي؟

أخذ الوقت الكافي لفهم المستخدم العادي يدفع إلى التبني

كل ما سبق غالبا ما يؤدي إلى قاعدة أساسية ولكنها مهمة؛
اجعل الأمر بسيطًا للغاية

شخصيًا، إذا وجدت صعوبة في تثبيت حزمة جديدة واستخدامها، فمن غير المرجح أن أعتمدها في سير العمل الخاص بي.

إذا كنت مثلي متحمسًا للذكاء الاصطناعي أو علوم البيانات أو علم النفس، فلا تتردد في إضافتي لينكدين: أو تابعني تويتر. يمكنك أيضًا العثور على بعض المحتوى الخاص بي على موقعي موقع شخصي.

تم إنشاء جميع الصور بدون مصدر الائتمان من قبل المؤلف

6 دروس تعلمتها من تطوير المشاريع مفتوحة المصدر أعيد نشرها من المصدر https://towardsdatascience.com/6-lessons-i-learned-from-developing-open-source-projects-4617e26f247c?source=rss—-7f60cf5620c9—4 عبر https://towardsdatascience.com/feed

<!–

->

الطابع الزمني:

اكثر من مستشارو Blockchain