הקתדרלה והבזאר

מתוך ויקיפדיה, האנציקלופדיה החופשית
יש לערוך ערך זה. הסיבה היא: סגנון.
אתם מוזמנים לסייע ולערוך את הערך. אם לדעתכם אין צורך בעריכת הערך, ניתן להסיר את התבנית. ייתכן שתמצאו פירוט בדף השיחה.
יש לערוך ערך זה. הסיבה היא: סגנון.
אתם מוזמנים לסייע ולערוך את הערך. אם לדעתכם אין צורך בעריכת הערך, ניתן להסיר את התבנית. ייתכן שתמצאו פירוט בדף השיחה.
הקתדרלה והבזאר
The Cathedral and the Bazaar
מידע כללי
מאת אריק ס. ריימונד
שפת המקור אנגלית
תורגם לשפות ישנם תרגומים חלקיים לשפות רבות
סוגה ספר עיון
נושא קוד פתוח, גרסת בטא, עיצוב מעלה-מטה ומטה-מעלה עריכת הנתון בוויקינתונים
הוצאה
הוצאה הוצאת אוריילי עריכת הנתון בוויקינתונים
תאריך הוצאה 1999
מספר עמודים 241 עריכת הנתון בוויקינתונים
הוצאה בעברית
תרגום חלקים תורגמו לעברית
סדרה
הספר הבא Homesteading the Noosphere עריכת הנתון בוויקינתונים
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

הקתדרלה והבזאראנגלית: The Cathedral and the Bazaar) הוא חיבור מאת אריק ס. ריימונד אשר מבוסס על התצפיות שהוא ערך על תהליך פיתוח ליבת לינוקס ותוכנות אחרות ומניסיונו האישי, למשל בכתיבה ובניהול פרויקט התוכנה fetchmail, בשיטת הקוד הפתוח[1]. רעיון הקתדרלה והבזאר הוצג לראשונה על ידי המחבר ב-27 במאי בשנת 1997 במסגרת כנס Linux Kongress, ולאחר מכן בספר בשם זה. הספר הוא אוסף של חיבורים בנושא פיתוח תוכנה בכלל, ומתמקד בתוכנה חופשית. הוא כולל את החיבור "הקתדרלה והבזאר". החיבורים השונים לא נכתבו באותו זמן, ומדי פעם עורכים אותם על מנת לעדכן את התוכן. "הקתדרלה והבזאר" הוא החיבור המפורסם ביותר. הוא מציע שני מודלים של תוכנה חופשית: מודל ה"קתדרלה" ומולו מודל ה"בזאר" בעולם הקוד הפתוח. כדוגמה למודל הקתדרלה מביא ריימונד את מודל הפיתוח של המהדר הסטנדרטי של גנו (GCC)[2], וכדוגמה למודל הבזאר הוא מביא מערכת קוד פתוח בשם FetchMail שפיתח בעצמו, וכן את פיתוח לינוקס בהנהגת לינוס טורבאלדס.

החיבור מראה כיצד מודלים אלו התפתחו משתי הנחות מנוגדות באשר לאופייה של מלאכת ניפוי שגיאות ("דיבוג") התוכנה. על סמך ניסיון שנצבר עם לינוקס הוא מייסד על משקל חוק ברוקס את חוק לינוס: "בעזרת מספיק עיניים, כל הבאגים שטחיים". הוא מציע אנלוגיות מעשיות למערכות תיקון-עצמי אחרות של סוכנים אנוכיים ומסיים בבדיקת ההשלכות של הראייה החדשה הזו על עתיד עולם התוכנה.

קתדרלה לעומת בזאר[עריכת קוד מקור | עריכה]

מודל פיתוח התוכנה שאליו מתייחס ריימונד כ"בזאר" לא היה אפשרי לפני תחילת שנות התשעים והתפוצה הרחבה של האינטרנט. עד אז תוכנה (גם תוכנות חופשיות, כגון התוכנות של פרויקט גנו) פותחה על ידי מפתח בודד או צוות קטן של מפתחים. המחיר (בזמן) של הפצת גרסה חדשה וההתמודדות עם כל הבעיות שהיא יוצרת הוא די גדול באופן זה. גם אם מקבלים תיקונים בצורת קוד ממשתמשים מוכשרים נדרש להשקיע הרבה זמן במיזוגם ובבדיקתם.

תפוצת האינטרנט איפשרה שינוי בטכניקת הפיתוח: המפתח הראשי (או צוות הפיתוח הראשי) מפרסם בתדירות גבוהה למדי גרסת פיתוח עדכנית ומעודד מפתחים אחרים להשתמש בה ולשפר אותה. בכך הוא גם מעביר אליהם חלק מעול הבדיקות והמיזוג. בנוסף, טכניקה זו מקלה על צירוף מפתחים חדשים. לעומת זאת, לכאורה נראה שבצורת פיתוח כזו יש "בלאגן" כמו בבזאר טורקי קלאסי. זה מעלה שאלות כגון: למה זה עובד, איפה זה יכול לעבוד ואילו תנאים נדרשים לכך, והחיבור מנסה לענות על השאלות האלו.

מבקרי החיבור גורסים כי על אף שאבחנותיו של ריימונד נכונות בעיקרון, הן נאיביות. לדוגמה: מי שיקווה ש״בעזרת מספיק עיניים כל הבאגים שטחיים״ ולכן לא יהיו לו באגים במערכת אם היא מבוססת תוכנה חופשית, יתבדה. תמיד יהיו קטעי קוד שלא מספיק עיניים יופנו אליהם.

