روش جذب داوطلبان به پروژه های توسعه نرم افزار آزاد

هر چه زمان می گذرد و زندگی پیچیده تر می شود به نظر می رسد که ما وقت کم و کمتری داریم که به پروژه های نرم افزار آزادی که در دوره آرمانگرایی جوانی مان شروع کرده ایم اختصاص دهیم. بجای رها کردن یک پروژه خوب بخاطر کمبود وقت، به جستن همکارانی از دیگر اعضای جامعه نرم افزار آزاد فکر کنید. با چند کار ساده می توانید یافتن داوطلبانی که شما را در تکمیل پروژه کمک کنند ساده کنید.
سه‌شنبه، 20 ارديبهشت 1390
تخمین زمان مطالعه:
موارد بیشتر برای شما
روش جذب داوطلبان به پروژه های توسعه نرم افزار آزاد

روش جذب داوطلبان به پروژه های توسعه نرم افزار آزاد
روش جذب داوطلبان به پروژه های توسعه نرم افزار آزاد


 






 
هر چه زمان می گذرد و زندگی پیچیده تر می شود به نظر می رسد که ما وقت کم و کمتری داریم که به پروژه های نرم افزار آزادی که در دوره آرمانگرایی جوانی مان شروع کرده ایم اختصاص دهیم. بجای رها کردن یک پروژه خوب بخاطر کمبود وقت، به جستن همکارانی از دیگر اعضای جامعه نرم افزار آزاد فکر کنید. با چند کار ساده می توانید یافتن داوطلبانی که شما را در تکمیل پروژه کمک کنند ساده کنید.

راهنمایی برای یافتن داوطلبان
 

پیش از اینکه از دیگران انتظار کمک داشته باید لازم است که درک خوبی از پروژه خود داشته باشید. به این فکر کرده اید که می خواهید پروژه تان یک سال بعد به کجا برسد؟ به این موضوع فکر کنید. بعد آن را مکتوب نمایید. وقتی که مسیری را که برای پروژه خود درنظر دارید بشناسید می توانید درباره شمای کلی آن با سایرین گفتگو کنید. هر چه افراد بیشتری هدف نهایی پروژه شما را بفهمند، برای بعضی از آنها تمایل به کمک برای رسیدن شما به هدفتان بیشتر می شود.
ممکن است ایمیلهایی با این مضمون دریافت کنید "چطور می توانم کمک کنم؟" و وقتی مردم با پیشنهاد کمک به سراغ شما می آیند باید جوابی بهتر از "نمی دانم چه کمکی می توانید بکنید.” داشته باشید. آماده باشید که جوابهایی با وظایفی معین بدهید که در مدت زمانی معقول قابل انجام و تکمیل باشند. باید مطمین شوید که منافعی که داوطلبان می توانند از مشارکت در پروژه شما انتظار داشته باشند را روشن کرده اید. این منافع شاید پول نباشد اما چیزهای با ارزشی هستند که افراد به عنوان داوطلبان نرم افزار آزاد می توانند از آن بهره مند شوند.
اگر اینطور بنظر می آید که اینها داده های زیادی برای هضم کردن است نگران نباشید، این مقاله هر کدام از این موضوعات را با جزییات بیشتر توضیح می دهد. بعد از خواندن این مقاله شما باید ایده های خوبی داشته باشید که چطور می شود پروژه نرم افزار آزادتان را برای همه دواطلبان با استعداد بالقوه جذاب تر کنید.

گفتگو درباره مقصود پروژه
 

