محصولات

خدمات

تبادل اطلاعات

ارتباط با آتون

دات نت نیوک

مقالات
  عمومی ::  تاریخچه دات نت نیوک
  کد: 9  تعداد بازدیدها: 2911 تعداد نظرها: 0  تعداد امتیازها:  0   (Article Rating)
تاریخچه دات نت نیوک
تولد يك پورتال‌

چنانكه مي‌دانيد، نرم‌افزار پورتال‌سازي دات‌نت نيوك، يكي از پيشرفته‌ترين و موفق‌ترين سيستم‌هاي ساخت پورتال و انجمن آنلاين بر اساس فناوري ASP.NET مايكروسافت است. تاكنون هزاران نفر از سراسر دنيا اين نرم‌افزار را به رايگان دانلود كرده‌اند و به كمك آن براي سازمان، گروه يا شركت خود و ديگران پورتال ساخته‌اند.

شاون واكر (Shaun Walker)، مبتكر پروژه DotNetNuke چنانكه در مقدمه كتاب DotNetNuke ASP.NET Portals تعريف نموده، در ابتدا اصلاً قصد ورود به يك پروژه اپن سورسي را نداشته است، اما نياز او را وادار كرد كه به اين سمت برود.

او زماني به فكر توليد يك نرم‌افزار پورتال‌سازي مي‌افتاد كه وضعيت شركت نرم‌افزاري كه در آن مشغول به كار بود، به دليل رقابت سنگين صنعت IT چين و هند با ايالات متحده دچار بحران مي‌شود و ناگزير دست به تجديد ساختار مي‌زند و در اين حين زيربناي برخي محصولات و توليدات خود را از فناوري مايكروسافت به فناوري جاوا تغيير مي‌دهد.

همزمان زرنگي شركت‌هاي چيني و هندي‌ در بهره‌برداري از رهيافت برون‌سپاري (Outsourcing) موجب مي‌شود به تدريج تعداد قابل ملاحظه‌اي از مشتريان و سازمان‌هاي آمريكايي هنگام تصميم‌گيري براي خريد يك نرم‌افزار يا راهكار، گزينه‌هاي چيني را به دليل ارزان‌تر بودن نسبت به محصولات و خدمات شركت‌هاي بومي خود، ترجيح دهند.

لذا تعدادي از كاركنان شركت به منظور كاستن از هزينه‌ها بركنار مي‌شوند و سمت شاون واكر از برنامه‌نويس به مدير پروژه تغيير مي‌يابد؛ زيرا دانش او در زمينه برنامه‌نويسي روي پلتفرم مايكروسافت ديگر كاربردي نمي‌يابد. اين اتفاقات درست مصادف مي‌شود با معرفي و عرضه فناوري دات‌نت از سوي مايكروسافت و واكر كه طي آن سال‌ها شاهد برتري فناوري جاوا بر پلتفرم مايكروسافت‌ - به دليل بهره‌گيري از معماري شيء گرا و عدم وابستگي به سيستم‌عامل- بوده است، از معرفي يك فناوري كاملاً شي‌ءگرا توسط مايكروسافت بسيار خوشحال مي‌شود و تصميم مي‌گيرد آن را بياموزد.

واكر خيلي زود متوجه مي‌شود كه مايكروسافت براي تبليغ اين فناوري جديد، سورس چند پروژه نرم‌افزاري كامل و جالب، از جمله مديريت محتواي سايت (CMS) با استفاده از ASP.NET را به رايگان در اختيار عموم قرارداده است و كنجكاو مي‌شود.

براي واكر خيلي جالب بود كه مايكروسافت در مجوز بهره‌برداري از سورس‌ها براي كاربر نهايي EULA يا End-User License Agreement به برنامه‌نويسان اجازه مي‌دهد به طور نامحدود از آن‌ها استفاده  كنند.

پروژه‌اي كه در اين ميان براي واكر جالب مي‌نمايد، IBuySpy است كه بعداً واكر بر اساس آن، ‌DotNetNuke را مي‌سازد (شكل 1).

او با خود فكر مي‌كند كه شايد بتواند تغييراتي در اين سورس بدهد، آن را بهتر كند و به عنوان محصول خودش به فروش برساند (چون مجوز مذكور چنين اجازه‌اي به او مي‌داد).

با اين حال سير حوادث او را به سمتي مي‌برد كه متوجه مي‌شود هيچ راهي براي نجات پروژه DotNetNuke جز اپن‌سورس كردن آن وجود ندارد و تنها آن زمان است كه واكر متوجه مي‌شود كه اصولاً يكي از دلايلي كه بعضي از برنامه‌نويسان را به سمت اپن سورس مي‌كشاند، عدم امكان تحقق آرمان‌هايشان از طرق ديگر است.

بنابراين به زعم او خيلي از پروژه‌هاي اپن سورس ابتدا با هدف كسب سود و توليد نرم‌افزار تجاري شروع شده‌اند، اما در ميانه راه متوجه مي‌شوند كه هدف و كارايي واقعي نرم‌افزار آن‌ها شناخته نخواهد شد؛ مگر اين‌كه راه اپن‌سورس را در پيش بگيرند.

پاتوق آنلاين‌

درست زماني كه واكر به سمت IBuySpy مي‌رود، مايكروسافت سايت معروف www.asp.net را براي پشتيباني از برنامه‌نويسان ‌ASP.NET برپا مي‌كند و خيلي زود انجمن‌هاي آنلاين اين سايت به پاتوق طراحان و برنامه‌نويسان وب تبديل مي‌شود (شكل 2).

در اين سايت انجمني هم به IBuySpy اختصاص يافته بود كه در آن علاقمندان اين پروژه و كساني كه عملاً استفاده از آن را شروع كرده بودند، دور هم جمع مي‌شدند تا مشكلاتشان را با هم در ميان بگذارند و قابليت‌هاي نرم‌افزار را توسعه دهند.

شاون واكر، يكي از فعال‌ترين كاربران اين محفل بود. از شرح نوشته شده در كتاب چنين برمي‌آيد كه واكر از طريق پياده‌سازي IbuySpy براي مشتريان طراحي سايت، به ويژه كساني كه واكر با عنوان «سايت‌هاي ورزشي آماتوري» از آن‌ها ياد مي‌كند، به كسب درآمد مي‌پرداخته و براي او بسيار مهم بوده ‌است كه اين سيستم را به نرم‌افزاري كارامد تبديل كند. طوري كه به بهترين شكل نيازهاي مشتريانش را پوشش دهد.

يكي از قابليت‌هايي كه IBuySpy را به نرم‌افزاري پرطرفدار تبديل كرد، توانايي بالقوه آن در مديريت همزمان بيش از يك پورتال بود، اما اين قابليت به خوبي پياده‌سازي و تكميل نشده بود. به نظر مي‌رسيد شركت مايكروسافت و ورتيگو كه مشتركاً اين محصول را ساخته بودند، چنين قابليتي را براي توسعه آتي محصول پيش‌بيني كرده بودند، اما فرصت كافي براي تكميل آن پيدا نكرده بودند يا اساساً قصد چنين كاري را نداشتند.

اگر اين قابليت تكميل مي‌شد، يك شركت ميزباني وب مي‌توانست با يك ‌بار نصب اين سيستم روي سرور خود، به تعداد نامحدودي از مشتريانش سرويس دهد. اين نرم‌افزار مي‌توانست صرفاً بر اساس نام دامين سايت مشتري، تمام محتويات و تنظيمات خاص آن سايت را از ديتابيس مركزي بارگذاري كند و نمايش دهد.

