اضغط على هذا: هل ملحقات WordPress الخاصة بك متوافقة مع GPL؟
نشرت: 2023-10-06مرحبًا بك في Press This، بودكاست مجتمع WordPress من WMR. تضم كل حلقة ضيوفًا من جميع أنحاء المجتمع وتناقش أكبر المشكلات التي تواجه مطوري WordPress. وفيما يلي نسخة من التسجيل الأصلي.
مدعوم من ريد سيركل
Doc Pop : أنت تستمع إلى Press This، وهو بودكاست لمجتمع WordPress على WMR. نسلط الضوء كل أسبوع على أعضاء مجتمع WordPress. أنا مضيفك، دكتور بوب. أنا أدعم مجتمع WordPress من خلال دوري في WP Engine ومساهماتي في TorqueMag.io. يمكنك الاشتراك في اضغط على هذا على RedCircle، أو iTunes، أو Spotify، أو تطبيق البث المفضل لديك، أو يمكنك تنزيل الحلقات مباشرة من WMR.fm.
إذا سبق لك أن ساهمت في مشروع مفتوح المصدر، فأنت تعلم أن الأمر كله يتعلق بالتعاون والابتكار، ولكن هناك تحديًا غير معروف قد يواجهه العديد من المطورين في ضمان بقاء المكونات الإضافية الخاصة بهم على الجانب الأيمن من GPL وGNU وGNU، الترخيص العام العام. إنها ليست مجرد مسألة امتثال. يتعلق الأمر بالحفاظ على روح المصدر المفتوح.
لذا، لدينا اليوم ضيف خاص، جيف بول، مدير المصادر المفتوحة في 10up، والذي سيشارك حلًا يغير قواعد اللعبة قدمه في WordCamp US هذا العام. تخيل أن لديك أداة تقوم بفحص قاعدة التعليمات البرمجية الخاصة بك تلقائيًا لضمان توافق GPL الخاص بمكونك الإضافي، حتى عند إضافة ميزات وتبعيات جديدة.
وهذا ما سنتحدث عنه اليوم. ولكن قبل أن نتعمق في الأمر يا جيف، هل يمكنك أن تخبرنا بقصة أصل WordPress الخاص بك؟
جيف بول : بالتأكيد. لا أعرف أن لدي السنة بالضبط. ربما كان ذلك في أوائل العقد الأول من القرن الحادي والعشرين. كان لدي موقع شخصي كان موجودًا على نظام إدارة محتوى سابق، وأعتقد أنه كان يسمى Geeklog. وبين ذلك ومزود الاستضافة الخاص بي في ذلك الوقت، ومن يدري كم من العوامل الأخرى، كان هناك انهيار للمحتوى في نظام إدارة المحتوى (CMS).
ولذا كنت أبحث فقط عن شيء لاستبداله في ذلك الوقت. لقد وجدت WordPress وقد نجح في تلبية ما أحتاج إليه. كما تعلمون، لم أسلك طريق بناء نظام إدارة المحتوى (CMS) بنفسي، والذي يبدو أنه قصة أصل جيدة لكثير من الأشخاص. لكن ذلك كان، لا أعلم، من 04 إلى 07، في مكان ما في هذا النطاق، لكنني لم أتجاوز الفجوة إلى المساهمة حتى إصدار WordPress 4.7 عندما انضممت إلى فريق الإصدار هناك هيلين هو ساندي وآرون جوربين. لذلك، أمضيت سنوات عديدة كمستهلك للمشروع، ولم أتمكن من أن أصبح مساهمًا إلا بعد مرور بعض الوقت على الطريق، وكنت، كما تعلمون، مستمرًا في هذا المسار منذ ذلك الحين. حسنًا، كما تعلمون، المستهلك المزدوج والمساهم في هذه المرحلة.
DP : ولقد كنت مساهمًا نشطًا جدًا في WordPress Core أيضًا. تحتفظ 10up بالعشرات من المكونات الإضافية في مستودع المكونات الإضافية، بما في ذلك ElasticPress وDistributor وClassifAI. كل هذه العناصر متاحة على مستودع wordpress.org، ويتم الاحتفاظ بها على GitHub، بشكل عام وباستخدام ممارسات مفتوحة المصدر.
أنت على دراية بالموضوع الذي سنتعمق فيه. لماذا لا نبدأ بمستودع WordPress، مثل مستودع المكونات الإضافية لـ WordPress؟ أخبرنا بسرعة، ما هو مستودع WordPress وما هي القواعد التي تمكنك من تحميل أي شيء إليه؟
ج.ب : بالتأكيد. لذلك تتم استضافة مستودع WordPress بواسطة WordPress.org، وهو مشروع مفتوح المصدر، منفصل عن WordPress.com، منفصل عن أي مضيف آخر في النظام البيئي، منفصل عن شركات المكونات الإضافية أو الموزعين التابعين لجهات خارجية. وهو ما يتم ربطه أو ربطه بشكل مباشر بكل عملية تثبيت لـ WordPress. عندما يكون شخص ما في مسؤول WordPress، ويبحث عن مكون إضافي أو سمة، فإن عمليات البحث هذه تتم من خلال مستودع المكونات الإضافية WordPress.org ومستودع السمات، المتوفر في مسؤول WordPress. وبالمثل على WordPress.org. على نحو فعال نفس البحث، نفس المحتوى، متاح هناك.
فيما يتعلق بإدراج شيء ما هناك، فإن فريق مراجعة المكونات الإضافية في Wordpress.org لديه مجموعة من الإرشادات التفصيلية لما يجب فعله وما لا يجب فعله لمطوري المكونات الإضافية. وبعد ذلك، هناك سير عمل فعلي للإرسال يجب تنفيذه لإجراء هذا الإرسال الأولي إلى مستودع المكونات الإضافية Wordpress.org. بمجرد الموافقة على ذلك، سيتم إنشاء مستودع SVN للمكون الإضافي الخاص بك. وكما تعلم، يتم دفع أي تحديثات وإصدارات وما إلى ذلك إلى SVN. وهذا هو المكان الذي يعيش فيه كل شيء ويتنفس حاليًا للأشياء المتاحة للبحث على WordPress.org أو داخل مسؤول WordPress.
DP : إحدى القواعد الأولى التي أعتقد أنها هي أن كل ما تضعه في مستودع WordPress يجب أن يكون متوافقًا مع GPL، بما في ذلك الخطوط والصور، وليس فقط التعليمات البرمجية. هل هذا صحيح؟
جي بي : صحيح. يمين. لذا، حرفيًا، القاعدة الأولى لفريق المكونات الإضافية هي أن المكونات الإضافية في مجملها يجب أن تكون متوافقة مع GPL. هذا هو نفس الترخيص الذي يتبعه WordPress، وكما ذكرت، يجب أن تكون التعليمات البرمجية والصور ومكتبات الطرف الثالث متوافقة مع GPL. ليس من الضروري أن يكون ترخيص GPLv2 الفعلي، كما تعلمون، فهناك تراخيص أخرى متوافقة مع GPL، ولكن نعم، الخطوط والصور ومكتبات الطرف الثالث والتبعيات، كل ذلك يجب أن يكون متوافقًا مع GPL وليس فقط الكود الذي يكتبه مطور البرنامج المساعد، أليس كذلك؟ كل تلك الأشياء الأخرى تحتاج أيضًا إلى أن تكون متوافقة مع GPL.
د.ب : وحتى لا نجعل المستمعين ينتظرون، يمكننا أن ننتقل إلى الأمر. كان حديثك حول كيفية التحقق من توافق GPL باستخدام إجراءات GitHub. هل يمكنك إرشادنا خلال هذه العملية؟
جي بي : نعم، هذا ينبع قليلاً من دوري كمدير للمصادر المفتوحة في 10Up. ربما لا يكون هذا شيئًا قد يكون مؤلف البرنامج الإضافي اليومي، كما تعلمون، مكونًا إضافيًا واحدًا أو حتى عدة مكونات إضافية على علم به، أو قد يزعجهم. لكنني أعتقد أنه في مرحلة ما، استيقظت في منتصف الليل تقريبًا وأفكر، "لا أعرف إذا كنت أعرف على وجه اليقين أنك تعرف، كل الصور، وكل تبعيات الطرف الثالث، وكل الخطوط ، وما إلى ذلك، متوافقة مع GPL وتحاول اكتشاف طريقة على نطاق واسع لنا في 10up حيث لدينا، كما ذكرت، العشرات من المكونات الإضافية المتوفرة في مستودع Wordpress.org أو على GitHub أيضًا. المصدر هناك.
لم أكن أرغب في المرور بكل ذلك بمشط دقيق والتحقق من أي تبعيات أولية كنا نستخدمها للمكونات الإضافية ومعرفة كيفية ترخيصها. يمكن أن يكون ذلك بمثابة ألم في مؤخر البرنامج المساعد واحد، ناهيك عن متعددة. ومن خلال البحث عبر الإنترنت، حددت أن هناك بعض الأدوات، وبعض إجراءات GitHub التي يمكن استخدامها للمساعدة في أتمتة هذه العملية بشكل فعال بحيث، كما تعلمون، ليس مجرد فحص واحد للمستودع لمرة واحدة ليقول، نعم، سواء كنت متوافقًا أم لا، لست كذلك، ولكن استمر في عمليات الفحص حتى يتم إجراء أي إصلاحات للأخطاء أو تحسينات أو ما إلى ذلك في المستقبل، والتي قد تضيف تبعية جديدة أو ربما تؤدي إلى زيادة التبعية في المكون الإضافي الخاص بك والذي ربما حدث لتغيير الطريقة التي كان بها شيء ما مرخصًا، والقدرة على التحقق من استمرار ذلك، والقيام بهذا النوع من التمرير لأول مرة، كان شيئًا كنت أحاول اكتشافه حتى لا تصبح مجرد عملية يدوية ومكثفة ونوعًا ما مثل كابوس مستمر لضمان ذلك ، هذا التوافق.
لذا نعم، أعني، أعتقد أن القلق الأولي الذي كان لدي كان، لم أكن أعرف ذلك - لم يكن لدي أي طريقة لمعرفة أن بعض الميزات التي نضيفها، إذا كنا نقوم بتضمين تبعية جديدة، كانت متوافقة مع GPL ، ثم أدركنا أنه كان من الممكن أن يكون هناك سيناريو أسوأ حيث كان لدينا مكونات إضافية تم إصدارها، وتكررت هذه المكونات بالفعل بسبب وجود عدم توافق داخل برامجها.
وكانت تلك هي المشكلة الأولى التي أردت تجربتها وحلها. هذا الفحص الأولي، أليس كذلك؟ هل تعلم أن مكوناتنا الإضافية الفردية، وهل جميع المكونات الإضافية التي يدعمها 10up متوافقة حقًا مع الترخيص الذي أعلنا عنه؟ ونأمل أن نعبر أصابعنا عن ذلك. وبعد ذلك، كما تعلم، من هناك، هذا الفحص المستمر للتأكد من أن مسؤولي العلاقات العامة في المستقبل، سواء كانوا من فريقي أو من ممارسة المصادر المفتوحة في 10up، على نطاق واسع مع 10upers الآخرين الذين يساهمون في المشاريع، أو أي شخص في المجتمع، يضمنون أن هؤلاء حافظوا على الترخيص الذي ذكرناه في المكونات الإضافية نفسها.
DP : وفقط للتوضيح هنا، إذا لم تقم بذلك، إذا وجدت من خلال هذا، أنه كان هناك، أه، بعض التبعية الموجودة أو شيء ما، لم يكن متوافقًا، فهو نوع من التداعيات، العار من المجتمع أم أن هناك ضررًا عقابيًا قد تتعرض له بسبب عدم اتباع القواعد؟
جي بي : إذن أنا لست محاميا، أليس كذلك؟ لذا، كما تعلمون، ليس لدي أي حق قانوني في تقديم هذا التعليق، لذا، كما تعلمون، ليست نصيحة قانونية صالحة، ولكن النهج الذي اتبعته أثناء قيامي بإجراء عمليات الفحص هذه على المكونات الإضافية الخاصة بنا، لأنني مرة أخرى، لم أفعل ذلك أعلم، لقد كنت في الواقع متوترًا للغاية أثناء تشغيل كل هذه الأشياء، وماذا ستكون النتائج.
كانت خطتي هي أنه إذا وجدت أن هناك مكونًا إضافيًا يستخدم شيئًا غير متوافق مع GPL، فإن أفضل طريقة هي إما إزالة تلك التبعية، واستبدالها بشيء آخر، وتوضيح ذلك بشكل فعال، مهما كانت المشكلة وكان وبسرعة الافراج عن نسخة جديدة، أليس كذلك؟
لم يكن هناك الكثير مما شعرت أنه يمكن القيام به من أجل ما تم نشره وإصداره بالفعل. من وجهة نظري، لم يكن من الممكن القيام بأي من ذلك بطريقة تهدف إلى التحايل على الترخيص عمدًا. كان من الممكن أن يكون، كما تعلمون، في مرحلة ما على طول الخط، خطأ بشريًا، يشبه إلى حد ما مشكلة أمنية يتم الإبلاغ عنها إلى مؤلف البرنامج الإضافي. على سبيل المثال، أفضل نهج هو العمل على الإصلاح وإصدار الإصدار سريعًا حتى يكون الأشخاص الذين يبقون على اطلاع على المكونات الإضافية في حالة أكثر أمانًا، سواء كانت مشكلة أمنية أو في هذه الحالة، مشكلة تتعلق بالترخيص. بالتأكيد، إذا كان هناك مكون إضافي يدر إيرادات بشكل كبير، وإذا كان من الممكن أن يكون هناك، أسباب تثبت أنه كان من الخطأ المعروف أن يكون لديك شيء غير مرخص، جانبًا، لا أعتقد أن أي شخص في هذا المجال يفعل ذلك عن قصد، ولكن أعتقد أن الأشخاص الوحيدين الذين من المحتمل أن يكونوا معرضين للخطر القانوني هم أولئك الذين يدرون إيرادات كبيرة، والذين سيكونون هدفًا للترخيص.
لذا، نعم، أعتقد باختصار، إذا أجرى شخص ما فحصًا وعثر على مشكلة في قاعدة التعليمات البرمجية الموجودة لديه، أعتقد أن أفضل طريقة هي إصدار إصدار، إصدار محدث، كما تعلمون، في سجل التغيير، اذكر في ملاحظات الإصدار ما الذي تم تغييره ولماذا، وكن شفافًا بشأن ذلك. ولكن في تلك المرحلة، أعتقد أن هذا هو أفضل ما يمكن لمؤلف البرنامج الإضافي فعله في هذه الحالة. لحسن الحظ بالنسبة لمكونات 10up الإضافية، لم نواجه هذا السيناريو. كان كل شيء، لحسن الحظ، متوافقًا، وآمل أن الغالبية العظمى من الأشخاص الذين يسيرون في هذا المسار، ويقومون بإعداد بعض الأتمتة لمنحهم هذا المستوى من الراحة، سيكون لديهم تجربة مماثلة.
قد يكون الانتظار متوترًا وقلقًا بعض الشيء لبضع ثوانٍ أو دقيقة حتى يتم تشغيل إجراءات GitHub. لكن، كما تعلمون، بمجرد أن يظهر أن كل شيء يمر، أعتقد أن معظم الناس ربما ينتهي بهم الأمر في تلك الحالة.
DP : بالحديث عن الراحة، سنأخذ استراحة قصيرة. لذا اجلس واسترخي، وسنعود بعد الاستراحة التجارية القصيرة بالمزيد من مقابلتنا مع جيف بول، مدير المبادرات مفتوحة المصدر في 10up حول الحفاظ على توافق المكونات الإضافية الخاصة بك مع GPL. ترقبوا المزيد بعد هذه الاستراحة القصيرة.
DP : مرحبًا بك مجددًا في اضغط على هذا، وهو بودكاست مجتمع WordPress. أنا وثيقة. أنا أتحدث إلى Jeff Paul حول استخدام إجراءات GitHub للتأكد من أن الكود الخاص بك والمكونات الإضافية الخاصة بك متوافقة مع GPL. قبل الاستراحة، لقد تعمقنا في هذا الأمر قليلًا وتحدثنا عن العواقب إذا لم تكن ممتثلًا تمامًا. وأعتقد أنني أردت العودة إلى هذا الشيء المحدد. هناك إجراءات GitHub يمكن لأي شخص إنشاؤها. لكن يا جيف، لقد ذكرت في حديثك في WordCamp أنك تستخدم الإجراء الرسمي لـ GitHub، مع بعض التغييرات الصغيرة على ما أعتقد. هل يمكنك إخبارنا ما هو اسم الإجراء الذي يجب أن يبحث عنه الأشخاص حتى يتمكنوا من القيام بذلك؟
ج.ب : بالتأكيد. هذا هو إجراء مراجعة التبعية. لذا، فإن GitHub.com، إجراءات الشرطة المائلة، وتبعية الشرطة المائلة، ومراجعة الواصلة، وإجراء الواصلة. نأمل أن يحصل النص على ذلك بشكل صحيح. إذا كانت هناك أي مشكلة في العثور على ملاحظات حول هذا الموضوع على موقعي، في منشور يغطي الحديث. لذلك، هناك روابط متاحة، ولكن إذا كنت تبحث عن إجراء مراجعة التبعيات في سوق إجراءات GitHub، فستجد الرابط الرسمي الذي استخدمته، وهو يفعل أكثر من مجرد التحقق من تبعيات المكونات الإضافية. وسوف تحقق أكثر من مجرد التراخيص. ويمكنه أيضًا التحقق من نقاط الضعف والأشياء الأخرى في تبعيات البرنامج المساعد الخاص بك. لكن الشيء الوحيد الذي أستخدمه من أجله، والشيء الأساسي الذي أستخدمه من أجله، هو التحقق من وجود تراخيص غير صالحة في التبعيات داخل مكوناتنا الإضافية.
DP : وهذا هو الإجراء الذي يمكنك من خلاله إعداد نوع GPL الذي تريد متابعته. يمكنك تضمين ترخيص والتحقق من ذلك. وهناك أيضًا احتمال إذا احتفظت، على سبيل المثال، بالعشرات من المكونات الإضافية، فلا يزال بإمكانك المصدر لنفس الشيء. يمكنك الحصول على كل هذه المكونات الإضافية التي تحافظ على استمرار وصولها إلى هذا الدليل الواحد، لذلك لا يتعين عليك الذهاب وتحديث ذلك في كل مرة، أليس كذلك؟
جي بي : صحيح. نعم. أرى أنك جلست خلال حديثي في WordCamp US، أهنئك على تواجدك بين الجمهور واستيقاظك واستماعك، أو شاهدته على YouTube أو WordPress.tv، ولكن نعم، هناك نوعان من التدفقات القياسية التي أتوقعها من الناس للمتابعة هنا.
الأول، مؤلف البرنامج الإضافي المسؤول عن واحد أو عدد صغير جدًا من المكونات الإضافية، أو شخص لديه المزيد على مقياس واحد إلى ن، لديهم العديد من المكونات الإضافية التي يدعمونها. لذلك بالنسبة للأشخاص الذين لديهم إجراء واحد فقط، يمكن لإجراء GitHub، كما حددته، بشكل فعال ضمن ملف سير العمل هذا حيث تقوم باستدعاء إجراء مراجعة التبعية بشكل فعال، وجعله يفحص المستودع الخاص بك، هناك متغيران بيئيان أو المعلمات التي يمكنك تقديمها. هذا الإجراء الأول هو السماح بالتراخيص، والنتيجة الطبيعية لذلك هي رفض التراخيص. لا يمكنك القيام بالأمرين معًا في نفس الوقت. وكان النهج الذي اتبعته هو اتباع تراخيص السماح بدلاً من تراخيص الرفض. كان التفكير هناك... أفضل أن يكون لدي حالة نسيت فيها تضمين ترخيص متوافق مع GPL في قائمة التراخيص المسموح بها والحصول على نتيجة إيجابية كاذبة، أليس كذلك؟ مثل الحصول على علامة على تبعية باعتبارها غير متوافقة مع تراخيصي لأن ترخيصها كان مجرد شيء نسيت إضافته إلى القائمة، مقابل إذا استخدمت قائمة رفض التراخيص ونسيت رفض ترخيص لا أريده، فيمكن أن يحدث ذلك كان يعني أن التبعية سوف تمر، ولن يتم اكتشافها من خلال هذا الفحص.
لذا، فإن توصيتي القوية للغاية هي استخدام قائمة التراخيص المسموح بها. وفي حالة احتفاظ شخص ما بمكون إضافي واحد، فما عليك سوى استخدام تلك المعلمة وقائمة التراخيص تلك في ملفات سير العمل الخاصة بك. لذلك، بالنسبة لـ 10up، بالنسبة للمكونات الإضافية لدينا، هذا هو دليل GitHub النقطي، ثم الدليل الفرعي لسير العمل هناك. ومن ثم لدينا سير عمل مراجعة التبعية الذي يستدعي إجراء مراجعة التبعية، ويحتوي على قائمة التراخيص المسموح بها، ويمكنك سحب العرض التقديمي الخاص بي إما على موقعي أو العثور على المحادثة عبر الإنترنت والاطلاع على قائمة التراخيص التي لدينا. يمكنك أيضًا استكشاف أي من مستودعات 10up على GitHub والاطلاع على التراخيص التي نستكشفها.
إن ملفات سير العمل الخاصة بنا موثقة بشكل جيد إلى حد ما وتشرح كيف وصلنا إلى تحديد ما شعرنا أنه تراخيص متوافقة مع المكونات الإضافية الخاصة بنا. لذا، سيكون من المرحب به استخدام الأشخاص للقائمة التي لدينا، وسيكونون موضع ترحيب لاستخدام مجموعة فرعية من تلك القائمة، وسيكونون موضع ترحيب لإجراء أبحاثهم الخاصة، ربما ليشعروا بهذا المستوى من الراحة. لكننا أجرينا بحثًا مطولًا إلى حدٍ ما للتأكد من أن ما كنا نستخدمه في قائمة تراخيص السماح لدينا يتوافق بالفعل مع ما نعلن عنه. وبشكل افتراضي تقريبًا بالنسبة لـ 10up، نستخدم GPLv2 أو الإصدارات الأحدث، وبالتالي فإن جميع التراخيص التي ندرجها متوافقة مع GPLv2، على وجه التحديد.
إذن، هذا هو الحال بالنسبة لمؤلف البرنامج الإضافي الذي يمتلك مكونًا إضافيًا واحدًا يحتفظون به. كما ذكرت، بالنسبة للحالة التي يكون فيها لدى شخص ما أكثر من ترخيص واحد أو عدة تراخيص، يمكن أن يكون لديك ملف سياسة ترخيص منفصل يحتوي فعليًا على جميع تلك التراخيص المعلنة فيه. ثم تقوم بالإشارة إلى ملف التكوين هذا، وملف سياسة الترخيص هذا، في سير العمل في المكونات الإضافية الخاصة بك، بحيث، كما ذكرت، لديك في هذه المرحلة مكان واحد فقط تحتاج إليه للاحتفاظ بقائمة التراخيص المتوافقة. إذا حدث، كما تعلمون، أن يكون هناك ترخيص جديد مفتوح المصدر ومعتمد من المبادرة ويصادف أنه متوافق مع GPLv2 بالنسبة لنا، أليس كذلك؟ إذا ظهر شخص جديد في مكان الحادث، فيمكن إضافته إلى القائمة، أو ربما إذا كان هناك حاجة إلى إزالته لأي سبب من الأسباب، فلن يتعين عليك القيام بذلك في عشرات المواقع. يمكنك القيام بذلك في مكان واحد، ثم يتم تحديث جميع ملفات سير العمل التي تشير إلى هذا التكوين على الفور، باستخدام قائمة التراخيص الجديدة تلك.
DP : كل هذا يتم تلقائيًا، لذا إذا قام شخص ما بطلب سحب، فإنه يفعل ذلك من أجلك فقط. يمين؟
ج.ب : صحيح، صحيح. لذلك، بينما نقوم بإنشاء ملفات سير العمل الخاصة بنا في مستودعاتنا، يكون لدينا مشغل لطلب السحب. لذلك، ربما يمكنك أيضًا إعداده للتشغيل وفقًا لجدول CRON، ويمكنك تشغيله أسبوعيًا أو شهريًا، ولكن في الواقع، بمجرد القيام بهذا التشغيل لأول مرة، يمكنك مسح قاعدة التعليمات البرمجية الكاملة للتبعيات، وسيحدث ذلك بالفعل للأمام، ما عليك سوى التحقق من طلبات السحب الواردة، وربما يمكنك أيضًا التحقق من الالتزامات الفردية إذا كنت لا تستخدم نظامًا صارمًا إلى حد ما لطلب العلاقات العامة مهما كانت فروعك الافتراضية أو الثابتة للمكونات الإضافية الخاصة بك.
لذا، قد تكون هناك محفزات إضافية قد يرغب الأشخاص في استخدامها. بالنسبة إلى 10up، نميل إلى مطالبة العلاقات العامة بشكل صارم بتطوير الفروع وربطها حتى نتمكن من استخدام هذا الإجراء بشكل موثوق ونعلم أن أي تغييرات على التبعيات التي تقدم واحدة جديدة أو تصطدم بإصدار يحدث لتغيير الترخيص سيتم اكتشافها بواسطة هذا . لذا، نعم، نحن نستخدم طلبات السحب، ونقوم بتحريكها أو تشغيلها، ولكن اعتمادًا على مدى صرامة الأشخاص، ربما يكون لديك هذا التحقق من التزام الفرد بفرع معين، أو حتى تشغيله وفقًا لجدول يومي أو أسبوعي أو شهري، فقط لكي تشعر بالراحة عندما تعلم أن الكود الخاص بك لا يزال يمر، وأنه لا توجد أي تراخيص غير متوافقة مع، في هذه الحالة، GPLv2 لـ 10up.
DP : سنأخذ استراحة قصيرة أخرى هنا. عندما نعود، سننهي محادثتنا مع جيف بول حول تراخيص GPL وربما نتطرق إلى أي شيء لم نتطرق إليه سابقًا. لذا ترقبوا المزيد بعد هذه الاستراحة القصيرة.
DP : مرحبًا بك مجددًا في اضغط على هذا، وهو بودكاست مجتمع WordPress. نحن نختتم العرض وسنقوم بتبديل التروس قليلاً. كان هناك بعض الحديث مؤخرًا عن عملية المراجعة في مستودع المكونات الإضافية، وتوضيح هذه الحقيقة بشكل أساسي، أنها أبطأ قليلاً مما كانت عليه في الماضي.
يقول بعض الأشخاص أنهم يعلمون أن الأمر يستغرق، كما تعلم، أشهرًا حتى تتم مراجعة شيء ما، وأعتقد أنني رأيته يصل إلى ذروته في أربعة أسابيع تقريبًا في معظم السنوات التي أمضيتها في WordPress. لذا يا جيف، أعلم أنهم تحدثوا عن بعض التغييرات التي سيجرونها على ذلك. هل يمكنك أن تخبرنا ما الذي يعمل عليه الفريق الآن؟
ج.ب : بالتأكيد. نعم. ولقد قمت، كما تعلم، بتضخيم ما قلته. أعتقد تاريخيًا أنني رأيت أن كل الأشياء التي قدمتها كانت أقل من أسبوعين وكانت أسرع بكثير مما يتم الإبلاغ عنه عادةً. ويستغرق الأمر حوالي 88 يومًا أو شيء مؤسف لجميع المعنيين.
أعتقد أن هناك بعض التحولات في هذا الفريق. لقد فقدت بعض المعرفة العليا ذات الخبرة العالية. وأعتقد أن الأشخاص الذين تدخلوا بلطف للمساعدة في ملء هذا الفراغ، ما زالوا يصلون إلى النقطة التي يمكنهم من خلالها الحصول على نفس النوع من الإنتاجية في معالجة المكونات الإضافية ومراجعة عمليات الإرسال الأولية تلك. وهناك عمل يقومون به لمحاولة أتمتة بعض ذلك. إذًا، بعض الأشياء التي، كما تعلمون، تكون أجهزة الكمبيوتر أفضل منها ربما لا يكون البشر كذلك، ربما مثل تشغيل معايير ترميز WordPress والتأكد من وجود أخطاء فادحة تم الإبلاغ عنها، أليس كذلك؟ بدلاً من أن يضطر الإنسان إلى مراجعة هذه الأشياء ومعالجتها، مع وجود مدقق المكونات الإضافية الذي يعمل ويتحقق من الأشياء التي يمكن تشغيلها آليًا ومساعدة فريق مراجعة المكونات الإضافية في الحصول على توقف أولي سريع، هل يتم تمرير الأشياء تلقائيًا؟ إذا كان الأمر كذلك، حسنًا، قم بالتعمق في المراجعة البشرية الخاصة بك وقم بتسريع الأمور. إذا تم الإبلاغ عن أشياء، وكانت آلية بطبيعتها ولا تمر، فأعتقد أنها استجابة أسرع لمطور البرنامج الإضافي، لقد حددنا هذه الأشياء الأولية في فحصنا، كما تعلمون، من فضلكم، حل هذه الأشياء ثم أرسل ملفًا مضغوطًا محدثًا لإعادة الأمور إلى مسارها الصحيح.
لذلك أعلم أنهم يعملون على إضافة بعض الأتمتة، وأعتقد أنه كلما تمكنوا من فعل المزيد لمساعدتهم على هذا المسار، كلما كان ذلك أفضل، فقط لأنه في هذه المرحلة، هناك أكثر من ألف مكون إضافي، يكون العمل المتراكم طويلًا، ومرة أخرى ، لا يساعد أحدا هناك. لذا، نعم، إنهم يعملون على الأتمتة. أعلم أنهم يريدون بذل المزيد من الجهد، وأعتقد أنه إذا كان هذا مجالًا يكون فيه شخص ما موهوبًا بشكل خاص في الأتمتة ويريد المساهمة، فأعتقد أن فريق مراجعة المكونات الإضافية يرغب في الحصول على بعض المساعدة في هذا الشأن. لذا تواصل بالتأكيد مع Slack إذا كان هذا هو الحال.
DP : وبالحديث عن التواصل، إذا كان لدى الأشخاص أسئلة، حول محاضرتك التي ألقيتها في WordCampUS، أو فقط بعض المشاريع التي تعمل عليها 10uP في الفضاء المفتوح المصدر، ما هي أفضل طريقة للتواصل معك؟ ؟
ج.ب : بالتأكيد. لذا فإن موقع الويب الخاص بي هو jeffpaul.com. لدي عرضي التقديمي هناك، إذا بحثت فقط عن GPL، فمن المحتمل أن يكون أحد المشاركات الأولى على أية حال. بخلاف ذلك، فإن بريدي الإلكتروني هو [email protected] ، والبريد الإلكتروني الخاص بالعمل، ثم كل شبكات التواصل الاجتماعي تقريبًا. WordPress.org، وGitHub، وTwitter، وslash X، وأنا @Jeff Paul، ويمكنك أن تجدني جميعًا على الشبكات الاجتماعية بهذه الطريقة.
DP : بالمثل، إذا أراد المستمعون العثور على أمثلة لاحتمال عمل 10uP على GitHub، فأنا أفترض أن هذا مجرد 10up على GitHub؟
جي بي : صحيح، نعم، github.com/10up. جميع مستودعات المكونات الإضافية لدينا متاحة للعامة. يتتبع فريقنا القضايا الجديدة والعلاقات العامة عن كثب. يتم إرسال كل هذه الأشياء إلى قناة Slack الخاصة بنا، لذلك يتم فتح أي شيء أو أي أسئلة لدى الأشخاص أو أي مناقشات هناك. يجب أن يكون فريقنا مستجيبًا إلى حد ما لهذه الأمور، ولكن إذا لم يكن الأمر كذلك، فتواصل معي على WordPress Slack أو Twitter عبر البريد الإلكتروني، أيًا من هذه الأمور سينجح. يسعدني دائمًا الدردشة مفتوحة المصدر مع الأشخاص في المجتمع.
DP : حسنًا، شكرًا جزيلاً لك على انضمامك إلينا اليوم، يا جيف، لقد كان من الرائع التحدث معك وتعلمت الكثير عن الإجراءات التي يتخذها GitHub لطلبات السحب وأتمتة تلك التجربة. هذا مفيد جدًا.
إذا فاتتك حلقة "اضغط على هذا" الأسبوع الماضي، تحدثنا إلى كارمن جونسون حول الخطوات التي يمكنك اتخاذها لإعداد موقعك لنهاية عمر MySQL 5.7 وكيفية الاستعداد لـ MySQL 8. لذا، فهذه حلقة جيدة حقًا. يمكن التحقق من ذلك، ولدينا الكثير. يمكنك العثور عليها على TorqueMag.io إذا كنت تريد العثور على الإصدارات المكتوبة. نشكرك على الاستماع إلى اضغط على هذا، وهو بودكاست لمجتمع WordPress على WMR. يمكنك متابعة مغامراتنا على Twitter في Torque Mag.
يمكنك الاشتراك في Press This على RedCircle، أو iTunes، أو Spotify، أو تطبيق البث المفضل لديك، أو يمكنك تنزيل الحلقات مباشرة من WMR.fm. أنا مضيفك، دكتور شعبي. أنا أدعم مجتمع WordPress من خلال دوري في WP Engine، وأحب تسليط الضوء على أعضاء هذا المجتمع كل أسبوع على PressThis.