محتمل است که شما مقصود پروژه خودتان را بهتر از هر کس دیگری بدانید، هر چه باشد این پروژه شماست و شما آن را طراحی کرده اید. اما دیگران چه؟ آیا حد وسط کاربران نرم افزار آزاد وقتی پروژه شما را می بینند با خودشان می گویند "می دانم این پروژه برای چه است و یک سال دیگر به کجا خواهد رسید؟" اتفاق می افتد که شما چنان غرق کدنویسی و انتشار وصله های نرم افزاری می شوید که فراموش می کنید شمای کلی پروژه خود را به بحث بگذارید. اگر مردم ندانند پروژه به کجا می رود نخواهند دانست که چطور به آن برای رسیدن به هدف کمک کنند. پروژه شما به مقصودی نیاز دارد.
اگر با خودتان می گویید "من یک کدنویسم، مدیر حرفه ای که نیستم"، و در عجبید که چطور باید از پس این قضیه مقصود بربیایید، نگران نباشید. با بررسی بعضی از پروژه های متداول نرم افزار آزاد روی اینترنت و ایده گرفتن شروع کنید. بیشتر آنها روی سایتشان قسمتی با عنوان “about” دارند که شمای کلی پروژه را بصورت شرح وظیفه توضیح می دهد. OpenOffice.org را می شود مثال آورد.
هدف آنها "به عنوان یک انجمن، خلق مجموعه اداری پیشروی بین المللی ای است که بر تمام سکوهای معماری متداول اجرا شده و دسترسی به تمام کاربردها و اطلاعات را به واسطه APIهایی با اجزای باز و یک فرمت فایل مبتنی بر XML فراهم کند.” این یک جمله اهداف تمام پروژه را در خود جمع کرده است.
پروژه شما ممکن است به اندازه OpenOffice.org هدفمند نباشد اما باز هم می توانید شرح وظیفه داشته باشید. شرح وظیفه را مختصر و سر راست نگه دارید و به خاطر داشته باشید که شما وضعیت کنونی پروژه را توضیح نمی دهید بلکه جایی را که وقتی تمام کارها انجام شد، پروژه به آن خواهد رسید نشان می دهید.
برای مثال فرض کنیم شما بر روی یک نرم افزار آزاد بی نظیر مدیریت دستور غذا کار می کنید. پروژه شما در حال حاضر ظاهر مبتی بر مرورگر خوبی دارد و از زیرساخت قدرتمندی در بانک اطلاعاتی اش بهره می برد. اما اگر بتواند فایلهای دستور غذای سایر بسته های نرم افزاری اختصاصی مدیریت دستور غذا را بخواند خیلی بهتر خواهد بود. مقصود این پروژه را بدین ترتیب می شود خلاصه کرد "ایجاد یک سیستم مدیریت دستور غذای قدرتمند، آزاد و مبتنی بر وب که توانایی وارد کردن فایلهای نرم افزارهای مدیریت دستور غذای متداول اختصاصی را دارد”. می بینید که چندان مشکل هم نبود، بود؟

مشخص کردن اهداف و وظایف
 

خلق یک مقصود برای پروژه شبیه به تصمیم گیری برای انتخاب مقصد برای تعطیلات است. شاید بدانید که می خواهید در یک ساحل آفتابی با یک نوشیدنی خنک در دست باشید اما باید معلوم کنید که چطور می خواهید به آنجا برسید. به آنجا پرواز می کنید یا با اتومبیل می روید؟ اگر با اتومبیل می روید کجا نهار می خورید؟ نیاز هست که در یک هتل اتاق بگیرید؟ پروژه های نرم افزار آزاد سوالهای مشابهی به همراه دارند که باید پاسخ داده شود. برای جواب دادن به این سوالات شما به چند هدف نیاز دارید.
با تفکیک پروژه به اجزای اصلی تشکیل دهنده آن شروع کنید. به عنوان مثال اگر مقصود پروژه شما این است: "ایجاد یک سیستم مدیریت دستور غذای قدرتمند، آزاد و مبتنی بر وب که توانایی وارد کردن فایلهای نرم افزارهای مدیریت دستور غذای متداول اختصاصی را دارد".
▪ می توانید اهداف خود را چنین تعیین کنید:
- خلق یک رابط کاربری با استفاده از HTML/PHP که ساده و قابل درک باشد.
- ایجاد یک زیرساخت کارای بانک اطلاعاتی.
- کدنویسی برای ورودی گرفتن فایلهای ثبت سفارش از برنامه های دیگر.
اگر شما روی پروژه کار کرده باشید ممکن است فقط چند مورد باشند که نیاز به توجه داشته باشند. این موارد را می شود به عنوان وظایف مشخص، تعیین و ثبت کرد. فرض کنید شما از ترکیب رابط کاربری برنامه مدیریت دستور غذایتان راضی هستید اما این رابط با HTML 3.2 تگ نویسی شده و حتماً باید به XHTML ارتقاء پیدا کند. پس تنها موردی که شما را از رسیدن به هدف خلق یک رابط کاربری ساده و قابل درک بازمی دارد این واقعیت است که تگ HTML شما قدیمی است.
تبریک، شما یکی از وظایف را مشخص کرده اید. این مورد را ثبت کنید و با نگاهی به سایر اهداف به شناسایی وظایف دیگر بپردازید. هدف دیگری که تعیین کرده اید امکان ورودی گرفتن از فایلهای ثبت سفارش سایر برنامه هاست.
▪ که می تواند شامل چندین وظیفه همچون موارد زیر باشد:
- کدنویسی برای تبدیل فایلهای Meal Master به فایلهای ویژه برنامه.
- کدنویسی برای تبدیل فایلهای AccuChef به فایلهای ویژه برنامه.
- کدنویسی برای تبدیل فایلهای RecipeBook_XML به فایلهای ویژه برنامه.
به بررسی اهداف و استخراج وظایف ادامه دهید تا جایی که تمام وظایف مهم پروژه را مشخص کرده باشید.