بنابراين شاون واكر يك زمينه خيلي خوب براي توسعه سيستم پيدا كرد و آن را مبناي كار خود قرار داد. چنين قابليتي سبب شد اين نرم افزار خيلي زود به عنوان برنامه‌اي منبع باز محبوبيت پيدا كند. واكر به همراه برنامه‌نويس ديگري كه در پايگاه asp.net با وي آشنا شده بود، حدود يك سال روي پروژه كار كردند و قابليت‌ها و امكانات آن را توسعه دادند.

انگيزه اوليه آنان اين بود كه اين سيستم را به محصولي قابل ارايه به بازار تبديل كنند، اما از آنجا كه هر دو نفر فقط مي‌توانستند در ساعات فراغت از شغل اصلي خود روي پروژه كار كنند، خيلي زود متوجه شدند كه يا بايد شغل خود را كنار بگذارند و روي بازاريابي اين محصول كار كنند، كه در اين صورت به منابع و پشتيباني مالي احتياج داشتند، يا اين‌كه با اين وقت محدود خود، از ايده تبديل نرم‌افزار به يك بسته تجاري بگذرند و راه ديگري براي توسعه آن پيدا كنند. سرانجام آن دو تصميم گرفتند روش‌هاي غير تجاري را انتخاب كنند تا دست كم حاصل يك سال زحمات خود را نجات دهند.

با اين حال، اين تنها مشكلي نبود كه با آن روبه‌رو شدند. در حقيقت IbuySpy يك پروژه ايستا بود كه يك بار براي هميشه توليد شده بود و كسي (نه مايكروسافت، نه ورتيگو) مسئوليت توسعه و پشتيباني آن‌ را نپذيرفته بود. بنابراين تمام تلاش‌هايي كه در راستاي توسعه اين محصول در محفل آنلاين كاربرانش صورت گرفته بود، بدون مديريت و نظارت متمركز صورت گرفته بود.

هر برنامه‌نويس خلاقي يك ويرايش خاص خود از برنامه پديد آورده بود كه بعضاً در اختيار عموم هم قرار نمي‌گرفت؛ شايد با اين پيش‌فرض كه آنان نيز به نوبه خود در انديشه تبديل نسخهِ توسعه داده شده خود از IbuySpy به يك محصول تجاري بودند.

ديگراني هم كه كدهاي خود را به محفل آنلاين مي‌فرستادند، تحت يك مديريت متمركز نبودند و پروژه عملاً به بي‌نظمي مبتلا شده بود. در چنين مقطعي واكر تصميم ‌گرفت هم براي حفظ زحماتشان و هم به منظور سروسامان دادن به روند توسعه محصول يك برنامه اپن‌سورس را آغاز كند. در حالي كه او چيز زيادي درباره فلسفه اپن سورس و قواعد آن نمي‌دانست.

انتشار رسمي نرم‌افزار جديد

چنانكه واكر تعريف مي‌كند، او براي انتشار رسمي نسخه توسعه يافتهِ خود در آستانه كريسمس سال  2003 سه كار مهم و بجا انجام داد كه تأثير بسزايي در موفقيت اولين توزيع محصول جديد گذاشت: نخست اين‌كه، نام IBurSpy Workshop را براي نرم‌افزار انتخاب مي‌كند تا براي كاربران هم يادآور اين واقعيت باشد كه اين محصول نسخه جديدتري از همان برنامه محبوب IbuySpy است و هم با افزودن يك كلمه ديگر آن را از نرم‌افزار اوليه متمايز كند تا نشان‌دهنده تغييرات و اصلاحاتي باشد كه اين محصول  به خود ديده است. جالب اين‌كه، مخفف نام اين محصول، يعني IBSW به شكل زيركانه‌اي مخفف نام خود او (SW) را نيز در خود داشت!

دوم، او يك سايت جداگانه براي اين محصول برپا كرد و كاربران علاقمند به دانلود برنامه‌ را وادار ساخت تا قبل از دريافت رايگان نرم‌افزار، در سايت ثبت‌نام كنند و او بتواند بعداً از طريق ايميل انتشار اصلاحات و نسخه‌هاي جديدتر برنامه‌ را به اطلاع آنان برساند.

و سرانجام اين‌كه، او يك اطلاعيه محترمانه و بي‌تكلف در سايت asp.net گذاشت (شكل3) تا مردم را به دريافت اين برنامه دعوت كند.

اين سايت كه محل برو و بياي تعداد زيادي از طراحان وب بود، بهترين مكاني بود كه واكر مي‌توانست در آن موجوديت نرم‌افزارش را اعلام كند.

وقتي واكر از تعطيلات كريسمس برگشت و به سايت پروژه و نيز انجمن asp.net مراجعه نمود، از ميزان زياد ايميل‌هايي كه برايش رسيده بود، شگفت‌زده شد. بسياري از برنامه‌نويسان از او به خاطر انتشار اين نرم‌افزار تشكر كرده بودند و خواستار پشتيباني و توسعه آتي نرم‌افزار شده بودند.

اين استقبال گرم برنامه‌نويسان او را به اين نتيجه رساند كه انتخاب او روش درستي بوده است و اكنون دلگرم بود كه اگر حتي نتواند به تنهايي اين پروژه را ادامه دهد، دست‌كم اين جامعه كوچك از برنامه‌نويسان خودبه‌خود پروژه را جلو خواهند برد.

در عين حال نگران بود كه او لوكوموتيو قطاري را به راه انداخته است كه اكنون ديگر در مسير خود سرعت گرفته و شايد حتي لازم باشد انرژي بيشتري مصرف كند تا آن را در مسير صحيح خود كنترل و هدايت كند. به تدريج كه پروژه جلو مي‌رفت، او احساس كرد اين مسئله حتي روي زندگي زناشويي و خانوادگي او تأثير منفي گذاشته است؛ زيرا تنها مي‌توانست در اوقات فراغت خود، كه قاعدتاً بايد به زندگي خصوصيش اختصاص مي‌يافت، به مديريت پروژه بپردازد.

به عقيده واكر، مديريت و پشتيباني از كاربران يك نرم‌افزار يك موضوع اساسي در فرايند توسعه هر نرم‌افزاري است و به راستي اين كاربران گنجينه‌اي هستند كه بازخوردها و اظهارنظرهاي آن‌ها مي‌تواند نقش مهمي در ارتقاي كيفيت نسخه آتي محصول داشته باشد.

اهميت اين موضوع در نرم‌افزارهاي اپن سورس دوچندان است؛ زيرا اصولاً بخش بزرگي از تغييرات و اصلاحات در يك نرم‌افزار اپن‌سورس حاصل ديدگاه‌ها، نيازها و انتقادات كاربراني است كه هم‌اكنون مشتري آن هستند. واكر نوشته است: يك اصطلاح معروف در دنياي اپن سورس اين است كه «هيچ كاربري نبايد در بن‌بست يك زيرشاخهِ مشتق‌شده از فرايند تكامل نرم‌افزار تنها بماند.»
 
يكي از معاني اين شعار آن است كه مديريت يك پروژه اپن‌سورس بايد مراقب باشد تا اگر يك شاخه فرعي و خاص از روند عمومي توسعه نرم‌افزار مبتكرانه و جالب به نظر مي‌رسد، حمايت شود و آن ايده و تلاش خلاقانه در فرايند كلي توسعه نرم‌افزار جذب و حل گردد.

