کلیسای جامع و بازار

کلیسای جامع و بازار: جستارهایی بر لینوکس و نرم‌افزار آزاد از یک انقلابی تصادفی (به انگلیسی: The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary) نام یک مقاله، و بعد یک کتاب، به قلم اریک ریموند، در رابطه با روش‌های مهندسی نرم‌افزار است که بر پایهٔ مشاهدات شخصی‌اش از فرایند توسعهٔ هستهٔ لینوکس و تجربه‌اش در مدیریت پروژهٔ متن‌باز‌ای به نام فچ‌میل نوشته شده‌است. این مقاله، کشمکش میان طراحی بالا به پایین و پایین به بالا را بررسی می‌کند. این مقاله اولین بار توسط نویسنده در کنگره لینوکس در ۲۷ مه سال ۱۹۹۷ (میلادی) در وورتسبورگ (آلمان) ارائه شد و سپس در سال ۱۹۹۹ (میلادی) به شکل بخشی از کتابی با همین عنوان منتشر شد.

کلیسای جامع و بازار
تصویر جلد کاغذی نسخهٔ خلاصه‌شده
نویسنده(ها)اریک ریموند
عنوان اصلیThe Cathedral and the Bazaar
زبانانگلیسی
موضوع(ها)لینوکس و متن‌باز
ناشراورایلی مدیا
شمار صفحات۲۴۱
شابکشابک ‎۱−۵۶۵−۹۲۷۲۴−۹

تصویرپردازی روی جلد کتاب، متعلق به یک نقاشی از لیوبوف پوپوا به نام ترکیب‌بندی با اشکال در سال ۱۹۱۳ (میلادی) است که امروزه متعلق به مجموعه نگارخانه ترتیاکوف است. این کتاب تحت نسخه ۲٫۰ از مجوز انتشار باز منتشر شده.

کلیسای جامع و بازار

ویرایش

مقاله دو الگو مختلف توسعه نرم‌افزار آزاد را مقایسه می‌کند:

  • الگو کلیسای جامع، که در آن کد منبع همگام با انتشار هر نسخه، قابل دسترسی است، اما کدی که بین دو نسخه توسعه داده شده‌است محدود به گروه منحصر به فردی از توسعه‌دهندگان نرم‌افزار است. نرم‌افزارهای گنو ایمکس و جی‌سی‌سی به عنوان مثال ارائه شده‌اند.
  • الگو بازار، که در آن کد منبع، در بستر اینترنت، و جلوی چشم همگان توسعه می‌یابد. ریموند از لینوس توروالدز، رهبر پروژه کرنل لینوکس به عنوان مخترع این روش یاد می‌کند و همچنین گزارشی از پیاده‌سازی این روش در پروژه فچ‌میل ارائه می‌کند.

درس‌هایی برای خلق نرم‌افزار متن‌باز خوب

ویرایش