מבקרים נוספים מציינים שהמערכת (או אחת המערכות) אותה מביא ריימונד כהדגמה לשיטת ה"בזאר", כלומר FetchMail שפותחה בהנהגתו היא ברמת מורכבות פשוטה ואיכות נמוכה, ובתור ראייה לעליונות שיטת הבזאר אליה טוען ריימונד היא הוכחה עלובה[3].

הנחיות ליצירת תוכנות טובות בקוד פתוח[עריכת קוד מקור | עריכה]

במאמר דובר על 19 קווים מנחים ליצירת תוכנות בקוד פתוח:

  1. עבודה טובה מתחילה בגירוי אישי שנוצר אצל המפתח או המתכנת.
  2. מתכנתים טובים יודעים מה לכתוב. מתכנתים מעולים יודעים מה לשכתב ובמה לעשות שימוש חוזר.
  3. תכנן לזרוק גרסה אחת, בין כה תעשה את זה (לקוח מהספר The Mythical Man Month).
  4. אם יש לך הגישה הנכונה, בעיות מעניינות תמצאנה אותך.
  5. כשאתה מאבד עניין בתוכנה, חובתך האחרונה היא להעבירה ליורש מוכשר.
  6. תתייחס למשתמשים שלך כאל מפתחים שותפים.
  7. שחרר מוקדם, שחרר לעיתים קרובות; הטה אוזן ללקוחותיך.
  8. אם תיצור בסיס גדול של בודקי תוכנה ומתכנתים שותפים, כמעט כל בעיה תאופיין במהירות והפתרון יהיה ברור מאליו למישהו. רימונד סבור שזהו מופע ברור של שיטת דלפי, אשר בתרגום לעברית נרשמה כאפקט דלפי.
  9. מבנה נתונים טוב וקוד טיפש עובדים טוב יותר מההפך.
  10. אם תתייחס לבודקי התוכנה שלך כאל משאב יקר ערך, הם יהפכו להיות משאב יקר ערך.
  11. להיות בעל רעיונות טובים זה דבר מעולה, איתור רעיונות טובים אצל המשתמשים מעולה במידה דומה. לפעמים עדיפה יכולת האיתור.
  12. לעיתים קרובות הפתרון המרשים והחדשני ביותר מגיע בעקבות המסקנה שתפסת את הבעיה באופן שגוי.
  13. עבודה מושלמת מושגת לא כשאין מה להוסיף, אלא כשאין מה להשמיט (מיוחס לאנטואן דה סנט-אכזופרי).
  14. כל כלי אמור להיות שימושי בדרך הצפויה, אבל כלי עצום הוא כלי שאתה עושה בו שימושים מעבר למצופה.
  15. לעולם אל תזרוק מידע, תעשה את זה רק כשהנמען מכריח אותך.
  16. כשהתחביר שלך רחוק מלהיות מושלם, "סוכר תחבירי" נהיה החבר הטוב ביותר שלך.
  17. מערכת אבטחה היא מאובטחת ברמה שבה הסוד שלה מאובטח. הישמר מסודות מדומים.
  18. כדי לפתור בעיה מעניינת תתחיל לחפש בעיה שמעניינת אותך.
  19. אם עומד לרשות רכז הפיתוח כלי תקשורת טוב לפחות כמו רשת האינטרנט והוא יודע להוביל בלי שיזדקק לאלץ אחרים, ראשים רבים טובים יותר מראש אחד.

חיבורים נוספים[עריכת קוד מקור | עריכה]

בהמשך לחיבור זה כתב ריימונד שני חיבורים נוספים אשר מנסים להסביר תופעות ייחודיות בעולם הקוד הפתוח:

Homesteading the Noosphere
יישוב הנוספרה - חיבור זה עוסק בבעלות על מרחב הרעיונות (שהמחבר קורא לו "נוספרה"). הוא מתמקד ביחסים בין תוכנות חופשיות שונות.
The Magical Cauldron
קדרת הפלא - חיבור הבוחן את הכלכלה של תוכנות קוד פתוח. קדרת הפלא היא סיר קסום שממשיך לספק אוכל ללא הפסק. החיבור מנסה להבין איך נוצרת תוכנת קוד פתוח "בחינם" כאילו מתוך קדרת פלא, ובפרט מודלים כלכליים ועסקיים של תוכנות קוד פתוח.

חיבורים אלה, עם כמה תוספות קטנות, כונסו לספר שנושא גם הוא את השם The Cathedral and the Bazaar.

כשהספר הודפס ב־1999 הוא היה לספר המודפס השלם הראשון שהופץ באופן מסחרי והתפרסם תחת רישיון Creative Commons.

קישורים חיצוניים[עריכת קוד מקור | עריכה]

  • אתר האינטרנט הרשמי של הקתדרלה והבזאר (באנגלית)
  • אריק ס. ריימונד, הקתדרלה והבזאר. זהו תרגום לעברית של המאמר הקתדרלה והבזאר (תרגמו: עדי סתיו, אלירן גונן ושלומי פיש), לא של כל הספר.
  • ויקיטקסט כל הספר הקתדרלה והבזאר, באתר ויקיטקסט
  • הערות שוליים[עריכת קוד מקור | עריכה]

    1. ^ המונח קוד פתוח נטבע על ידי ריימונד ואחרים רק זמן מה לאחר כתיבת החיבור
    2. ^ מודל הפיתוח של GCC השתנה וכיום כבר אינו תואם בדיוק את מודל ה"קתדרלה"
    3. ^ ביקורת על מאמרו של ריימונד (באנגלית)