واكر سه عامل را در تحليل علت استقبال برنامه‌نويسان از پروژه اپن‌سورسي IBSW برمي‌شمارد: يكي، فقدان پشتيباني از نرم‌افزار اپن‌سورس IbuySpy از سوي مايكروسافت كه كاربران را با مشكلاتشان تنها گذاشته بود. ديگري، فراواني تعداد قابليت‌ها و امكاناتي كه در نسخه اوليه IbuySpy موجود نبود و IBSW را به جايگزين قطعي آن تبديل كرده بود. سوم، نكته‌اي بود كه واكر از آن تحت عنوان فقدان حمايت جدي مايكروسافت از برنامه‌نويسان ويژوال بيسيك دات‌نت (در دو سال نخست عرضه فناوري دات نت) نام مي‌برد.

مايكروسافت طي آن سال‌ها روي اهميت و قابليت‌هاي زبان سي شارپ خيلي مانور مي‌داد تا بر قابل رقابت بودن آن با زبان جاوا تأكيد كند و بتواند تعدادي از برنامه‌نويسان جاوا را به اين سمت بكشاند. اين استراتژي سبب شده بود حمايت مايكروسافت از برنامه‌نويسان ويژوال بيسيك تحت‌الشعاع قرار گيرد و سورس كد اغلب مثال‌هاي مايكروسافت از جنس سي‌شارپ باشد.

در چنين شرايطي ارايه يك نرم‌افزار كامل و قدرتمند براي پورتال‌سازي، آن‌هم به زبان ويژوال بيسيك دات‌نت، واقعاً موجب خوشحالي برنامه‌نويساني شده بود كه تازه از دنياي ويژوال استوديوي 6 به دنياي دات نت مهاجرت مي‌كردند. خوشبختانه در اين حين، راب هوارد، يكي از مبتكران فناوري ASP.NET و مدير سايت آن، به كمك واكر شتافت و به درخواست او، يك انجمن اختصاصي برايIBSW  ايجاد كرد تا از IbuySpy متمايز شود.

آغاز بحران‌

به زودي نگراني اوليه واكر درباره چالش‌هاي مديريت اين لوكوموتيو پرشتاب رنگ واقعيت به خود گرفت. واكر كه تمام اوقات فراغت از كار را در شبانه روز به هدايت پروژه، پاسخگويي به ايميل‌ها، پشتيباني از كاربران و توسعه و اصلاح نرم‌افزار اختصاص داده بود، احساس كرد زندگي خصوصي او به خطر افتاده است.

بنابراين زير فشار استرس رواني ناشي از مديريت 2000 كاربر ثبت شده‌ در سايت IBSW تصميم گرفت سرويس پشتيباني و بخش دانلود سايت را پولي كند و براي آن حق اشتراكي بين بيست تا سي دلار در ماه تعيين كند. او در اين انديشه بود كه با درآمد حاصل از اين اشتراك‌ها هزينه پشتيباني و توسعه پروژه را تأمين كند تا بتواند تعادلي ميان زندگي شغلي، زندگي خانوادگي و حيات IBSW ايجاد كند.

به همين منظور، يك اطلاعيه در سايت asp.net منتشر كرد و اعلام نمود از اين پس كاربراني كه مايلند نسخه‌هاي جديد را دريافت كنند يا از پشتيباني برخوردار شوند، بايد حق اشتراك بپردازند. 

او در ادامه جزئيات اين شيوه جديد را توضيح داد (شكل4).

با اين حال به مجرد اين اعلان، سيل انتقادها به سوي واكر سرازير شد. او را به دروغ‌گويي درباره اپن‌سورس‌بودن پروژه متهم كردند و اين نظريه عمومي قوت گرفت كه همه اين ماجرا فريبي بيش نبوده و واكر خواسته است از محل دريافت حق اشتراك از كاربراني كه اكنون ديگر وابسته او شده بودند، پول كلاني به جيب بزند! به اين ترتيب واكر در مقياس وسيعي به بي‌كفايتي در هدايت پروژه متهم شد.

اين جار و جنجال توجه شركت مايكروسافت را جلب كرد. به طوري كه اسكات گوتريه، يكي از طراحان فناوري ASP.NET در اين شركت نامه‌اي به واكر نوشت و به او پيشنهاد كرد با توجه به زحماتي كه براي اين پروژه كشيده‌ است، در تصميم خود تجديد نظر نمايد. به نظر مي‌رسيد مايكروسافت از اهميت حيات اين پروژه آگاه است و مايل نيست به خاطر چنين اشتباهي، پروژه متلاشي شود.

در اين مقطع يكي از دوستان واكر يك مشاور فني به او معرفي كرد كه واكر را در تنظيم يك پوزش‌نامه ياري مي‌دهد و سرانجام واكر نامه ديگري تنظيم مي‌كند و خاكسارانه از همه كاربران به خاطر اين اشتباه پوزش مي‌خواهد و توضيح مي‌دهد كه همه كساني كه پس از انتشار نامه نخست بابت اشتراك در سيستم حق عضويت پرداخته‌اند، مي‌توانند پول خود را پس بگيرند و به اين ترتيب غائله را خاتمه مي‌دهد.

اما مشكل واكر همچنان باقي مانده بود. واقعاً چه راه ديگري براي واكر وجود داشت؟ از يك سو نمي‌توانست بيش از اين زندگي شغلي و خانوادگي خود را به خطر بيندازد و از سوي ديگر، راه‌اندازي سرويس پولي آن در بدو اعلام، شكست خورده  بود. آيا مي‌توانست IBSW را رها كند و آن را به كاربران عضو انجمن بسپارد؟ يا راه حل ديگري هم وجود داشت؟

بله! راه ديگري هم وجود داشت. پروژه‌هاي اپن‌سورس به حامي مالي نياز دارند. پروژه IBSW نيز به يك اسپانسر نياز داشت و اين اسپانسر چه كسي غير از مايكروسافت مي‌توانست باشد؟ جنجال كوتاهي كه شان واكر آفريد و خود به آن خاتمه داد، سبب شد توجه مسئولان عالي‌رتبه در شركت مايكروسافت به اين پروژه جلب شود.

شکل 1


معلوم شد كه در تمام مدتي كه IBSW در حال تغيير و تحول بود، زير ذره‌بين مايكروسافت بوده است. اما تا پيش از اين جنجال، شركت آسوده خيال در گوشه‌اي نشسته بود و به طور غيرمستقيم از پيشرفت پروژه و تبليغي كه به واسطه آن براي فناوري ASP.NET مي‌شد، بهره مي‌برد. گويي اين جنجال مايكروسافت را به خود آورده بود. تعامل و ارتباطي كه بين اسكات گوتريه و شاون واكر بر سر اين جنجال برقرار شد، IBSW را در كانون توجه دپارتمان ASP.NET در مايكروسافت قرار داده بود.

آن‌ها از IBSW و تلاش‌هاي واكر خوششان آمده بود و مايل نبودند پروژه به دليل مشكلات مالي و فشار كاري واكر به شكست بينجامد. البته گوتريه و تيم ASP.NET مايكروسافت در اين مقطع هيچ قولي به واكر نمي‌دهند. اما اين حادثه پايه‌اي مي‌شود براي تحولات بعدي كه در نهايت مايكروسافت را به اسپانسر پروژه تبديل مي‌كند.

ديالوگ گوتريه و واكر ادامه مي‌يابد تا سرانجام روز موعود فرا مي‌رسد. مايكروسافت رسماً واكر را براي مذاكره دعوت مي‌كند. هيجان و استرس واكر را فرا مي‌گيرد. او كه تا چندي پيش يك برنامه‌نويس معمولي بود، اكنون از سوي بزرگ‌ترين شركت نرم‌افزاري جهان دعوت شده بود. مايكروسافت مي‌خواست از او و IBSW حمايت كند.

