ميزات منصة الويب للتمويل الجماعي مع أولوية مفتوحة
نشرت: 2022-03-10في رسالتي الأخيرة ، وصفت بعض ميزات CSS المثيرة للاهتمام - بعضها متاح فقط في متصفح واحد. يمتلك معظم مطوري الويب بعض الميزات التي يرغبون في أن تكون متاحة على نطاق أوسع ، أو كانت متوفرة على الإطلاق. أشجع المطورين على استخدام المتصفحات والتحدث عنها ورفعها إلى أخطاء التنفيذ لمحاولة تنفيذ الميزات ، ومع ذلك ، ماذا لو كانت هناك طريقة أكثر مباشرة للقيام بذلك؟ ماذا لو تمكن مطورو الويب من الاجتماع معًا وتمويل تطوير هذه الميزات؟
هذا هو النموذج الذي أطلقته Igalia للاستشارات مفتوحة المصدر بتجربة Open Prioritization. الفكرة الأساسية هي نموذج التمويل الجماعي لميزات منصة الويب. إذا أردنا تطبيق ميزة ما ، فيمكننا وضع مبلغ صغير من المال للمساعدة في تمويل هذا العمل. إذا تم الوصول إلى الهدف ، يمكن تنفيذ الميزة. يستند هذا المقال إلى مقابلة مع Brian Kardell ، محامي مطور في Igalia.
ما هو فتح الأولويات؟
تتمثل فكرة تحديد الأولويات المفتوحة في أن المجتمع يجب أن يختار ويساعد في تمويل تطوير الميزات. حدد Igalia قائمة الميزات المستهدفة ، والتي تم تنفيذها كلها أو يتم تنفيذها حاليًا في محرك واحد على الأقل. لذلك ، سيساعد تمويل ميزة ما في أن تصبح متاحة عبر المتصفح ، وأكثر قابلية للاستخدام بالنسبة لنا كمطورين. القائمة الأولية هي:
- ألوان CSS
lab( )
في Firefox -
:focus-visible
في WebKit / Safari - HTML
inert
في WebKit / Safari - وسيطات قائمة المحدد لـ
:not( )
في Chrome - دعم احتواء CSS في WebKit / Safari
- دعم CSS
d
(مسار SVG) في Firefox
يقدم الموقع مزيدًا من الشرح لكل ميزة وكل التفاصيل الخاصة بكيفية عمل التمويل. تعمل Igalia مع Open Collective لإدارة التعهدات.
من هم إغاليا؟
ربما لم تسمع أبدًا عن Igalia ، لكنك ستستفيد من عملهم. يعمل Igalia على محركات المتصفح ، ولديه معرفة متخصصة بجميع المحركات. لقد حصلوا على ثاني أكبر عدد من الالتزامات بمصدر Chrome و WebKit في عام 2019. إذا كنت تحب CSS Grid Layout ، فلديك Igalia لشكرها على التنفيذ في Chrome و WebKit. تم عمل إضافة الميزة إلى تلك المتصفحات بواسطة فريق في Igalia ، بدلاً من المهندسين العاملين داخليًا في شركة المستعرضات.
هذا ما يجعل هذه الفكرة مقنعة للغاية. إنها ليست قضية جمع بعض المال ثم محاولة إقناع شخص ما للقيام بهذا العمل. لدى Igalia سجل حافل من القيام بالعمل. يجب أن يتم الدفع للمطورين ، لذلك من خلال التعهيد الجماعي للأموال ، يمكننا اختيار ما يتم العمل عليه بعد ذلك. لدى Igalia أيضًا علاقات مع المحركات لجعل أي ميزة مقترحة من المحتمل أن تكون ناجحة.
هل ستقبل المتصفحات هذه الميزات إذا قمنا بتمويلها؟
حقيقة أن Igalia لديها بالفعل علاقات داخل فرق محرك المتصفح ، وناقشت بالفعل الميزات المحددة معهم تعني أنه إذا تم تمويلها ، يجب أن نرى الميزات في المتصفحات. وهناك سوابق بالفعل للميزات الرئيسية التي تمولها جهات خارجية وطورتها Igalia. تم تمويل تنفيذ تخطيط الشبكة في Chrome و WebKit بواسطة Bloomberg Tech. لقد أصيبوا بالإحباط بسبب الافتقار إلى تنفيذ تخطيط الشبكة ، وكانت بلومبرج تك هي التي وفرت الأموال لتطوير هذه الميزة على مدار عدة سنوات.
كان Chrome و WebKit سعداء بقبول التنفيذ ؛ لم يكن هناك خلاف حول إضافة الميزة. بدلا من ذلك ، كانت مسألة تحديد الأولويات. كان لدى المتصفحات أعمال أخرى تم اعتبارها ذات أولوية أعلى ، وبالتالي تم توجيه الالتزام المالي ووقت المطور إلى مكان آخر. الميزات التي تم اختيارها لمحاولة التمويل الجماعي الأولية هذه ليست أيضًا مثيرة للجدل من حيث تنفيذها. إذا كان العمل ممكنًا ، فمن المحتمل أن تقبله المحركات. قابلية التشغيل البيني - تعمل الأشياء بنفس الطريقة عبر المتصفحات - هو شيء يهتم به جميع بائعي المستعرضات. لا فائدة من أن يتخلف المحرك عن الركب. نحن في الأساس نتجاوز عملية تحديد الأولويات الداخلية للميزة.
لماذا لا تقوم المتصفحات بهذه الأشياء فقط؟
سألت براين لماذا لا تمول شركات المستعرض هذه الأشياء بنفسها. هو شرح،
قد يعتقد الناس ، على سبيل المثال ، أن "Apple لديها كل الأموال في العالم" ولكن هذا يتجاهل الحقائق المعقدة. عمل Apple ليس متصفح الويب الخاص بهم. في الواقع ، متصفح الويب نفسه ليس محاولة لكسب المال لأي شخص. المتصفحات والمعايير اختيارية ، فهي مشاعات. من ناحية التكلفة ، تعتبر المتصفحات كبيرة. إنها بشكل كبير أكثر تعقيدًا مما يدرك معظمنا. 3 منظمات فقط اليوم استثمرت السنوات العديدة وملايين الدولارات سنويًا التي يتطلبها تطوير وصيانة مشروع محرك التقديم. أي واحد منهم يقوم بالفعل باستثمار ضخم لا مثيل له في المشاعات ".
ذهب براين للإشارة إلى الاستثمار الكبير لـ Firefox في Servo ، و Google في LayoutNG ، وهي مشاريع ستعمل على تحسين تجربة المتصفح وتتيح أيضًا تنفيذ ميزات جديدة للنظام الأساسي. هناك الكثير الذي يمكن لأي متصفح تنفيذه في محركه ، ولكن الطريقة التي يتم بها تحديد أولويات هذه الميزات داخليًا قد لا تتوافق دائمًا مع احتياجاتنا كمطورين.
لقد خطر لي أنه من خلال تمويل تنفيذ المتصفح ، فإننا نفعل نفس الشيء الذي نفعله مع المنتجات الأخرى التي نستخدمها. سيطور الكثير منا مكونًا إضافيًا لميزة مطلوبة في نظام إدارة المحتوى أو يدفعون لطرف ثالث لتوفيره. يقضي مطورو CMS وقتهم في العمل على المنتج الأساسي ، مما يضمن أنه قوي وآمن ومحدث. بدون المنتج الأساسي ، سيكون من المستحيل إضافة المكونات الإضافية. ومع ذلك ، يمكن للأطراف الثالثة المساهمة بأجزاء في تلك المنصة ، وهذا ما يمكننا القيام به من خلال تحديد الأولويات المفتوحة. أظهر أن الميزة جديرة بالاهتمام بدرجة كافية بالنسبة لنا لتعهد بعض النقود للحصول عليها عبر الخط.
كيف يتناسب هذا مع مشاريع مثل الويب الذي نريده؟
دعم SmashingConf مشروع Web We Want ، حيث طرح المطورون أفكارًا لمنصة الويب لمناقشتها والتصويت عليها على خشبة المسرح في المؤتمرات. لقد شاركت في العديد من هذه الأحداث كمضيف وفي اللجنة. تساءلت عن مدى ملاءمة تحديد الأولويات المفتوح مع هذه الجهود الحالية. أوضح براين أن هذه أشياء مختلفة تمامًا قائلاً ،
"... إذا سألتني ما الذي يمكن أن يجعل منزلي أفضل يمكنني تسمية مليون شيء. بعض هؤلاء ليسوا عمليين حتى عن بعد ، بل سيكونون أنيقين حقًا. ولكن إذا قلت ، ضع قائمة بالأشياء التي يمكنك فعلها بميزانية مقابل تكلفة كل منها - ستكون قائمتي أكثر عملية إلى حد كبير وملتزمة بالواقع الذي أعرف أنه موجود.
في نهاية الشهر ، إذا قلت "هناك قائمتك ، وها هي 100 دولار ، فماذا ستفعل بها؟" هذا سؤال مباشر للغاية يساعدني في تحقيق شيء عملي. ربما سأرسم. ربما سأشتري بعض الإضاءة الجديدة. أو ربما سأحتفظ به لبضعة أشهر في اتجاه شيء أكثر تكلفة ".
يطرح مشروع Web We Want سؤالاً مفتوحًا ، ويسأل عما نريد من النظام الأساسي. العديد من الرغبات ليست أشياء موجودة بالفعل كمواصفات. للبدء فعليًا في تنفيذ أي من هذه الأشياء ، فإن ذلك يعني البدء بشكل صحيح في البداية ، بفكرة تحتاج إلى الانتقال مباشرة من مرحلة المواصفات. هناك القليل من اليقين ، وسيكون من الصعب للغاية تحديد سعر لها.
الميزات المحددة لأول تجربة تحديد أولويات مفتوحة محدودة النطاق بشكل متعمد. لديهم بالفعل بعض التنفيذ ؛ لديهم مواصفات ، وقد تحدثت Igalia بالفعل مع المشرفين على المتصفح للتحقق من أن الميزات جاهزة للعمل ولكن لا تظهر في الأولويات العاجلة.
إن دعم هذا المشروع يعني دعم جزء ملموس من التنمية ، والتي يمكن أن تحدث في إطار زمني قصير إلى حد معقول. من المحتمل أن يؤدي نشر فكرة على Web We Want أو كتابة فكرة على مدونتك أو إضافة مشكلة تصف ميزة جديدة تمامًا على CSSWG GitHub repo إلى طرح فكرة جديدة في المناقشة. ومع ذلك ، قد يكون لتلك الأفكار طريق طويل وبطيء لتصبح حقيقة واقعة. وبالنظر إلى طبيعة المناقشات المتعلقة بالمعايير ، فمن المحتمل ألا تتم بالطريقة التي تخيلتها بالضبط. من المفيد اقتراح هذه الأشياء ، ولكن من الصعب جدًا تقدير الوقت والتكاليف للتنفيذ النهائي.
تنطبق نفس المشكلة على الميزة المطلوبة بشدة لاستعلامات الحاوية ، فقد ذهب Igalia إلى حد ذكر استعلامات الحاوية في الأسئلة الشائعة الخاصة بهم. تعد استعلامات الحاويات أمرًا يبحث فيه العديد من الأشخاص المشاركين في عملية المعايير وفي بائعي المستعرضات ، ومع ذلك ، فإن هذه المناقشات لا تزال في مرحلة مبكرة. ليس من الممكن وضع قيمة نقدية عليه في هذه المرحلة.
شارك!
يوجد المزيد من المعلومات في موقع Open Prioritization ، جنبًا إلى جنب مع الأسئلة الشائعة التفصيلية التي تجيب على الأسئلة الأخرى التي قد تكون لديك. أنا متحمس لهذا لأنني حريص دائمًا على المساعدة في إيجاد طرق للمصممين والمطورين للمشاركة في منصة الويب. إنها منصتنا. يمكننا الانتظار حتى يتم منح الأشياء لاستخدامها من قبل بائعي المستعرضات ، أو يمكننا المساهمة بنشاط من خلال الأفكار وتقارير الأخطاء ومع تحديد الأولويات المفتوحة قليلاً من النقود للمساعدة في تحسينها.