خلق شرح وظایف
 

حالا که تعدادی از وظایفی را که باید کامل شوند شناخته اید وقت آن رسیده است که کسانی را بیابید که به شما در کار بر روی این وظایف کمک کنند. لحظه ای درباره هر وظیفه فکر کنید. آیا کار یکباره انجام می شود یا ممتد است؟ تکمیل این بخش از کار چقدر طول می کشد؟ آیا یک نفر می تواند آن را به انجام برساند یا به چند نفر نیاز است؟ پاسخ به این سوالات کمک خواهد کرد مبنای شرح وظایف، برای کسی که کار را انجام خواهد داد شکل بگیرد. اعلان این شرح وظایف در وبسایت پروژه به شما کمک خواهد کرد تا افراد مناسبی را برای انجام دادن کارها بکار گیرید.
بیشتر پروژه های عمده نرم افزار آزاد بخشی به نام “tasks” یا “to-do” در سایت خود دارند که می شود از آن برای شکل دادن شرح وظایف ایده گرفت. قالب آن بیشتر بسته به اولویتهاست اما می بایست اطلاعات اولیه ای درباره چه کسی، چه، کجا، کی، چرا و چطور در شرح وظایف گنجاند. چه کسی می تواند این کار را با موفقیت انجام دهد؟ دقیقاً روی چه چیزی کار می کند؟ کار انجام شده را کجا باید بفرستد؟ کار باید کی به اتمام برسد؟ چطور باید روی موضوع کار کرد؟ گنجاندن این اطلاعات تضمین می کند که دواطلبانی که روی پروژه کار می کنند می دانند چه چیزی برای تمام کردن آن قسمت از کار لازم است.
مثال ارتقاء تگ HTML 3.2 به XHTML را در نظر بگیرید. شما می توانید این کار را خودتان انجام دهید چون فکر می کنید یک HTMLنویس ماهر هستید اما متاسفانه وقتش را ندارید. پس نیاز است که یک HTMLنویس ماهر دیگر پیدا کنید تا به شما کمک کند. تبریک، بخش "چه کسی" را از شرح وظایف معلوم کردید. شما به "یک XHTMLنویس ماهر" نیاز دارید. اگر با چه، کجا و چطور ادامه دهید ممکن است در نهایت به این شرح وظیفه برسید:
XHTML نویس ماهری برای ارتقاء تگ نویسی HTML 3.2 برای یک سیستم مدیریت دستور غذای مبتنی بر وب نیاز است. حدود 300 خط تگ نویسی شده، باید ارتقاء یابد. استفاده از ویرایشگر متن vi الزامیست. در صورت تمایل با admin@free-recipe-project.com تماس بگیرید.
اگر دقت کرده باشید ممکن است متوجه این نکته شده باشید که سوال "چرا؟" حذف شده است. چون "چرا؟" اغلب مشکلترین سوال برای پاسخ دادن است. یک روز فقط بیست و چهار ساعت دارد و انگار بیشتر مردم حدود بیست و پنج ساعت وقت نیاز دارند. اگر اینقدر وقت تنگ است چرا مردم باید آن را رایگان به شما بدهند؟ وقتی به سوال "چرا؟" پاسخ می دهید به این موضوع فکر کنید.
نظر دیگران را جلب کنید تا به مقصود مورد نظر شما بپیوندند دلایل زیادی وجود دارد که مردم داوطلب کار بر روی پروژه های نرم افزار آزاد می شوند. بعضی ها چالش را دوست دارند یا می خواهند مهارتهایشان را ارتقاء دهند، بعضی دیگر احساس تعهد می کنند که چیزی به جامعه بازگردانند و برخی فقط می خواهند نامشان را در همکاری با یک پروژه مهم نرم افزار آزاد ببینند. وقتی از افراد برای اختصاص داوطلبانه وقتشان به پروژه شما درخواست می کنید مطمین شوید آنها آگاهند که در ازای تلاششان چیزی باز خواهند ستاند. توضیح منافع واقعی ساده تر است پس بجای ایده های انتزاعی مثل باز پس دادن به جامعه، روی آنها تمرکز کنید. منافع داوطلبین را بخشی از شرح وظایف کنید.
نگاهی دوباره به شرح وظیفه ای که برای XHTML نویس ماهر نوشتید بیاندازید و دوباره به سوال "چرا؟” فکر کنید. چرا کسی باید داوطلب ارتقاء HTML 3.2 به XHTML شود؟ خیلی وسوسه کننده نیست. اما اگر کسی تازه در یک کلاس توسعه وب نام نویسی کرده باشد چه؟ این نوع از کارهای دواطلبانه فرصتهای خوبی به عنوان یک پروژه درسی یا بخشی از روزمه هستند. فکر کردن به موضوعات از نگاه داوطلبان به شما کمک می کند که شرح وظایف را جذاب تر بنویسید. شرح وظیفه XHTML نویس ماهر را با این اطلاعات جدید دوباره بنویسید.
" دنبال کسب کمی تجربه به عنوان یک طراح وب هستید؟ پروژه مدیریت دستور غذا در جستجوی یک XHTML نویس ماهر است تا تگ HTML 3.2 سیستم مدیریت دستور غذای مبتنی بر وب را ارتقاء دهد. حدود 300 خط تگ نیاز به ارتقاء دارد. استفاده از ویرایشگر متن vi الزامیست. در صورت تمایل با admin@free-recipe-project.com تماس بگیرید.”