واكر روزي را به خاطر مي‌آورد كه به سوي ردموند، شهري كه ساختمان‌هاي مركزي مايكروسافت در آن قرار دارند، رانندگي مي‌كرد و در طول سه ساعت رانندگي، تمام گزينه‌هاي ممكن را مرور مي كرد تا براي هر وضعيتي آماده باشد. سعي مي‌كرد در ذهنش براي هر پرسش و چالشي آماده باشد. سرانجام به آنجا رسيد و وارد ساختمان‌ زيباي ردموند شد.

در آنجا گوتريه منتظرش بود و او را به دفتر شيك خود برد. در طول اين مذاكره هيجان‌انگيز و غيرقابل پيش‌بيني ناگهان ترس واكر فرو مي‌ريزد و برخورد نماينده مايكروسافت را بسيار صميمانه مي‌يابد. طوفان ايده‌ها و فكرهاي جالبي كه ميان آن دو رد و بدل مي‌شود، فضاي اتاق را پر مي‌كند. اين طوفان‌مغزي سه ساعت به طول مي‌انجامد.

واكر مي‌نويسد: «من آنجا فهميدم كه چرا گوتريه را پدر ASP.NET مي‌نامند و با خودم فكر مي‌كردم كه چه سعادتي پيدا كردم كه سه ساعت از وقتش را به من اختصاص داد تا قابليت‌هاي نرم‌افزارم را به او نشان دهم. تصوري كه از دژ عظيم مايكروسافت داشتم، يكباره تغيير يافت.»

واكر ابتدا دمويي از آخرين نسخه IBSW و قابليت‌هاي آن را نمايش مي‌دهد. سپس گوتريه به تشريح قابليت‌ها و ويژگي‌هاي ASP.NET2.0 که در آن زمان در مقطع تست آلفا بود، مي‌پردازد. شرط اصلي مايكروسافت براي همكاري چه بود؟ مايكروسافت مي‌خواست مطمئن باشد كه IBSW با چشم‌انداز و معماري آتي ASP.NET هماهنگ مي‌شود.

در واقع اين شركت علاقمند بود اين پروژهِ اپن سورسي طوري متحول شود كه همواره مُبلغ قابليت‌هاي اصلي جديدترين نسخه ASP.NET باشد. واكر تا آن زمان هيچ چيز درباره ASP.NET2.0 نمي‌دانست. براي او تزريق معماري ASP.NET2.0 به درون IBSW هم جالب و هم چالش‌برانگيز بود.

مديريت بحران‌

مذاكره آن دو اهميت فوق‌العاده‌اي براي واكر داشت. اما تنها يك شروع براي حمايت راهبردي مايكروسافت در ميان مدت بود. هنوز مشكل كوتاه مدت واكر حل نشده بود و صرف نظر از تفاهم كلي ميان آن‌ها، هنوز دنياي واقعي براي واكر مشابه شرايط پيش از جنجال سرويس اشتراك بود.

پس او همچنان محتاج يك راه‌حل كوتاه مدت بود. در جست‌وجو براي يافتن يك راه برون‌رفت از شرايط موجود، او به فكر ايده ميزباني وب افتاد. به هرحال همه كساني كه از IBSW استفاده مي‌كردند، به يك ميزبان وب نياز داشتند تا پورتال خود را روي آن بنا كنند.

بنابراين واكر تصميم گرفت شريكي پيدا كند تا براي او يك سرويس ميزباني وب راه بيندازد. سرانجام كسي از ميان كاربران فعال محفل IBSW  در سايت asp.net پيدا شد كه خيلي در زمينه ميزباني وب مهارت و علاقه داشت. آن‌ها توانستند اين ايده را عملي كنند.

در ابتدا وضعيت خوب بود. اما به تدريج هزينه‌هاي همين كار، يعني ميزباني پورتال‌هاي مشتريان و پشتيباني از آنان خود به دردسر جديدي تبديل شد كه تقريباً اكثر درآمد حاصل از ميزباني را مي‌بلعيد. اين وضعيت «كج‌دار و مريز» تا آنجا ادامه يافت كه سود و هزينه كار برابر شد و ايده واكر ديگر كارايي خود را از دست داد.

در اين مقطع او تصميم مي‌گيرد به اين ائتلاف تاكتيكي پايان بدهد، ولي اين اقدام كار دردناك و ناخوشايندي بود. وقتي واكر تصميم خود را به شريكش اعلام كرد، با ناراحتي شديد او روبه‌رو شد. مشكل اين بود كه هيچ سندي هم براي اين همكاري وجود نداشت. اين ائتلاف به صورت شفاهي صورت گرفته بود، و هيچ قراردادي ميان آن‌ها امضا نشده بود و حالا كه او تصميم گرفته بود به اين همكاري پايان دهد، با عذاب وجدان روبه‌رو شده بود.

واكر مي‌نويسد: «يكي از درس‌هاي مهمي كه من از اين كار گرفتم اين بود كه گرچه پروژه اپن‌سورس بود، هيچ همكاري و تفاهمي كه موجب پيوند و ارتباطي ميان عناصر پروژه و موجوديت‌هاي بيرون از آن مي‌شود، نبايد بدون مستندسازي باشد.»

برند و هويت DotNetNuke

يكي از مسائلي كه در مذاكره واكر و گوتريه مطرح شده بود، لزوم انتخاب يك هويت و نام (Brand) جديد براي IBSW  بود. كلمه IBSW كه مخفف IBuySpy Workshop بود هنوز نام و هويت پروژه IBuySpy مايكروسافت را يدك مي‌كشيد. در حالي كه تغييرات سورس كد پروژه نسبت به نسخه اوليه به اندازه‌اي بود كه ديگر نمي‌شد آن را نسخه‌ جديدي از IBuySpy تلقي كرد.

بنابراين واكر شروع به جست‌وجو براي يافتن يك نام جديد كرد و در اين ميان به شعار ‌Nuke برخورد. اين كلمه را فرانسيسكو بورزي، مبتكر PHP-Nuke و پيشتاز نرم‌افزارهاي پورتال‌سازي تحت وب سر زبان‌ها انداخت. از نظر لغوي Nuke يك واژه جديد است كه از كلمه Nuclear به معني هسته‌اي (اتمي) الهام گرفته است.1

واكر تصادفاً عبارت DotNetNuke را به عنوان يك دامين در اينترنت جست‌وجو مي‌كند و در كمال تعجب متوجه مي‌شود كه هنوز دات كام، دات نت و دات اورگ آن ثبت نشده است. بنابراين تصميم مي‌گيرد dotnetnuke.com ،dotnetnuke.net و dotnetnuke.org را ثبت كند.

اما به دليل وضع مالي خرابش در آن لحظه، فقط به اندازه ثبت يك دامين داخل كارت اعتباريش پول داشته است و به ناچار فقط دات كام آن را ثبت مي‌كند. چندي بعد به فاصله كوتاهي از ثبت اين دامين، كسي يا كساني دات‌نت و دات اورگ آن را به نام خودشان ثبت مي‌كنند.2

سپس واكر به سراغ سمبل انرژي اتمي مي‌رود كه البته متعلق به شركت يا سازمان خاصي نيست و در يك سايت اينترنتي به تصوير يك چرخ‌دنده كه روي آن اين علامت درج شده بود، برمي‌خورد. از سمبل چرخ دنده در صنعت و كسب و كار فراوان استفاده مي‌شود و به نهاد خاصي تعلق ندارد، ولي واكر براي محكم كاري از بابت عدم نقض قانون كپي رايت با مسئول آن سايت تماس مي‌گيرد و از او اجازه مي‌خواهد از اين تصوير در لوگويي كه براي DotNetNuke در ذهن خود ترسيم كرده بود، استفاده كند. به اين ترتيب پروژه DotNetNuke با نام و سايت جديدش اعلام وجود مي‌كند. نسخه اول DNN همان نسخه  5/0/1 نرم‌افزار ‌IBSW بود.3

