تطوير البرمجيات عبر التعهيد الجماعي

يُعدّ تطوير البرمجيات عبر التعهيد الجماعي مجالًا ناشئًا في هندسة البرمجيات . وهو دعوة مفتوحة للمشاركة في أي مهمة من مهام تطوير البرمجيات ، بما في ذلك التوثيق والتصميم والبرمجة والاختبار . عادةً ما تُنفَّذ هذه المهام إما من قِبَل أعضاء شركة برمجيات أو أشخاص متعاقدين معها. ولكن في التعهيد الجماعي للبرمجيات ، يمكن إسناد جميع المهام إلى أفراد من عامة الناس أو أن يُكلَّفوا بها. كما يُمكن للأفراد والفرق المشاركة في مسابقات التعهيد الجماعي . [ 1 ]

الأهداف

قد يكون للبرمجيات التي يتم تطويرها عبر التعهيد الجماعي أهداف متعددة. [ 2 ] [ 3 ]

برامج عالية الجودة : يحتاج منظمو مسابقات التعهيد الجماعي إلى تحديد أهداف محددة لجودة البرامج ومعايير تقييمها. غالبًا ما تأتي البرامج عالية الجودة من متسابقين أكفاء قادرين على تقديم حلول جيدة تخضع لتقييم دقيق.

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

تحديد المواهب : قد يكون منظم التعهيد الجماعي مهتمًا بشكل أساسي بتحديد المواهب كما يتضح من أدائهم في المسابقة.

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

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

توليد الأفكار : يتمثل أحد الأهداف في الحصول على أفكار جديدة من المتسابقين، وقد تؤدي هذه الأفكار إلى اتجاهات جديدة.

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

تعليم المشاركين : يهتم المنظمون بتثقيف المشاركين وتزويدهم بمعارف جديدة. ومن الأمثلة على ذلك موقع nonamesite.com الذي ترعاه وكالة مشاريع البحوث الدفاعية المتقدمة (DARPA) لتعليم العلوم والتكنولوجيا والهندسة والرياضيات (STEM) .

الاستفادة من التمويل : الهدف هو تحفيز المنظمات الأخرى على رعاية مشاريع مماثلة لزيادة التمويل.

التسويق: يمكن استخدام مشاريع التعهيد الجماعي لتعزيز الوعي بالعلامة التجارية بين المشاركين.

النظام البيئي

دعم معماري

يجب أن يتضمن نظام دعم التعهيد الجماعي ما يلي: 1) أدوات تطوير البرمجيات: أدوات تحديد المتطلبات، وأدوات التصميم، وأدوات البرمجة، والمترجمات، وأدوات تصحيح الأخطاء، وبيئات التطوير المتكاملة، وأدوات تحليل الأداء، وأدوات الاختبار، وأدوات الصيانة. 2) أدوات إدارة المشاريع: أنظمة التقييم والسمعة والجوائز للمنتجات والمشاركين. 3) أدوات التواصل الاجتماعي: تُمكّن المشاركين من التواصل ودعم بعضهم بعضًا. 4) أدوات التعاون: على سبيل المثال، منصة تفاعلية (مثل منصة Blackboard) حيث يمكن للمشاركين الاطلاع على مساحة مشتركة واقتراح أفكار لتحسين الحلول المعروضة فيها.

الشبكات الاجتماعية

يمكن للشبكات الاجتماعية أن توفر التواصل، والتوثيق، والمدونات، والتغريدات، والويكيات، والتعليقات، والآراء، والفهرسة.

منظمة

العمليات

يمكن الاستعانة بمصادر خارجية في أي مرحلة من مراحل تطوير البرمجيات، وقد تشمل هذه المرحلة المتطلبات (الوظيفية، وواجهة المستخدم، والأداء)، والتصميم (الخوارزمية، والبنية)، والبرمجة (الوحدات والمكونات)، والاختبار (بما في ذلك اختبار الأمان، واختبار واجهة المستخدم، واختبار تجربة المستخدم)، والصيانة، وتجربة المستخدم، أو أي مزيج من هذه المراحل. [ 4 ]

