روش جذب داوطلبان به پروژه های توسعه نرم افزار آزاد
هر چه زمان می گذرد و زندگی پیچیده تر می شود به نظر می رسد که ما وقت کم و کمتری داریم که به پروژه های نرم افزار آزادی که در دوره آرمانگرایی جوانی مان شروع کرده ایم اختصاص دهیم. بجای رها کردن یک پروژه خوب بخاطر کمبود وقت، به جستن همکارانی از دیگر اعضای جامعه نرم افزار آزاد فکر کنید. با چند کار ساده می توانید یافتن داوطلبانی که شما را در تکمیل پروژه کمک کنند ساده کنید.
ممکن است ایمیلهایی با این مضمون دریافت کنید "چطور می توانم کمک کنم؟" و وقتی مردم با پیشنهاد کمک به سراغ شما می آیند باید جوابی بهتر از "نمی دانم چه کمکی می توانید بکنید.” داشته باشید. آماده باشید که جوابهایی با وظایفی معین بدهید که در مدت زمانی معقول قابل انجام و تکمیل باشند. باید مطمین شوید که منافعی که داوطلبان می توانند از مشارکت در پروژه شما انتظار داشته باشند را روشن کرده اید. این منافع شاید پول نباشد اما چیزهای با ارزشی هستند که افراد به عنوان داوطلبان نرم افزار آزاد می توانند از آن بهره مند شوند.
اگر اینطور بنظر می آید که اینها داده های زیادی برای هضم کردن است نگران نباشید، این مقاله هر کدام از این موضوعات را با جزییات بیشتر توضیح می دهد. بعد از خواندن این مقاله شما باید ایده های خوبی داشته باشید که چطور می شود پروژه نرم افزار آزادتان را برای همه دواطلبان با استعداد بالقوه جذاب تر کنید.
اگر با خودتان می گویید "من یک کدنویسم، مدیر حرفه ای که نیستم"، و در عجبید که چطور باید از پس این قضیه مقصود بربیایید، نگران نباشید. با بررسی بعضی از پروژه های متداول نرم افزار آزاد روی اینترنت و ایده گرفتن شروع کنید. بیشتر آنها روی سایتشان قسمتی با عنوان “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
ارسال مقاله توسط کاربر محترم سايت :amirpetrucci0261
راهنمایی برای یافتن داوطلبان
ممکن است ایمیلهایی با این مضمون دریافت کنید "چطور می توانم کمک کنم؟" و وقتی مردم با پیشنهاد کمک به سراغ شما می آیند باید جوابی بهتر از "نمی دانم چه کمکی می توانید بکنید.” داشته باشید. آماده باشید که جوابهایی با وظایفی معین بدهید که در مدت زمانی معقول قابل انجام و تکمیل باشند. باید مطمین شوید که منافعی که داوطلبان می توانند از مشارکت در پروژه شما انتظار داشته باشند را روشن کرده اید. این منافع شاید پول نباشد اما چیزهای با ارزشی هستند که افراد به عنوان داوطلبان نرم افزار آزاد می توانند از آن بهره مند شوند.
اگر اینطور بنظر می آید که اینها داده های زیادی برای هضم کردن است نگران نباشید، این مقاله هر کدام از این موضوعات را با جزییات بیشتر توضیح می دهد. بعد از خواندن این مقاله شما باید ایده های خوبی داشته باشید که چطور می شود پروژه نرم افزار آزادتان را برای همه دواطلبان با استعداد بالقوه جذاب تر کنید.
گفتگو درباره مقصود پروژه
اگر با خودتان می گویید "من یک کدنویسم، مدیر حرفه ای که نیستم"، و در عجبید که چطور باید از پس این قضیه مقصود بربیایید، نگران نباشید. با بررسی بعضی از پروژه های متداول نرم افزار آزاد روی اینترنت و ایده گرفتن شروع کنید. بیشتر آنها روی سایتشان قسمتی با عنوان “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