انتخاب مدل مجوز دهي اپن سورس‌

چالش مهم ديگري كه شاون واكر بايد به آن مي‌پرداخت، مسئله مدل مجوزدهي (Licensing Model) بود. مجوز EULA مايكروسافت براي اين نرم‌افزار خاص، يعني IBuySpy بسيار آزاديخواهانه تنظيم شده بود؛ زيرا هدف مايكروسافت ترويج فناوري ASP.NET بود.

بنابراين اگر كساني مانند واكر مي‌خواستند از اين سورس مجاني براي توليد يك نرم‌افزار تجاري استفاده كنند، مانعي وجود نداشت. اما شاون واكر چه به لحاظ مالي و چه از نظر قدرت كسب وكار در حدي نبود (و نيست) كه بشود او را با مايكروسافت مقايسه كرد.

بنابراين او نمي‌توانست همان‌قدر آزادي به كاربران و مصرف‌كنندگان IBSW و اينك (DotNetNuke) بدهد. از طرفي، نرم‌افزار IBSW نسبت به IBuySpy خيلي تفاوت كرده بود و منطقي نبود كه همان مجوز مايكروسافت ضميمه آن شود. به همين دليل، واكر متن EULA مايكروسافت را از فايل‌هاي پروژه IBSW حذف كرده بود و آن را بدون هيچ‌گونه مجوزي روانه اينترنت كرده بود.

چنين وضعيتي صحيح نبود. پس او به يك مدل مجوزدهي مناسب احتياج داشت. البته همان‌‌طور كه خود واكر توضيح مي‌دهد، او نمي‌توانست يك مدل «من درآوردي» بسازد و ضميمه پروژه اپن‌سورسي خود كنند؛ زيرا چنين كاري در صنعت اپن سورس زياد پذيرفته نبود.

از طرفي، با وجود چندين مدل مجوزدهي معتبر كه هر يك طرفداران و حاميان پروپاقرصي در صنعت دارند و در بوته عمل محك خورده‌اند، ديگر چه نيازي به ابداع يك مدل غير استاندارد و ناشناخته وجود داشت؟ بنابراين مهم‌ترين كاري كه بايد واكر انجام مي‌داد، تحقيق در اين زمينه و انتخاب يك مدل مناسب بود.

وقتي واكر كمي در اين زمينه مطالعه مي‌كند، خيلي زود متوجه مي‌شود كه برخلاف تصور اوليه‌اش نه يك مدل، بلكه چندين و چند مدل مجوزدهي وجود دارد كه تازه واردان به عرصه اپن‌سورس را از بابت تنوعشان شگفت زده مي‌كند. نكته اينجاست كه همه اين مدل‌ها با استاندارد پايه‌اي اپن سورس يعني Open Source Definition كه مجموعه‌اي از خط مشي‌هاي كليدي تعريف شده توسط OSI يا www.open-source.org است، همخواني دارد.

اين اصول كليدي به كاربران مصرف‌كننده حق توزيع آزادانه نرم‌افزار، توليد و توزيع نرم‌افزارهاي مشتق شده از نرم‌افزار اصلي، حق دسترسي به سورس كد و استفاده از آن، و حق تركيب كردن اين سورس با نرم‌افزارهاي ديگر را مي‌دهد.

اما تنوعي كه در زمينه مدل‌هاي مجوزدهي اپن سورس وجود دارد، ناشي از حقوق و محدوديت‌هاي بيشتري است كه هر يك از اين مدل‌ها به اصول كلي تبيين شده از سوي OSI مي‌افزايند و هر يك از اين حقوق و محدوديت‌هاي اضافي با هدف تطابق خطوط كليِ اپن‌سورس با شرايط خاص يك كسب‌وكار، معماري نرم‌افزار و نيازهاي مصرف‌كنندگان آن افزوده شده‌اند.

در ميان همه اين مدل‌ها، دو مدل مجوزدهي معروف‌تر نظر واكر را جلب مي‌كند: يكي GPL يا GNU Public License  كه در سال 1989 توسط ريچارد استالمن، مؤسس بنياد نرم‌افزار آزاد پيشنهاد و توسعه داده شده بود و ديگري BSD يا  Berkeley Software Distribution كه توسط دانشگاه بركلي كاليفرنيا ابداع شده بود. مجوز GPL كه گاهي با نام كپي لفت (Copyleft) شناخته مي‌شود، متكي بر يك آرمان جنجالي است.

هدف GPL آن است كه اطمينان حاصل شود نه فقط خود نرم‌افزار، بلكه هر نرم‌افزار مشتق شده ديگر از روي آن نيز تحت مجوزGPL   قرار بگيرد. اگرچه اين آرمان براي اهداف بشردوستانه خيلي عالي به نظر مي‌رسد، در محيط‌هاي تجاري مشكل‌آفرين مي‌شود.

اگر بنا به فرض مايكروسافت IBuySpy  را تحت GPL منتشر كرده بود، شاون واكر حق نداشت مدل مجوزدهي را تغيير دهد و فكر بهره‌برداري تجاري از آن را به خود راه بدهد. بنابراين واكر به اين نتيجه رسيد كه GPL چندان براي مقاصد او مناسب نيست.

مدل BSD اساساً يك مجوز كپي‌رايت است و گرچه تضمين مي‌كند كه توزيع و استفاده از نرم‌افزار آزادانه باشد، دو خصوصيت مهم دارد: نخست اين‌كه نرم‌افزارهاي مشتق شده مجبور نيستند همچنان به مدل مجوزدهي نرم‌افزار اوليه متعهد بمانند.

دوم اين‌كه، مدل BSD از سازندگان نرم‌افزارهاي مشتق شده مي‌خواهد كپي‌رايت يا حق مالكيت معنوي نرم‌افزار اوليه را در مشتقات خود ذكر كنند. به زبان ساده، مي‌توانيد از يك نرم‌افزار اپن سورس تحت مجوز BSD هم آزادانه استفاده كنيد، هم آزادانه آن را كپي كنيد و ميان ساير علاقمندان توزيع كنيد و هم از روي آن نرم‌افزارهاي ديگري مشتق كنيد.

اما به لحاظ معنوي حق نداريد آن را نرم‌افزار خودتان بناميد و هميشه بايد در مستندات نرم افزار اين نكته ذكر شود كه مالكيت معنوي اصل و اساس اين محصول متعلق به كيست. به همين دليل، اين مدل در محافل دانشگاهي كه مالكيت معنوي براي پژوهشگران بسيار مهم است، طرفدار زيادي دارد. پس از بررسي‌هاي فراوان، مدل ‌BSD به مذاق شاون واكر خوش مي‌آيد و آن را براي دات‌نت نوك انتخاب مي‌كند.

چالش وفاداري‌

همچنان كه شاون واكر و پروژه دات نت نوك پيش مي‌رفت، مشكلات و چالش‌هاي جديد و عجيب و غريبي پيش مي‌آمد كه او تا پيش از اين هرگز فكرش را نكرده بود. بزرگ‌ترين چالش هنگامي رخ مي‌نمايد كه واكر رقيب پيدا مي‌كند؛ آن هم چه رقيبي! كاربراني از محفل خودش! اينان برنامه‌نويسان خوش قريحه و باهوشي بودند كه علي‌الاصول مجاز بودند به سورس كد دات نت نوك دسترسي داشته باشند و آن را توسعه دهند.

مشكل اينجا بود كه شاون واكر به قول خودش از 110 درصد اوقات فراغتش براي توسعه دات نت نوك، پشتيباني از كاربران و مديريت محفل اپن‌سورسي خود استفاده مي‌كرد و باز هم وقت كم مي‌آورد. به همين دليل و با توجه به حجم كارهاي مديريتي در پروژه، وقت كمي براي افزودن قابليت‌هاي جديد به نرم‌افزار پيدا مي‌كرد و نمي‌توانست همچون روزهاي نخست براي اين كار وقت بگذارد.

بنابراين كاربران باهوشي كه در محفل آنلاين دات نت نوك رفت و آمد مي‌كردند با سرعت بيشتري نسبت به او، قابليت‌ها و امكانات جديد براي دات‌نت نوك مي‌آفريدند و از او جلو مي‌زدند. شاون واكر با يك مشكل وجداني فوق‌العاده بغرنج مواجه شده بود. از يك سو اگر به اين برنامه‌نويسان چالشگر فرصت عرض اندام مي‌داد، موقعيت خودش به خطر مي‌افتاد. از آن مهم‌تر، موقعيت نسخه رسمي دات‌نت نوك به‌عنوان محصول اصلي اين محفل آنلاين به خطر مي‌افتاد.

از سوي ديگر، اگر مانع كار آن‌ها مي‌شد، اين برخلاف اصول اپن‌سورس بود و يادش مي‌افتاد كه خودش هم روزي جزء همين دسته كاربران چابك و فعال بوده است. آيا اگر مايكروسافت در روزهاي نخستين IBuySpy نگران به خطر افتادن اقتدار خود در پروژه IBuySpy مي‌شد و در مسير فعاليت شاون واكر سنگ اندازي مي‌كرد، او خشمگين نمي‌شد؟ آيا در اين ‌صورت هيچ‌وقت IBSW مجالي براي توسعه پيدا مي‌كرد؟ آيا در صورت اين مانع تراشي، خود مايكروسافت پشيمان نمي‌شد؟

براي درك شرايطي كه براي واكر پيش آمده بود كافي است خودتان را جاي او بگذاريد و فكر كنيد بعد از اين همه خون دل خوردن كساني بيايند و به همين راحتي دسترنج شما را به اسم اپن‌سورس از شما بربايند. چون وقت بيشتري براي توسعه آن دارند يا باهوش‌ترند.

در اين مقطع واكر به نكته مهمي پي‌برد. به قول خودش «بزرگ‌ترين درسي كه از پروژه‌هاي اپن‌سورسي موفق مي‌توان گرفت اين است كه هيچ پروژه منبع بازي كامياب نخواهد بود؛ مگر اين‌كه گروه برنامه‌نويسان اصلي آن به تيم خود وفادار باشند.»
 
وفاداري كه در كسب و كارهاي تجاري فوق‌العاده مهم و كليدي است، در پروژه‌هاي اپن سورس حتي سرنوشت‌سازتر است. چه راه‌حلي براي مقابله با اين چالش در يك فضاي آزاد، دموكراتيك و اپن‌سورسي وجود داشت؟ گاهي وقتي انسان تحت فشار قرار مي‌گيرد، خلاقيت بيشتري از خود نشان مي‌دهد و واكر تنها در همين مقطع بود كه فهميد براي حفظ محصول خود در برابر رقباي بالقوه، نيازمند يك تيم وفادار است.

در هر كسب و كار پويايي مقاطع سرنوشت‌ساز و حساسي وجود دارد كه به تعبير اندروگرو، مديرعامل سابق شركت اينتل، «نقطه چرخش راهبري» هستند. در چنين مقاطعي، مدير و راهبر اصلي يك مجموعه ناگزير از اتخاذ يك تصميم‌گيري شجاعانه است؛ زيرا آلترناتيو ديگر همانا نابودي است. خيلي وقت‌ها اين چالش سخت چيزي جز واگذاري امور كليدي به گروهي از همكاران معتمد نيست.

به‌عنوان يك مدير و بنيانگذار يك حركت تا كي مي‌خواهيد متكلم وحده باشيد؟ تا كي مي‌توانيد به تنهايي از پس چالش‌هاي مديريت يك مجموعه رو به رشد برآييد؟ چند نفر را مي‌توانيد مديريت كنيد؟ ده نفر؟ صد نفر؟ هزار نفر؟ مگر چندتا دست و مغز و چشم داريد؟ بالأخره زماني فرامي‌رسد كه لازم مي‌بينيد افراد معتمدي در مجموعه خود داشته باشيد تا اختيارات كليدي و حساس خود را به آنان تفويض كنيد تا بتوانيد يك گام ديگر در مسير رشد و پويايي سازمان خود قدم برداريد.

پس شاون واكر مجبور بود از توان و لياقت برنامه‌نويسان باهوش و قابل اعتمادي كه اتفاقاً تعدادشان كم هم نبود استفاده كند، مديريت تك‌نفره را كنار بگذارد و تيمي از مديران تشكيل دهد. از آن دشوارتر اين‌كه، در يك پروژه اپن‌سورس بايد روحيه دموكراتيكي داشته باشند و بتوانيد با نظرات موافق و مخالف هم‌تيمي‌هاي خود كنار بياييد. چون به آنان وابسته‌ايد. وگرنه، پيشرفت نخواهيد كرد و دوباره به همان وضعيت شكننده‌اي برمي‌گرديد كه هر رقيب سمجي مي‌تواند كارتان را به راحتي به چالش بكشد.


اما تشكيل يك تيم مديريت براي مقابله با چالش‌هاي بالقوه‌اي كه از سوي برنامه‌نويسان باهوش و ستيزه‌جو پيش مي‌آمد، كافي نبود. ضمن اين‌كه واكر به يك مدل براي كنترل سورس (Source Control Model) نياز داشت كه جزء لاينفك هر پروژه برنامه‌نويسي تيمي است.

شاون واكر براي اين منظور يك مانيفست تهيه كرد كه در آن اصول كار تيمي در پروژه دات نت نيوك تشريح شده بود. او همچنين يك مدل كنترل سورس انتخاب كرد و براي محدود كردن چالشگران ستيزه‌جو قوانيني در محفل دات نت نوك وضع كرد تا راه براي مانور برنامه‌نويسان وفادار باز و عرصه بر برنامه‌نويسان بي‌وفا تنگ شود. اين قوانين چه بودند؟ واكر چه مدلي را براي كنترل سورس برگزيد؟ مانيفست دات‌نت نوك چه بود؟

مانيفست كار گروهي‌

شاون واكر در راستاي ايجاد يك چارچوب مناسب براي كار گروهي، يك مانيفست تهيه كرد كه در آن اصول كار تيمي در پروژه دات‌نت نيوك تشريح شده بود. واكر براي تنظيم اين مانيفست، اصولي از پروژه‌هاي اپن‌سورس را با گزيده‌اي از قوانين برنامه‌نويسي به روش Extreme Programming يا XP تركيب كرد و اين چهار اصل اساسي را استخراج و منتشر كرد:

1- برنامه‌نويسي يك تلاش تيمي است.

پروژه‌هاي اپن‌سورسي در مقياس بزرگ تنها هنگامي كامياب خواهند بود كه گروه كثيري از برنامه‌نويسان مجرب در آن مشاركت داشته باشند تا با تمام توان به مشكلات فني غلبه كنند.

2- قبل از ساختن محصول درست، «محصول صحيح» را بساز.