تمرین مستمر
 

شما یک دوره متوالی جذب داوطلبانی که زمانی را به کار بر پروژه شما اختصاص دهند با افزودن این اطلاعات به پروژه گذرانده اید. مدتی از کدنویسی دست بردارید و نگاهی به شمای کلی پروژه بیاندازید. یک سال بعد از این می خواهید این پروژه به کجا رسیده باشد؟ اجزای اصلی پروژه کدامها هستند؟ چه عملیات بخصوصی باید مشخص شوند تا آن اجزای اصلی کامل گردند؟ چه کسی مهارتهای لازم را برای انجام این کارها دارد؟ چطور قدردانی خود را به کسانی که به شما کمک می کنند نشان خواهید داد؟
حالا این داده ها را جایی ثبت کنید که همه ببینند. اگر پروژه شما سایت وب دارد از آن به عنوان یک ابزار تشخیص و جذب داوطلبان استفاده کنید. مقصود پروژه خود را در بالای صفحه اصلی سایت بگذارید. یک صفحه "درخواست کمک" درست کنید و شرح وظایف کارهایی که باید انجام شود را در آن لیست کنید. و همچنین یک صفحه "سپاس" درست کنید و تمام کسانی را که داوطلبانه در پیشرفت پروژه شما شرکت داده اند نام ببرید.
دیوید هورتون [1]
مترجم: بهنام بهجت مرندی blixbox@gmail.com

پي نوشت ها :
 

[1] David Horton
[2] http://creativecommons.org/licenses/by-sa/2.0/
نشریه لینوکس ایران
 

منبع:آفتاب
ارسال مقاله توسط کاربر محترم سايت :amirpetrucci0261



 



ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط