پیشگفتار
امروزه مفهوم توسعهٔ متنباز نرمافزار بیش از پیش گسترش یافته است. بهطوری که تعداد توسعهدهندههای متنباز در سراسر دنیا افزایش چشمگیری داشته و نرمافزارهای متنباز سهم قابل توجهی از سیستمهای محاسباتی عصر نوین را بهخود اختصاص دادهاند. سرورهای بسیاری از سیستمعاملهای متنباز استفاده میکنند و پروژههای علمی و تجاری بسیاری برپایهٔ سکوهای نرمافزاری متنباز مدیریت میشوند.
در این میان، متأسفانه در کشور ما مفهوم و فلسفهٔ توسعهٔ متنباز در میان کاربران بهخوبی جا نیفتاده است. شاید بتوان مهمترین دلیل این امر را، دیدگاه توسعهدهندگان و مصرفکنندگان محصولات نرمافزاری در کشور عنوان کرد. بهعبارت دقیقتر ترکیب دو دیدگاه «رایگان است، پس بهدرد نمیخورد» از سوی کاربران و «کد من با ارزش است، پس آن را قایم میکنم!» از سوی توسعهدهندهها بهنوعی باعث این شده است که نرمافزارهای آزاد و همچنین نرمافزارهای متنباز جایگاه مناسبی در کشور نداشته باشند.
اما پیش از این که تقصیر این نارسایی را گردن مصرفکنندگان و فرهنگ بازار نرمافزار بیندازیم، باید نگاهی به جوامع مجازی متنباز داخلی بیندازیم. توسعهدهندههای متنباز در کشور ما معمولاً بهصورت جزیرهای و پراکنده و در پروژههای تکراری و همسان کار میکنند. معمولاً توسعهدهندههای متنباز در کشور ما جوامع متمرکز تشکیل نمیدهند و متأسفانه وقت و انرژی افراد بهشکل گستردهای هدر میرود. البته بیان چنین دیدگاه پررنگ و قاطعانه شاید درست بهنظر نرسد. افراد بسیاری هستند که خیلی متمرکز و جامع روی پروژههای متنباز (چه آزاد و چه غیر آزاد) کار میکنند و تولیدات بسیار مفیدی دارند. لکن فرم کاری غالب دوستان توسعهدهنده به همین شکل نیست.
چه باید کرد؟
لزوم اجتماع و تمرکز توسعهدهندگان متنباز بهوضوح احساس میشود. مشخصاً جوامع مجازی میتوانند نقش بسیار مؤثری در این مورد داشته باشند. در یک سری از نوشتهها سعی خواهم کرد با معرفی جوامع بینالمللی توسعهدهندگان متنباز، شما را برای عضویت در این جوامع ترغیب کنم.
شروع بهکار
۱. شما یک توسعهدهندهٔ باتجربه هستید. ایدهٔ بسیار خوبی در یک مورد خاص دارید. ایدهٔ شما میتواند مشکل خاصی را حل کند. با اتکا به تجربهٔ خود، شما مطمئن هستید که یک ایدهٔ تکراری و یا احمقانه ندارید.
۲. اولین کاری که شما انجام میدهید تحقیق در مورد پیشینهٔ کاری انجام شده در آن مورد خاص است. دو حالت پیش میآید. یا کسی قبلا در مورد آن کار مشابهی انجام داده است و یا این که ایده موردنظر اولین بار به فکر شما رسیده است. در حالت اول شما پروژههای متنباز مربوطه را پیدا میکنید و درصورتی که وضعیت فعال داشته باشد در توسعهٔ آنها مشارکت میکنید. در حالت دوم یک پروژهٔ جدید کلید میزنید و …
۳. تا اینجا همهچیز به خوبی پیش رفته است. شما خوشحال هستید و کار خود را شروع کردهاید. اما در صورتی که شما مدیریت یک پروژهٔ متنباز را بهعهده داشته باشید قطعاً با مشکلات خاصی مواجه خواهید بود. اولین مشکل این است که چطور دیگران را از کار خود آگاه کنید؟ شما مایل هستید همه پروژهٔ شما را ببینند و از آن استفاده کنند. مشکل بعدی مشارکت در پروژه هست. شما میخواهید دیگران هم در پروژهٔ خود درگیر کنید. مسلماً پدربزرگ شما همیشه ضربالمثل معروف «یک دست صدا ندارد» را به شما آموخته است.
بهترین کاری که میتوانید انجام دهید ثبت پروژهتان در یکی از سایتهای میزبانی متنباز است. به این ترتیب جامعهٔ فوقالعاده بزرگی از توسعهدهندهها و کاربران حرفهای متن پروژهٔ شما را میبینند. شما میتوانید از آنها بخواهید که در پروژهٔ شما مشارکت داشته باشند. این سرویسدهندهها امکانات باورنکردنی در اختیار شما قرار میدهند. هدف اصلی این نوشته معرفی سرویسدهندههای میزبانی پروژههای متنباز و شبکههای اجتماعی توسعهدهندههای متنباز است.
سورسفورج دوست شماست
قطعاً در اولین سری معرفی پایگاهها باید نگاهی به سایت sourceforge.net بیندازیم. شاید برای شما هم پیش آمده باشد که دنبال یک نرمافزار گشتهاید و لینکهای دانلودی که در سایتهای مختلف پیدا کردهاید شما را به سایت سورسفورج راهنمایی کردهاند. سورسفورج یک سرویس میزبانی پروژههای متنباز است. این سرویس توسط گروه Geeknet مدیریت میشود. طبق آمار ارائه شده در فوریهٔ سال ۲۰۰۹ سورسفورج بیش از دومیلیون توسعهدهنده و ۲۳۰ هزار پروژهٔ متنباز را میزبانی میکرده است.
امکاناتی که این سرویس در اختیار شما قرار میدهد قطعاً فراتر از تصور است! از طرف دیگر تمام سرویسهای سورسفورج کاملاً رایگان هستند. طوری که شما ممکن است فکر کنید کاسهای زیر نیمکاسه است.
برای استفاده از sf در ابتدا باید در سایت عضو شوید. روال عضویت کاملاً معمولی است و از طریق ایمیل انجام میشود. بعد از عضو شدن ممکن است بخواهید اولین پروژهٔ خودتان را ثبت کنید. صفحهٔ اصلی برای ثبت اولین پروژه شما را به این آدرس راهنمایی میکند:
در صفحهٔ ثبت پروژه از شما نام و آدرس پروژه پرسیده میشود. در قسمت پایینی میتوایند تعدادی از امکانات اولیهٔ پروژهٔ خود را مدیریت کنید. امکانات ارائه شده توسط sf را با جزئیات بیشتری در ادامه بررسی خواهیم کرد.
پس از پذیرفتن آییننامه، پروژهٔ شما ایجاد میشود. حالا باید اطلاعات بیشتری در مورد پروژه وارد کنید: اجازهنامه، زمینهٔ فعالیت، طبقهبندی، گروه مخاطبین و غیره…
پس از ثبت پروژه شما میتوانید از امکاناتی که سورسفورج در اختیار شما قرار میدهد استفاده کنید. بررسی تکتک این امکانات با جزئیات کامل لطف زیادی ندارد. تنها به نام بردن اکتفا میکنم. گزینههایی که با * علامت زده شدهاند اجباری هستند. یعنی شما نمیتوانید آنها را در پروژه غیر فعال کنید. بقیهٔ امکانات اختیاری هستند
- سیستم پشتیبانگیری* مکانیزمی برای مدیریت پشتیبانگیری کد و باینریهای برنامه
- مدیریت فایل* ابزاری برای مدیریت فایلهای نهایی (انتشار نهایی – deployment/release)
- سیستم پیشنهاد کمکرسانی* این سیستم براساس اطلاعاتی که شما در مورد پروژه ثبت کردهاید (زمینهٔ کاری، پیشنیازها، مخاطب پروژه) پروژهٔ شما را به بقیهٔ اعضای سورسفورج که در زمینهٔ مشابهی فعالیت میکنند معرفی میکند! همچنین پروژههای مشابه را به شما پیشنهاد میدهد. بهاین ترتیب میتوانید بیشتر در مورد زمینهٔ کاریتان و کاری که دیگران در این مورد انجام دادهاند اطلاعات کسب کنید.
- پایگاه دادهٔ MySQL* همانطور که از نامش پیداست، سورسفورج برای هر پروژه یک پایگاه داده میسازد که علاوهبر اطلاعات درونی پروژه، میتواند برای مقاصد مختلفی مثل unit testها، نظرسنجیها و کاربردهای آماری مورد استفاده قرار بگیرد.
- وبسرور* سورسفورج یک سرور HTTP برای هر پروژه ثبت میکند. شما میتوانید صفحهٔ وب پروژهتان را در آن قرار دهید.
- VHOST* این امکان بهشما اجازه میدهد که میزبانی دامنهٔ خود را روی سرورهای سورسفورج منتقل کنید.
- گیت سیستم مدیریت سورس معروف گیت که توسط لینوس تروالدز اختراع شد. این سیستم در حال حاضر یکی از پرطرفدارترین سیستمهای مدیریتی است.
- اخبار پروژه امکانی که به شما اجازه میدهد با استفاده از فیدهای RSS اخبار مربوط به پروژه (انتشار نسخهٔ جدید، ویژگیهای جدید، اخطارهای امنیتی و …) را منتشر کنید. بعضی از این فیدها مثل انتشار نسخهٔ جدید بهطور خودکار توسط سیستم منتشر میشوند.
- اسکرینشات نیازی به توضیح اضافی نیست!
- سیستم Tracker این سیستم یک مدیریت محتوای پیشرفته است که به منظور مدیریت باگها و روند کنترل توسعهٔ نرمافزار (Release management) مورد استفاده قرار میگیرد.
- Mailing Lists سیستم لیست ایمیل که میتواند برای مقاصد مختلفی از جمله ارتباط کاربران با به توسعهدهندهها، ارتباط کاربران با کاربران دیگر، انتشار اخبار نسخههای جدید و یا رفع اشکال مورد استفاده قرار گیرد.
- فرومها سیستم مدیریت محتوای سادهای که امکان پیادهسازی یک جامعهٔ مجازی برپایهٔ فروم را برای شما فراهم میآورد.
- Bazaar سیستم مدیریت کد (شبیه گیت)
- CVS سیستم مدیریت کد
- Mercurial سیستم مدیریت کد
- Subversion سیستم مدیریت کد
وقتی پروژهٔ شما آماده شد میتوانید سورس و یا باینریهای آن را منتشر کنید. بعد از انتشار، اطلاعرسانی توسط سیستم داخلی سورسفورج انجام میشود. سیستم بهطور خودکار پروژهٔ شما را به توسعهدهندگان دیگر که احتمالاً روی پروژهٔ مشابهی فعالیت میکنند؛ توصیه خواهد کرد. میتوانید آمار مربوط به میزان بازدید و تعداد و محل دانلودها را هم مشاهده کنید.
{ادامه دارد…}
12 دیدگاه برای این نوشته:
- فرود:
۰۵ آبان ۱۳۹۱
من البته موافقم که github دوست خوبیه، ولی sf.net رو خیلی وقته که فقط به عنوان یه هاست برای فایلهای بزرگ بهش نگاه میکنم.
اگه کدتو دوست داری، بذارش روی github یا bitbucket ولی اصلا و ابدا sf.net نه.تجربه همه اینها رو دارم، از sf و google code و الان هم این github و bitbucket . امکانات bitbucket خیلی خیلی بهتره، ولی github جا افتاده تره. یعنی احتمال اینکه روی github بیشتر کد رو ببینه خیلی بیشتره.
- سروش:
۰۵ آبان ۱۳۹۱
موافقم فرود. من سورسفورژ رو بهعنوان یک هاست شماره یک برای «کد» قبول ندارم. اما بیشک برای میزبانی یک پروژهٔ متنباز گزینهٔ اولم هست.برای پروژههای مهم از ترکیب چند تا هاست استفاده میکنم. مثلا کد اصلی رو میذارم روی گیتهاب و یک ریموت هم برای سورسفورژ میذارم. هر چند ماه یکبار کامیتها رو روی sf هم میریزم.
- حامد سپهر:
۰۵ آبان ۱۳۹۱
بسیار عالی بود :) منتظر ادامش هستم.درضمن بعضی از لینکهای داده شده رو متن مشکل داشت. مثلا در لیست امکاناتی که ذکر کزدین وقتی روی گیت کلیک میکنم به آدرسی که زیرمجموعه linuxreview.ir هست میرم. لطفا آدرسها رو تصحیح کنین :یی البته با حذف آدرس لینوکس رویو به صورت دستی از اول لینک مشکل حل میشد ولی خب…
- سروش:
۰۵ آبان ۱۳۹۱
ممنون به خاطر گزارش مشکلظاهراً سیستم خودش لینکها رو دستکاری کرده. لینک اول به یک مطلب داخل سایت تغییر مسیر میده که ربطی نداره ولی اسمش مشابهه.
- مسعود آموزگار:
۰۵ آبان ۱۳۹۱
لینکها تصحیح شدند :) - Tim:
۰۵ آبان ۱۳۹۱
لعنت بر sf و google code. مخصوصا sf. چرا که قوانین دسترسی آزاد کاربر رو رعایت نمی کنند و در جواب ریچارد استالمن هم چرت و پرت جواب میدن. من خیلی وقته که ازش کندم. - محمد علی:
۰۶ آبان ۱۳۹۱
در متن گفتید Source Forge دوست شما ست !
می خواستم بگم دوست ما نیست چون دسترسی برای فایلهاش رو برای ما بسته است - سروش:
۰۶ آبان ۱۳۹۱
«قوانین دسترسی آزاد کاربر» چیه دقیقاً؟ - علی:
۰۶ آبان ۱۳۹۱
این مطلب میتونه خیلی مفید واقع بشه. ممنونم.
امیدوارم ادامه بدین. - سروش:
۰۷ آبان ۱۳۹۱
همچین کاری نکرده. قوانین سایت رو دقیقتر مطالعه کنید. - حامد سپهر:
۰۷ آبان ۱۳۹۱
تا اونجا هم که من میدونم توش میتونین انتخاب کنین که فایلتون برای همه در دسترس باشه یا نه. - سعید:
۲۳ آبان ۱۳۹۱
آقا این سایتتون توی اپرا درست نشان داده نمیشه. با فایرفاکس و اینترنت اکسپلورر مشکلی نداره.بی زحمت یه دستی به css سایت بکشین، به فکر ما 1.6 درصد هم باشین.
با تشکر