قبل از اين‌كه بخواهيم محصول بي‌عيب و نقصي بسازيم، بايد مطمئن شويم كه اصولاً مشخصات و قابليت‌هاي اين محصول با نيازهاي كاربرانش بيشترين تطابق را دارد.

3- توسعه تدريجي نرم‌افزار.

هر محصول نرم‌افزاري بالقوه امكان پيشرفت نامحدودي دارد؛ به شرطي كه قابليت‌هاي جديد به تدريج و آرام‌آرام به نسخه‌هاي پيشين افزوده شود نه اين‌كه روند توسعه نرم‌افزار با جهش‌هاي سنگين مواجه شود.

4- قانون حذف كاربردهاي كم‌طرفدار.

بيشتر انرژي را بايد صرف توسعه و بهبود قابليت‌هايي نمود كه بيشترين طرفدار را در ميان كاربران نرم‌افزار دارد و صرف وقت براي به وجود آوردن قابليت‌هايي كه كاربرد يا محبوبيت كمي دارند را بايد به حداقل رساند.

مديريت بحران‌

اما تشكيل يك تيم مديريت براي مقابله با چالش‌هاي بالقوه‌اي كه از سوي اين برنامه‌نويسان باهوش و ستيزه‌جو پيش مي‌آمد، كافي نبود. به ويژه اين‌كه چالشي از همين دست، پيش از آن‌كه واكر فرصت كند تيم خود را سروسامان دهد، رخ داد.

ماجرا از اين قرار بود كه يك برنامه‌نويس باهوش آلماني و يكي از اعضاي جديد محفل آنلاين پروژه با واكر مكاتبه كرد و نسبت به ساختن يك نسخه آلماني از سيستم ابراز تمايل نمود. شاون واكر در واقع از چنين پيشنهادي خوشحال شد. از نظر او خيلي خوب بود كه به تدريج نسخه‌هاي غيرانگليسي پروژه نيز روانه بازار شود و به بازاريابي و تقويت نام محصول كمك كند.

اين دو طي چند هفته با يكديگر در مكاتبه بودند و تنها نگراني واكر اين بود كه اين ارتباط و همكاري چنان باشد كه همواره نسخه آلماني دات‌نت نيوك با آخرين تغييرات نسخه اصلي انگليسي هماهنگ باشد. همه چيز خوب پيش مي‌رفت تا اين‌كه به تدريج برنامه‌نويس آلماني احساس كرد در برخي زمينه‌هاي فني قابليت‌ها و ويژگي‌هاي نرم‌افزار با نظر او تطابق ندارد و آرام‌آرام شروع به انتقاد از شاون واكر و ديدگاه‌هاي او نمود.

باز هم تا اينجا طبيعي به نظر مي‌رسيد. چون محيط پروژه اپن‌سورسي يك محيط دمكراتيك است و مديران پروژه بايد پذيراي نظرات اصلاحي و انتقادي ديگر كاربران باشند. اما در اين مورد خاص، قضيه به اين مقدار محدود نماند و كار بالاگرفت. چنانكه برنامه‌نويس آلماني يك نسخه خاص از دات نت نيوك را كه مطابق نظرات خودش اصلاح شده بود، به انجمن سايت دات‌نت‌نيوك فرستاد و نام آن را DotNetNuke XXL گذاشت.

او حتي يك گام هم فراتر رفت و شروع به يارگيري از اعضاي محفل كرد. كار به جايي رسيد كه نسخه XXL طرفداران زيادي پيدا كرد و چون اين برنامه‌نويس خيلي سريع و چابك عمل مي‌كرد، توانست با سرعت بيشتري نسبت به شاون واكر نسخه‌هاي خود را بروز و تقويت كند. طوري كه برخي از كاربران جديدالورود اشتباهاً فكر مي‌كردند نسخه جديد و رسمي دات نت نوك همين نسخه XXL است.

در اين مقطع بود كه واكر ناچار به اتخاذ سخت‌ترين تصميم خود در طول دوران بلوغ دات‌نت‌نيوك شد. واكر چند بند به قانون كار تيمي در گروه اضافه كرد تا راه را به روي اين گونه برنامه‌نويسان سد كند. از جمله اعلام كرد كه كاربران عضو محفل حق تبليغ هيچ نرم‌افزاري به غير از نسخه رسمي دات‌نت‌نيوك را ندارد و از هر برنامه‌نويسي كه به تيم اصلي توسعه‌دهندگان نرم‌افزار مي‌پيوست، تعهد مي‌گرفت كه به نسخه اصلي وفادار باشد و از كار كردن روي نسخه‌هاي مشتق شده بپرهيزد.

اين تصميم البته براي واكر بسيار دردناك بود. چون به خوبي مي‌دانست كه خود او در روزهاي نخستين پروژه، نرم‌افزار ‌IBSW را به همين ترتيب از روي نرم‌افزار IBuySpy مايكروسافت مشتق كرده بود. اما نمي‌توانست به خود اجازه دهد كس ديگري به همين روش از روي نرم‌افزار سيستم جديد مشتق كند و كل پروژه را به چالش بكشد.

واكر همچنين براي برگرداندن نظر كاربران طرفدار نسخه XXL مدتي را صرف تبليغ اين موضوع هشدارآميز در محفل دات‌نت نيوك نمود كه نسخه مذكور به ‌رغم مزيت‌هاي احتمالي، فاقد پشتيباني درازمدت از سوي تيم اصلي پروژه خواهد بود و اين نكته بسيار مهمي بود كه هم براي واكر و هم براي ساير برنامه‌نويسان اين محفل اپن سورسي درس بزرگي بود.

علاوه براين، واكر متوجه شد مدل مجوزدهي BSD به تنهايي ضامن هويت دات نت نيوك نيست. از اين رو پس از بررسي بسيار و مشورت با يك حقوقدان، تصميم گرفت به منظور محكم كاري بيشتر، نام DotNetNuke را به‌عنوان يك نام تجاري (Trademark) به نام خود ثبت كند تا از اين پس هيچ برنامه‌نويسي نتواند نسخه مشتق شده خود را با استفاده از شهرت و اعتبار دات‌نت‌نيوك به بازار عرضه كند و اين البته عادلانه به نظر مي‌رسيد. چون خود او نيز فقط مدت كوتاهي از نام IBuySpy استفاده كرده بود.

مدل كنترل سورس‌

شاون واكر يك مدل كنترل سورس را نيز انتخاب كرد. زيرا در برنامه‌نويسي تيمي لازم است با استفاده از مكانيزم معيني از پراكنده‌كاري جلوگيري شود. هر برنامه‌نويس تيم بايد بتواند در هر لحظه به آخرين نسخه از ماجول‌هاي نوشته شده و اصلاح شده توسط ديگر اعضاي گروه دسترسي داشته باشد. هنگامي كه واكر و تيمش با مسئله انتخاب مدل كنترل سورس مواجه شدند، دو گزينه، يعني تكنيك CVS و روش VSS، بيشتر مورد توجه آنان قرار داشت.

مدل CVS كه در دنياي اپن‌سورس خيلي محبوب است، به برنامه‌نويسان اجازه مي‌دهد بدون هيچ محدوديتي روي كامپيوتر شخصي خود روي يك قسمت از سورس كار كنند و هنگامي كه مي‌خواهند سورس جديد و اصلاح شده را روي سرور اصلي گروه ارسال كنند، به حل و فصل اختلافات ميان نسخه خود و ديگر نسخه‌هاي جديد پيشنهادي بپردازند.

مدل Visual Source Safe) VSS) روشي است كه نرم‌افزار ويژوال استوديوي مايكروسافت براي كنترل سورس استفاده مي‌كند. در اين روش وقتي يكي از اعضاي تيم مي‌خواهد روي قسمتي از برنامه كار كند، بايد آن قسمت براي ساير اعضاي گروه موقتاً قفل شود تا نتوانند آن را تغيير دهند. به اين ترتيب از دوباره‌كاري و فعاليت همزمان روي يك قطعه از كد جلوگيري مي‌شود و فقط يك نسخه بروز از سورس‌ها وجود خواهد داشت.

مي‌توانيد حدس بزنيد كه با توجه به پيشينه مايكروسافتي برنامه‌نويسان اين پروژه نهايتاً مدل VSS رأي آورد و قرار شد اعضاي گروه مديريت پروژه از سايت GotDotNet استفاده كنند كه يك محفل برنامه‌نويسي اپن‌سورسي براي پروژه‌هاي دات‌نتي بود و به سيستم پيگيري باگ‌ها (Bug Tracking System) مجهز بود.4

حمايت از نابينايان‌

يكي از اصلاحات جالبي كه در اين مقطع روي سورس دات نت نيوك انجام شد، بازنويسي آن به منظور تطابق با قاعده معروف Accessibility يا دسترسي‌پذيري بود كه تضمين مي‌كند افراد نابينا نيز بتوانند با استفاده از مرورگرهاي وب مخصوص نابينايان، صفحات وب را بخوانند. طبق قوانين ايالات متحده، هيچ نرم‌افزار تحت وبي كه اين استاندارد را رعايت نكند، اجازه نصب و راه‌اندازي در ادارات دولتي، نهادهاي عمومي و ارگان‌هاي نظامي را نخواهد داشت.

رعايت اين استاندارد به نرم‌افزار دات‌نت‌نيوك امكان مي‌داد در نهادها و سازمان‌هاي عمومي نيز قابل استفاده باشد. براي اين منظور يكي از برنامه‌نويسان محفل، از دانشگاه تگزاس به گروه كمك مي‌كند و اين بازنويسي را انجام مي‌دهد.

مديريت كار گروهي‌

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

دسته دوم اين چالش‌ها كه پيچيده‌ترند، به عامل انگيزش برنامه‌نويسان اصلي تيم برمي‌گردد. چنانكه مي‌دانيد، به دليل محدوديت منابع مالي در يك پروژه اپن‌سورس، اعضاي گروه نمي‌توانند توقعات مادي مستقيم از نتايج فعاليت‌هاي خود داشته باشند. لذا بايد دنبال راه‌هاي ديگري براي به وجود آمدن احساس رضايت از مشاركت در پروژه بود.

اين راه‌ها بايد به گونه‌اي باشند كه برنامه‌نويسان داوطلب به گونه‌اي شايسته، مزد معنوي زحمات خود را بگيرند. با توجه به تجربيات به دست آمده از پروژه‌هاي اپن‌سورسي موفق، اين راهكار يك راه‌حل دو وجهي است كه از يك سو مبتني بر شايسته‌سالاري در گروه و از سوي ديگر متكي بر هدايت برنامه‌نويسان به سمتي است كه در آن حوزه بيشترين كارايي را داشته باشند.

به عبارت ديگر، يك برنامه‌نويس داوطلب تنها هنگامي از بابت كار رايگان خود راضي خواهد بود كه در محفل آنلاين پروژه به داشتن توانايي و استعداد در زمينه خاصي شهره باشد و در همان زمينه نيز حداكثر انرژي و توان خود را صرف كند. به اين ترتيب مدير تيم بايد با هوشياري و ظرافت، هر يك از اعضاي تيم اصلي برنامه‌نويسان پروژه را به سمتي هدايت كند كه هم به اعتبار خود آن‌ها بيفزايد و هم حداكثر راندمان و كارايي از فعاليت آن‌ها حاصل شود.

پشتيباني رسمي مايكروسافت‌

سرانجام پس از همه اين فراز و نشيب‌ها در آگوست 2003 واكر توانست يك قرارداد رسمي همكاري با مايكروسافت امضا كند. بر اساس اين قرارداد مايكروسافت متعهد مي‌شد به عنوان اسپانسر و حامي پروژه سرويس ميزباني وب رايگان در اختيار سايت رسمي پروژه قرار دهد.

همچنين واكر توانست موافقت مايكروسافت را براي برگزاري نشست‌هاي هفتگي با راب هاوارد، يكي از اعضاي تيم رسمي توسعه‌دهنده ASP.NET به دست آورد. مايكروسافت همچنين در قالب اين توافق متعهد شد كه كماكان به تبليغ و معرفي پروژه اپن‌سورس دات‌نت‌نيوك در سايت رسمي www.asp.net بپردازد. متقابلاً واكر متعهد شد همواره جديدترين نسخه دات نت نيوك را با آخرين تغييرات و قابليت‌هاي فناوري ASP.NET هماهنگ كند و اين توافق تا به امروز ادامه يافته است.



پي‌نوشت:
1- اين واژه هنوز در فرهنگ لغات انگليسي معني دقيقي ندارد و معاني گوناگوني براي آن آمده است. اما در ميان همه اين معاني، بار تشبيهي و استعاره‌اي آن در ارتباط با انرژي هسته‌اي بيشتر است و به همين دليل، مثلاً بعضي وقت‌ها نفوذهاي شديد كامپيوتري و عملياتي مانند هك كردن سايت‌ها از طريق ترفند Denial Of Service با اين واژه توصيف مي‌شود. بنابراين «نوك» يا «نيوك» يك استعاره است كه به قدرت اثرگذاري اشاره دارد.

2- واكر از اين اتفاق با تلخي ياد مي‌كند و از كساني كه اين كار را كردند، انتقاد مي‌كند. در اين مورد من با او كاملاً همدل و هم نظر هستم. اصولاً آدم‌هاي بيكاري در اينترنت وجود دارند كه مترصد اين هستند كه ببينند كه چه اسامي بالقوه‌اي ممكن است به‌عنوان دامين ثبت شوند و زودتر مي‌روند آن‌ها را به نام خود ثبت مي‌كنند تا بعداً به كساني كه واقعاً مايلند (به دليل نام محصول يا سازمان و شركت خود) آن را داشته باشند، به قيمت‌هاي نجومي بفروشند.

بازار بزرگ و مسخره‌اي هم براي دلالي و دست به دست كردن اين دامين‌هاي جذاب پديد آمده است. هرچند در مواردي واقعاً اين ترفند براي پول درآوردن مؤثر واقع شده است، اما بيشتر داستان‌هايي كه در مورد موفقيت اين آدم‌هاي فرصت‌طلب مي‌شنويد، افسانه‌اي بيش نيست. من خودم چند نفر از كساني كه عاشق دلالي دامين هستند را مي‌شناسم. اغلب آن‌ها وضع مالي بدي دارند و در آرزوي روزي هستند كه از راه فروختن يك دامين جذاب، ميليونر شوند. ولي بخت اغلب با آن‌ها يار نيست. چنان‌كه واكر نيز از خير آن دو دامين ديگر گذشت.

3- لوگوي امروزي دات نت نوك متفاوت از لوگويي است كه در اين داستان شرح آن آمده است.

4- به تازگي مايكروسافت سايت GotDotNet را به حالت نيمه تعطيل درآورده و به جاي آن سايت قوي‌تري به نام CodePlex راه‌اندازي نموده است.

 
   امتياز بندي



  نظرات

ارسال نظر:
فقط کاربران عضو می توانند توضیحات در پست قرار دهند.
 
تمامی حقوق مادی و معنوی این اثر متعلق به جام زندگی می باشد  |  حريم كاربران    شرایط استفاده