يمكن تعديل عمليات تطوير البرمجيات الحالية لتشمل التعهيد الجماعي: 1) نموذج الشلال ؛ 2) العمليات الرشيقة؛ 3) النهج القائم على النموذج؛ 4) نهج المصادر المفتوحة؛ 5) نهج البرمجيات كخدمة (SaaS) حيث يمكن نشر مكونات الخدمة واكتشافها وتكوينها وتخصيصها ومحاكاتها واختبارها؛ 6) الأساليب الرسمية: يمكن التعهيد الجماعي للأساليب الرسمية.

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

يمكن تقييم العناصر التي تم تطويرها عن طريق التعهيد الجماعي من خلال التعهيد الجماعي لتحديد العمل المنتج، ويمكن أيضًا التعهيد الجماعي لتقييم التقييم لتحديد جودة التقييم.

تشمل عمليات التعهيد الجماعي البارزة عمليات AppStori و Topcoder .

يُعدّ اختيار المشاركين مسبقًا أمرًا بالغ الأهمية لضمان جودة البرمجيات المُطوّرة عبر التعهيد الجماعي. في التعهيد الجماعي التنافسي، لا ينبغي لمشارك ذي تصنيف منخفض أن يتنافس مع مشارك ذي تصنيف عالٍ.

المنصات

تُبرز منصات التعهيد الجماعي للبرمجيات، بما في ذلك متجر تطبيقات آبل ، و Topcoder ، وuTest، مزايا التعهيد الجماعي في توسيع نطاق منظومة البرمجيات وتحسين جودة المنتجات. يُعد متجر تطبيقات آبل سوقًا إلكترونيًا لتطبيقات نظام iOS ، حيث يُمكن للمطورين عرض تصاميمهم ومنتجاتهم الإبداعية مباشرةً لمستخدمي الهواتف الذكية. ويُحفَّز هؤلاء المطورون على المساهمة بتصاميم مبتكرة من خلال تعزيز سمعتهم والحصول على مقابل مادي عبر آلية الدفع المصغر في المتجر. في أقل من أربع سنوات، تحوّل متجر تطبيقات آبل إلى منظومة ضخمة لتطبيقات الهواتف المحمولة تضم 150,000 ناشر نشط، وأنتجت أكثر من 700,000 تطبيق لنظام iOS. وتحيط بمتجر التطبيقات العديد من المنصات التعاونية المجتمعية التي تُعنى بتطوير تطبيقات الهواتف الذكية. على سبيل المثال، تُقدّم AppStori نهج التمويل الجماعي لبناء مجتمع إلكتروني لتطوير أفكار واعدة لتطبيقات iPhone الجديدة. وتُعدّ IdeaScale منصة أخرى للتعهيد الجماعي للبرمجيات. [ 5 ]

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

عمليات العينات

تتكون عملية تطوير البرمجيات في Topcoder من عدد من المراحل المختلفة، ويمكن أن تتضمن كل مرحلة أنواعًا مختلفة من المسابقات:

  1. بنيان؛
  2. إنتاج المكونات؛
  3. تجميع التطبيق؛
  1. الانتشار
أنواع ومراحل مسابقات توب كودر

يمكن أن تكون كل خطوة بمثابة مسابقة للتمويل الجماعي.

عملية اختبار BugFinders: [ 6 ]

  1. انخرط في برنامج BugFinders؛
  2. تحديد المشاريع؛
  3. تتم إدارتها بواسطة BugFinders؛
  4. مراجعة الأخطاء؛
  5. إصلاح الأخطاء؛ و
  6. إصدار البرمجيات.

القضايا النظرية

تم استخدام نظرية الألعاب في تحليل العديد من مشاريع التعهيد الجماعي للبرمجيات. [ 2 ]

يمكن أن تكون نظرية المعلومات أساساً للمقاييس.

يمكن للنماذج الاقتصادية أن توفر حوافز للمشاركة في جهود التمويل الجماعي.

بنية مرجعية

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

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

  1. قابلة للتخصيص لدعم نماذج العمليات النموذجية؛
  2. قابل للتكوين لإنشاء مكونات وظيفية مختلفة؛
  3. قابل للتوسع لتسهيل حل المشكلات ذات الأحجام المختلفة.

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

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

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

الجوانب والمقاييس

يُعدّ التعهيد الجماعي موضوعًا بحثيًا متعدد الجوانب. ويرتبط استخدامه في تطوير البرمجيات بعدد من نقاط التوتر الرئيسية، أو الجوانب، التي ينبغي أخذها في الاعتبار (انظر الشكل أدناه). وفي الوقت نفسه، يمكن إجراء البحث من منظور الأطراف الثلاثة الرئيسية في التعهيد الجماعي: العميل، والعامل، والمنصة. [ 7 ]

إطار بحثي لتطوير البرمجيات باستخدام التعهيد الجماعي

تجزئة المهام:

التنسيق والتواصل:

التخطيط والجدولة:

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

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

أظهرت تجربة Bugcrowd أن المشاركين سيتبعون معضلة السجين لتحديد الأخطاء لأغراض اختبار الأمان. [ 8 ]

المعرفة والملكية الفكرية:

الحافز والمكافأة:

المستويات

توجد المستويات التالية من التعهيد الجماعي:

المستوى الأول : أفراد، وحدات محددة بوضوح، حجم صغير، فترة زمنية محدودة (أقل من شهرين)، منتجات عالية الجودة، عمليات تطوير حديثة مثل تلك التي تتبعها منصتا Topcoder وuTest. في هذا المستوى، يتم تصنيف المبرمجين، وتحتوي المواقع الإلكترونية على مستودعات إلكترونية لمواد التعهيد الجماعي، ويمكن للمشاركين تصنيف البرامج، وتتوفر أدوات تواصل مثل الويكي والمدونات والتعليقات، بالإضافة إلى أدوات تطوير البرامج مثل بيئات التطوير المتكاملة (IDE) والاختبار والمترجمات والمحاكاة والنمذجة وتحليل البرامج.

المستوى الثاني : فرق عمل صغيرة (أقل من ١٠ أفراد)، أنظمة محددة جيدًا، متوسطة الحجم، فترة زمنية متوسطة (من ٣ إلى ٤ أشهر)، عمليات تطوير تكيفية مع تغذية راجعة ذكية ضمن بنية لوحة سوداء. في هذا المستوى، قد يدعم موقع ويب للتعهيد الجماعي عملية تطوير تكيفية، بل وحتى عمليات تطوير متزامنة مع تغذية راجعة ذكية ضمن بنية اللوحة السوداء؛ تحليل ذكي للمبرمجين، ومنتجات البرمجيات، والتعليقات؛ اختبار وتقييم البرمجيات متعدد المراحل؛ تحليلات البيانات الضخمة، تغليف خدمات البرمجيات آليًا في نموذج SaaS (البرمجيات كخدمة)، إضافة شروح باستخدام علم الوجود ، والربط المرجعي بـ DBpedia وWikipedia؛ تحليل وتصنيف خدمات البرمجيات آليًا؛ إضافة شروح إلى علم الوجود والاستدلال، مثل ربط هذه الخدمات بمدخلات/مخرجات متوافقة.

المستوى الثالث : فرق عمل (أقل من 100 وأكثر من 10 أفراد)، نظام محدد المعالم، أنظمة كبيرة، فترة زمنية طويلة (أقل من سنتين)، التحقق المتبادل والمقارنة الآلية بين المساهمات. قد يحتوي موقع التعهيد الجماعي في هذا المستوى على مطابقة آلية للمتطلبات مع المكونات الموجودة، بما في ذلك مطابقة المواصفات والخدمات والاختبارات؛ واختبارات الانحدار الآلية.