ریموند به ۱۹ درسی که از تلاش‌های متعدد خود در توسعه نرم‌افزار آموخته‌است اشاره می‌کند. هر یک ویژگی‌هایی را در رابطه با شیوه صحیح توسعه نرم‌افزار متن‌باز توصیف می‌کند:

  1. هر نرم‌افزار خوبی، از خاراندن خارش شخصی توسعه‌دهنده آغاز شده.
  2. برنامه‌نویسان خوب، می‌دانند چه بنویسند. برنامه‌نویسان عالی، می‌دانند چه چیزی را دوباره بنویسند (یا دوباره استفاده کنند).
  3. برنامه‌ریزی کنید تا یکی [نسخه] بیرون بدهید، در هر صورت خواهید توانست (رونوشت از کتاب نفر-ماه اسطوره‌ای از فردریک بروکز).
  4. اگر شما از ویژگی‌های صحیح‌ش برخوردار باشید، مسائل جالب شما را خواهند یافت.
  5. هنگامی که شما علاقه‌تان را به یک برنامه از دست می‌دهید، وظیفه آخرتان این است که آن را به جانشین صالحی بسپارید.
  6. تلقی کردن کاربرانتان به عنوان هم‌توسعه‌دهندگان، کم‌دردسرترین مسیر برای ارتقا سریع کد و اشکال‌زدایی تأثیرگذار است.
  7. زود منتشر کنید، همیشه منتشر کنید. و به مشتریانتان گوش دهید.
  8. تعداد زیاد و کافی تست‌کننده بتا و هم‌توسعه‌دهنده در پایه منجر می‌شود تقریباً تمام مشکلات مشخص شوند و حلشان بر کسی آشکار شود.
  9. ساختار داده هوشمندانه و کد نابخردانه، بسیار بهتر از حالت عکس عمل می‌کند.
  10. اگر شما تست‌کنندگان بتا خود را به عنوان ارزشمندترین منابع خود تلقی کنید، واکنش آن‌ها تبدیل شدن به ارزشمندترین منابع‌تان خواهد بود.
  11. بهترین چیز بعد از این که ایده‌های خوبی داشته باشید، به رسمیت شناختن ایده‌های خوب از سمت کاربرانتان است. گاهی دومی حتی بهتر است.
  12. اغلب، برجسته‌ترین و خلاقانه‌ترین راه‌حل از تشخیص این که مفهوم مسئله اشتباه بوده ناشی می‌شود.
  13. حالت ایدئال (در طراحی) هنگامی به دست نمی‌آید که دیگر چیزی برای افزودن نیست، بلکه هنگامی به دست می‌آید که دیگر چیزی برای کنار گذاشتن نیست. (به آنتوان دو سنت-اگزوپری نسبت داده می‌شود).
  14. هر ابزاری باید در راهی که از قبل پیشبینی شده به کار آید، ولی یک ابزار واقعاً عالی، خودش را به کاربری‌هایی قرض می‌دهد که شما هرگز پیشبینی نمی‌کردید.
  15. هنگامی که یک نرم‌افزار دروازه از هر نوعی می‌نویسید، خود را به رنج وادارید تا جریان داده را تاجایی که ممکن است کوچک کنید. تحت هیچ شرایطی اطلاعات به‌دردنخور را به گیرنده‌ای که حتی شما را به آن مجبور می‌کند نفرسید.
  16. هنگامی که زبانتان هیچ‌جایی به کامل بودن تورینگ نزدیک نیست، شیرین کردن نحوی می‌تواند دوست شما باشد.
  17. یک سیستم امنیتی تا زمانی امن است که پنهان است. از شبهه‌پنهان‌ها برحذر باشید.
  18. برای حل یک مسئله جالب، از پیدا کردن مسئله‌ای که برایتان جالب است شروع کنید.
  19. در صورتی که هماهنگ‌کننده توسعه رسانه ارتباطی‌ای حداقل به خوبی اینترنت داشته باشد، و بداند چگونه بدون اجبار رهبری کند، چند سر به ناچار بهتر از یکی‌ست.

آثار و پذیرش

ویرایش

در سال ۱۹۹۸ (میلادی)، این مقاله به فشار نهایی به نت‌اسکیپ برای انتشار کد منبع نت‌اسکیپ کامیونیکیتور و شروع پروژه موزیلا کمک کرد. تعدادی از کارمندان به آن به عنوان یک اعتبار مستقل خارجی در نقش استدلال اشاره کرده‌اند. شناخت عمومی نت‌اسکیپ از این نفوذ باعث شهرت ریموند در فرهنگ هکر شد.

هنگامی که اورایلی مدیا کتاب را در سال ۱۹۹۹ (میلادی) منتشر کرد، تبدیل به یکی از (اگر اولین نباشد) ناشران کاملاً تجاری شد که تحت مجوز آزاد انتشار کتاب منتشر کرده‌اند.

در سال ۱۹۹۹ (میلادی)، نیکولای بزروکوف دو مقاله منتقدانه در رابطه با دیدگاه‌های اریک ریموند دربارهٔ نرم‌افزار آزاد منتشر کرد که نام دومی، «نگاهی دوباره به کلیسای جامع و بازار» بود. این مقاله واکنش تند اریک ریموند را منجر شد.

منابع

ویرایش