نرم افزارها زنده مي مانند؟
شما هم مثل من از فايرفاکس استفاده ميکنيد؟ چه عالي! اما اگر بنياد موزيلا فردا صبح تصميم بگيرد توسعه فايرفاکس را متوقف کند چه؟ براي مرورگري که اينقدر به آن وابستهايم، چه رخ خواهد داد؟ مرورگرهاي خوب ديگري هم البته هستند: اپرا، سافاري و به تازگي کروم. اما من و شما ميدانيم که فايرفاکس خودمان را ميخواهيم توقف توسعه آن براي ما مانند يک مصيبت خواهد بود. اما بيشتر کاربران اينترنت هنوز هم از IE استفاده ميکنند.
اگر مايکروسافت پس فردا ظهر تصميم بگيرد توسعه IE را متوقف کند، آنها چه خواهند کرد؟ (آنها را نميدانم، اما من از مايکروسافت تشکر خواهم کرد). ممکن است من از IE خوشم نيايد، اما نميتوانم انکار کنم که کاربران زيادي. در واقع بيشتر کاربران، از IE استفاده ميکنند و کم و بيش به آن وابستهاند. در هر کدام از اين دو مورد، کاربران انتخابهاي متعدد ديگري پيش رو دارند که ميتوانند به آنها بگردايند، اما تصور کنيد سرنوشت بسياري از شرکتهاي نرمافزاري که از Eclipse به عنوان ابزار اصلي توسعه کد استفاده ميکنند، چه خواهد شد اگر IBM هفته آينده اعلام کند، پروژه اکليپس را ديگر ادامه نخواهد داد؟ باز هم البته ابزارهاي مشابه بسياري وجود دارند که بتوان به آنها انديشيد، اما در اينجا با کسب و کارهاي گسترده و آموزش گروهي برنامهنويسان و دشواريهاي مهاجرت از يک مجموعه گسترده ابزارها به مجموعهاي ديگر روبه رو هستيم. دشواري کار بسيار بيشتر از تغيير مرورگر وب است. به عنوان آخرين نمونه، فرض کنيم مايکروسافت اعلام کند پروژه Visual Studio را به طور کامل تعطيل خواهد کرد. پيامد چنين تصميمي براي کسب و کارهايي که به اين محصول وابستهاند، چه خواهد بود؟
به احتمال زياد، متوجه تفاوتي که ميان دو مثال اپنسورس و دو مثال تجاري در بالا وجود دارد، شدهايد. اکنون بايد پرسش خود را درباره فايرفاکس و اکليپس بازآرايي کنيم: آيا چشمانداز متوقف شدن پروژه فايرفاکس يا اکليپس اساساً محتمل است؟ به نظر من، نه. اگر بنياد موزيلا فاير فاکس را رها کند، محتملترين حالت آن است که فايرفاکس به چندين شاخه جديد تقسيم ميشود، به اين شکل که چندين گروه مختلف، هر کدام آخرين کد فاير فاکس را ميگيرند و توسعه آن را خود ادامه ميدهند و باز هم احتمالاً به تدريج يک گروه با اقبال بيشتري از جانب کاربران رو به رو خواهد شد. در مورد اکليپس هم با توجه به بزرگتر و پيچيدهتر بودن کل نرمافزار، ميتوان پيشبيني کرد که دستکم يک گروه بزرگ، احتمالاً با پشتيباني يک شرکت بزرگ، کار توسعه آن را بر مبناي آخرين کد منبعي که IBM منتشر ميکند، ادامه خواهند داد. در مورد نرمافزارهاي آزاد يا اپنسورسي که ميزان استقبال از آنها از حد معيني فراتر ميرود، ميتوان اطمينان بسيار بيشتري داشت که در درازمدت نيز زنده و فعال خواهند بود و در قالبهاي تازه به رشد خود ادامه خواهند داد. در مورد نرمافزارهاي تجاري چهطور؟
اگر شرکت ادوبي فردا اعلام کند، از توسعه و ارائه Flash خسته شده و ميخواهد تمام توانش را روي توسعه مجموعه CS قرار دهد (با فرض اينکه ترس از وال استريت مانع چنين تصميمي نشود). تکليف سايتهاي بيشماري که کمي تا قسمتي مبتني بر فلش هستند، چه خواهد شد؟
شايد چنين مثالهايي غيرواقعي به نظر برسد، اما در واقع هر سال شاهد توقف توسعه چندين پروژه نرمافزاري تجاري بزرگ هستيم که در حقيقت به معني مرگ آنها است. آيا راهي براي زنده نگه داشتن نرمافزاري که در عين کار بر پسند و موفق بودن، عرضه کننده تجاري آن از توسعه دادنش به تنهايي ناتوان شده، وجود دارد؟ بله. مثال؟
نمونههاي ديگري از اپنسورس کردن نرمافزارهاي تجاري را نيز هر سال شاهد هستيم. به اين ترتيب، يک توسعه دهنده پروژهاي را که فربه شده و خودش توان نگهداري آن را ندارد، از مرگ ميرهاند.
از اين نگاه، ميتوان مدل توسعه نرمافزارهاي اپن سورس را بيشتر مانند روش جامعه علمي دانست. بسيار شنيدهايم از دانشهاي پنهان ماندهاي که با کاشفان خود به خاک سپرده شدهاند. تلاش هميشگي جامعه علمي بر اين است که ميان امانتداري علمي و دسترسپذير کردن دانستهها براي همگان، تعادل معقولي بر قرار کند، به گونهاي که تا حد ممکن يافتههاي تازه از نظرها دور نمانند و زمينهساز پيشرفتهاي ديگر شوند و از سوي ديگر در دسترس بودن آثار علمي باعث نشود کساني نقض امانت کنند و پيمودن راه پيموده را به خود نسبت دهند.
در مدل توسعه اپنسورس نيز همگان امکان دسترسي آزاد به کد منبع را دارند و امکان يافتن ايرادها و افزودن ايدههاي نوبه مجموعه حاضر بسيار بيشتر ميشود از سوي ديگر، در جهان نرمافزارهاي اپنسورس نيز متاسفانه شاهد رفتارهاي نادرست هستيم که اثبات کردن و پيگيري آنها دشوار است، زيرا در اين حالت راهي به سوي کدر و مبهم شدن وضعيت پيموده ميشود. برخي از توسعه دهندگان از گواهي نامههاي کدهاي اپنسورس و آزاد(ماند GPL، اما نه فقط محدود به آن) تخلف ميکنند و گاهي نرمافزاري تجاري و کدبسته عرضه ميکنند که تا حد زيادي بر پايه کدهاي آزاد يک يا چند نرمافزار آزاد يا اپنسورس، ساخته شدهاند. در بسياري از موارد ثابت کردن چنين تخلفي دشوار است (اگر غيرممکن نباشد)، زيرا ادعاي تخطي يک توسه دهنده از گواهي نامههاي آزاد نيازمند دسترسي داشتن به کد منبع است و در مورد نرمافزاري که به شکل بسته ارائه شده، چنين امکاني به سادگي وجود ندارد.
اما دست جامعه نرمافزارهاي آزاد نيز بسته نيست. همچنان که جامعه علمي براي يافتن متخلفان، متکي بر دانش پيشگان در همه جا و در تمامي رشتهها است، جامعه نرمافزارهاي آزاد نيز کاربران و برنامهنويساني دارد که موارد تخلف از گواهينامههاي رسمي نظير GPL را يافته و پيگيري ميکنند. نمونههايي از اين تلاشها را ميتوانيد در سايت www.ghl-violations.org ببينيد.
به يک تعبير شايد بتوان گفت نرمافزار هر قدر به افق آزادي و اپنسورس بودن نزديک شود، زندهتر است و دور ساختنش از اين ساحت به مفهوم ميراندن آن است. ميراندن نرمافزار جُرم است.
برگرفته از شبکه