المستوى الرابع : تعاون متعدد الجنسيات لأنظمة كبيرة وقابلة للتكيف. قد يحتوي موقع التعهيد الجماعي في هذا المستوى على تعهيد جماعي موجه نحو مجال معين مع علم الوجود والاستدلال والتعليقات التوضيحية؛ وعمليات التحقق المتبادل الآلية وتوليد الاختبارات ؛ وتكوين آلي لمنصة التعهيد الجماعي؛ وقد يعيد هيكلة المنصة كخدمة برمجية (SaaS) مع تخصيصها حسب المستخدم.

أحداث هامة

بدأت مايكروسوفت في عام 2011 بإنشاء مدونات لتشجيع النقاش بين المطورين وعامة الجمهور. [ 9 ] وفي عام 2013، بدأت مايكروسوفت أيضًا في الاستعانة بمصادر خارجية لتطوير أجهزتها المحمولة لنظام ويندوز 8. [ 10 ] وفي يونيو 2013، أعلنت مايكروسوفت أيضًا عن مبادرة للاستعانة بمصادر خارجية لاختبار البرمجيات، حيث عرضت 100 ألف دولار أمريكي للتقنيات المبتكرة التي تكشف عن الثغرات الأمنية، و50 ألف دولار أمريكي لحل المشكلة التي تم تحديدها. [ 11 ]

في عام ٢٠١١، أطلق مكتب براءات الاختراع والعلامات التجارية الأمريكي مسابقةً للتمويل الجماعي بموجب قانون المنافسة الأمريكية (America COMPETES Act) على منصة Topcoder لتطوير خوارزميات وبرامج لمعالجة الصور قادرة على التعرف على الأشكال وعلامات الأجزاء في وثائق براءات الاختراع، بجوائز مجموعها ٥٠,٠٠٠ دولار أمريكي. [ ١٢ ] أسفرت المسابقة عن مشاركة ٧٠ فريقًا قدموا مجتمعين ١,٧٩٧ برنامجًا. حقق حل الفائز في المسابقة دقةً عاليةً من حيث الاستدعاء والدقة في التعرف على مناطق الأشكال وعلامات الأجزاء. [ ١٣ ]

تستخدم شركة أوراكل التعهيد الجماعي في مشاريع إدارة علاقات العملاء الخاصة بها. [ 14 ]

المؤتمرات وورش العمل

عُقدت ورشة عمل حول التعهيد الجماعي للبرمجيات في داغشتول ، ألمانيا في سبتمبر 2013. [ 15 ]

انظر أيضاً

مراجع

  1. ريدل، كريستوف؛ وولي، أنيتا (ديسمبر 2016). "الفرق مقابل الجماهير: اختبار ميداني للمساهمة النسبية للحوافز وقدرات الأعضاء والتعاون في أداء حل المشكلات الجماعي". مجلة اكتشافات أكاديمية الإدارة . قيد النشر (4): 382-403 . doi : 10.5465/amd.2015.0097 .
  2. وو ، وينجون؛ تساي، دبليو تي؛ لي، وي (2013). "إطار تقييمي للتعهيد الجماعي للبرمجيات". حدود علوم الحاسوب . 7 (5): 694-709 . doi : 10.1007/s11704-013-2320-2 . S2CID 3352701 . 
  3. ستول، كلاس-يان؛ فيتزجيرالد، برايان (2014). اثنان يكفيان، ثلاثة كثيرون: دراسة حالة لتطوير البرمجيات باستخدام التعهيد الجماعي . المؤتمر الدولي السادس والثلاثون لهندسة البرمجيات. ACM. ص 187-198 . doi : 10.1145/2568225.2568249 . hdl : 10344/3982 . 
  4. وو، وينجون؛ تساي، دبليو تي؛ لي، وي (2013). "الاستعانة بمصادر خارجية للبرمجيات الإبداعية" . المجلة الدولية للحوسبة الإبداعية . 1 : 57. doi : 10.1504/IJCRC.2013.056925 .
  5. "برمجيات التعهيد الجماعي تجمع أفكارًا أقوى" . IdeaScale . تم الاطلاع عليه بتاريخ 19-03-2016 .
  6. Bugfinders. "اختبار البرمجيات في العالم الحقيقي" . تم الاطلاع عليه بتاريخ 21 يونيو 2013 .
  7. ستول، ك. ج.؛ فيتزجيرالد، ب. (2014). "بحث تطوير البرمجيات باستخدام التعهيد الجماعي: وجهات نظر واهتمامات". وقائع ورشة العمل الدولية الأولى حول التعهيد الجماعي في هندسة البرمجيات - CSI-SE 2014. ص 7. doi : 10.1145/2593728.2593731 . hdl : 10344/3853 . ISBN  9781450328579. S2CID 7531317 . 
  8. "الاستعانة بالجمهور ومعضلة السجين - ديلينج أدفايزوري" . Dellingadvisory.com. 11 أبريل 2013. تم الاطلاع عليه بتاريخ 19 مارس 2016 .
  9. توماس، ستيوارت (16 أغسطس 2011). "مايكروسوفت تطلق مدونة للتمويل الجماعي لنظام ويندوز 8" . ميمبورن . تم الاطلاع عليه في 21 يونيو 2013 .
  10. سيمبسون، سكوت (10 يونيو 2013). "هل ستختار جهازك التالي الذي يعمل بنظام ويندوز 8 من خلال الاستعانة بمصادر خارجية؟" . تم الاطلاع عليه بتاريخ 21 يونيو 2013 .
  11. بيل، لي (20 يونيو 2013). "مايكروسوفت تعرض مكافأة قدرها 100 ألف دولار لمن يكتشف ثغرة في نظام ويندوز 8.1" . مؤرشف من الأصل في 25 يونيو 2013. تم الاطلاع عليه في 20 يونيو 2013 .
  12. ستيفن، روبين ستورم (16 ديسمبر 2011). "مركز جديد للتميز يدعم جائزة للمساعدة في تحديث أدوات فحص براءات الاختراع" . مدونة البيت الأبيض . تم الاطلاع عليه في 30 مارس 2016 .
  13. ريدل، سي.؛ زانيبي، ر.؛ هيرست، إم. إيه.؛ تشو، إس.؛ مينيتي، إم.؛ كروسان، ج.؛ ميتلسكي، آي.؛ لاخاني، ك. (20 فبراير 2016). "الكشف عن الأشكال وعلامات الأجزاء في براءات الاختراع: تطوير خوارزميات معالجة الصور القائمة على المنافسة". المجلة الدولية لتحليل المستندات والتعرف عليها . 19 (2): 155-172 . arXiv : 1410.6751 . doi : 10.1007/s10032-016-0260-8 . S2CID 11873638 . 
  14. ديانا، أليسون (16 مارس 2011). "أوراكل تدمج التعهيد الجماعي في نظام إدارة علاقات العملاء" . InformationWeek . تم الاطلاع عليه في 21 يونيو 2013 .
  15. ^ هونز ، مايكل ن. لي، وي؛ تساي، وي تيك (2013). "Schloss Dagstuhl : الصفحة الرئيسية للندوة" . تقارير داغستوهل . 3 (9). Dagstuhl.de: 34– 58. دوى : 10.4230/DagRep.3.9.34 . تم الاسترجاع 2016/03/19 . 

للمزيد من القراءة

  • كريم ر. لاخاني، ديفيد أ. غارفين، إريك لوغستين، "توب كودر: تطوير البرمجيات من خلال التعهيد الجماعي"، دراسة حالة كلية هارفارد للأعمال 610-032، 2010.