Joel on Software

Joel on Software   יואל על תוכנה

 

מאמרים שתורגמו לעברית

גרסה אנגלית

כתבו למחבר

 

מאמר אסטרטגיה ה'


מאת יואל ספולסקי
תרגום: עירא אברמוב
עריכה: אורן גמפל
12.6.2002

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

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

לכל מוצר בשוק יש מוצר תחליפי ומוצר משלים. התחליפי הוא המוצר שאותו היית קונה למשל אם המוצר המקורי יקר מדי. עוף הוא תחליף לבקר. אם אתה מושבניק עם לול ומחיר הבקר עולה, האנשים יקנו יותר עוף, ואתה תמכור יותר.

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

בסביבת שוק אידאלית, הביקוש למוצר עולה כשהמחיר של המשלים יורד.

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

בנקודה הזאת הרבה אנשים יקומו וינסו לבלבל את הענינים ולהגיד "אהה! אבל לינוקס היא חינם!". טוב אז קודם כל, כאשר כלכלן מתייחס למחיר, הוא מתייחס לסך כל ההשקעה, כולל דברים קשים להגדרה כמו זמן התקנה, לימוד מחדש של המשתמשים, העברת תהליכים ומידע למערכת החדשה. כל מה שנקרא "TCO" או עלות כוללת של הבעלות.

שנית, כשהם משתמשים בטיעון ה"חינם", היועצים האלו מנסים להאמין שהם לא מושפעים מחוקי הכלכלה כי יש להם אפס חמוד ועגול להכפיל בו את הכל. הנה דוגמא. כאשר סלאשדוט שאלו את משה בר, מפתח לינוקס, אם ליבות (kernels) עתידיות של לינוקס ישמרו תאימות עם מנהלי התקן (device drivers) קיימים, הוא טען שאין בכך צורך. "תוכנה קיניינית (proprietery) עולה $50-200 לשורה של קוד נקי מבאגים, אבל התעריף הזה לא תופס לגבי קוד פתוח". משה ממשיך וטוען שזה בסדר גמור שכל גרסא חדשה של הליבה תגרום לכך שהתאימות עם כל מנהלי ההתקנים הישנים תאבד, כי המחיר של שכתוב כל מנהלי ההתקנים האלו הוא אפס. זו טעות מוחלטת. הוא בעצם טוען שהשקעת מעט זמן על תאימות אחורה בליבה שווה להשקעת הרבה זמן לשכתוב כל מנהלי ההתקנים לתאימות לגרסא נוכחית, כי שני המספרים האלה מוכפלים ב"עלות" שהוא מאמין שהיא אפסית. זו עבודה בעיניים. אלפי ומליוני שעות האדם שישקיעו מפתחים לשכתוב כל אותם מנהלי ההתקנים חייבות לבוא על חשבון משהו. עד שזה יעשה, לינוקס ישאר מאותגר בשוק כי הוא שוב ושוב לא תומך בחומרה קיימת. לא היה עדיף להשקיע את כל המאמצים "בעלות אפס" הללו לדברים כמו שיפור סביבת GNOME או תמיכה בעוד סוגי חומרה?

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

מצטערים, סגור!קוד פתוח אינו פטור מחוקי המשיכה או חוקי הכלכלה. ראינו מה קרה לEazel, ArsDigita, VA Linux על שמותיה השונים ועוד נסיונות שונים. אבל קורה פה עדיין משהו שמעט מאד מאנשי הקוד הפתוח מבינים באמת: הרבה חברות ציבוריות גדולות, עם מחויבות להעלאת ערך המניה למקסימום, משקיעות הרבה כסף בתמיכה בקוד פתוח, בדרך כלל בצורת משכורות לצוותי פיתוח גדולים שיעבדו על הקוד - ואת זה מסביר עקרון המוצר המשלים.

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

חברות חכמות מנסות להפוך את המוצר המשלים
לשלהן למצרך פשוט (commodity)

אם הצלחת בזה, הביקוש למוצר שלך יגבר, ותוכל לדרוש עליו יותר ולהרוויח יותר.

כאשר IBM תכננה את ארכיטקטורת הפי.סי. הם השתמשו במוצרי מדף קיימים במקום לפתח חלקים מיוחדים, והם תעדו בהקפדה את כל הממשקים שבין החלקים בIBM-PC Technical Reference Manual (חוברת מפרט טכני למוצר הפי.סי. - פרסום מפרט חומרה נחשב למהפכני באותה תקופה). למה? כדי שיצרנים אחרים יוכלו להצטרף למסיבה. אם התאמת את עצמך לממשקים המפורטים, אפשר להשתמש בך במחשב אישי. המטרה של IBM הייתה להפוך את שוק החומרה ההיקפית והתוספות (add-ins) לשוק מצרכים, שישלימו את שוק הפי.סי. והם עשו זאת בהצלחה לא מבוטלת. תוך זמן קצר טריליונים של חברות קטנטנות צצו והציעו כרטיסי זכרון, דיסקים, כרטיסים גראפיים, מדפסות וכולי. המשמעות של תוספות זולות היא יותר ביקוש למחשב האישי עצמו.

כאשר IBM קנתה את הרשיון למערכת ההפעלה PC-DOS ממיקרוסופט, מיקרוסופט נזהרה מאד לא למכור להם רשיון בלעדי. זה אפשר למיקרוסופט למכור רשיון דומה לקומפאק ולמאות אחרות של יצרנים גדולים כקטנים ששכפלו בצורה חוקית את המכונה המקורית של IBM בעזרת אותה חוברת מפרטים טכניים ש-IBM בעצמה פרסמה. המטרה של מיקרוסופט הייתה להפוך את שוק ה-פי.סי. לשוק מצרכים. מהר מאד הפך הפי.סי. בעצמו בעצם למצרך, במחירים שיורדים בהתמדה, ביצועים שעולים בהתמדה ושולי רווח כל כך צרים שכמעט ולא משאירים רווח כלשהוא. כמובן המחיר הנמוך מגביר את הביקוש. ביקוש עולה למחשבים האישיים התרגם לביקוש עולה למוצר המשלים MS-DOS. במצב שכזה, ככל שעולה הביקוש למוצר, הוא מכניס לך יותר כסף. זאת הסיבה שביל גייטס יכול לקנות את שוודיה ואתה לא.

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

הפוך את המשלים למצרך.

ההבנה של האסטרטגיה הזאת עוזרת להבין למה חברות תורמות הרבה כל כך לקוד הפתוח. בואו נעבור על כמה כותרות.

כותרת: IBM מוציאה מיליונים על פיתוח תוכנות קוד פתוח.

מיתוס: הם עושים את זה כי לו גרסטנר קרא את המניפסט של GNU והחליט שהוא בעצם לא אוהב קפיטליזם.

מציאות: הם עושים את זה כי IBM הופכת לחברת יועצי טכנולוגיות מידע. יעוץ טכנולוגיות מידע הוא מוצר משלים לתוכנות תשתית לחברות גדולות. IBM צריכה להפוך תוכנות תשתית כאלה למצרך, והדרך הטובה ביותר להגיע לשם היא לתמוך בקוד פתוח. שימו לב איך מחלקת היעוץ שלהם מצליחה בגדול עם האסטרטגיה הזאת.

כותרת: נטסקייפ פותחת את הקוד לדפדפן שלה.

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

מציאות: הם עושים את זה כדי להפוך את הדפדפן למצרך.

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

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

יותר מאוחר AOL/Time Warner קנו את נטסקייפ. תוכנות השרת שהיו צריכות להיות המרוויח הראשי משוק הדפדפנים שהפך למצרכי, לא הצליחו ממש להרוויח והועפו מהתמונה. ועכשיו, למה לאמריקה אונליין/טיים וורנר להמשיך להשקיע בקוד פתוח?

AOL/Time Warner היא חברת בידור. חברות בשוק הבידור הן המוצר המשלים של אמצעי העברת הבידור השונים, כולל דפדפנים. האינטרס של ענק הבידור הוא להפוך את אמצעי ההעברה - הדפדפן - למצרך שאף אחד לא יכול לדרוש עליו כסף.

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

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

כותרת: TransMeta שוכרת את לינוס טורבאלדס, ומשלמת לו לעבוד על Linux.

מיתוס: הם עשו את זה בשביל היח"צנות. אחרת מי היה שומע על TransMeta?

מציאות: TransMeta מיצרת מעבדים. המוצר המשלים הטבעי למעבד היא מערכת הפעלה. TransMeta רוצה שמערכות הפעלה יהיו מצרך פשוט.

כותרת: Sun ו-HP משלמות לXimian לעבוד על גנום.

מיתוס: Sun ו-HP תומכים בתוכנה חופשית כי הם מעדיפים "בזארים" על "קתדראלות" (מתייחס למאמר מאת אריק ריימונד - ע.א.)

מציאות: HP וSun הן חברות חומרה. הן מיצרות את הברזלים. כדי לעשות כסף על תחנות עבודה שולחניות הם צריכים סביבה חלונאית כמצרך, שהיא מוצר משלים של מחשב שולחני. למה הם לא לוקחים את הכסף שהם נותנים לXimian ומפתחים בעצמם מערכת חלונאית קנינית? הם ניסו את זה (לSun היה את NeWS ולHP היה את New Wave), אבל אלו חברות חומרה בנשמתן עם כשרונות תוכנה רדודים למדי, והם צריכים מערכת חלונאית שהיא מצרך זול, לא יתרון קניני שהם משלמים עליו מחיר מוגזם. אז הם משלמים לחבר'ה בXimian לעשות את זה מאותן סיבות שSun קנתה את StarOffice ופתחה את הקוד שלו: כדי להפוך תוכנה למצרך פשוט ולהרוויח יותר על חומרה.

כותרת: Sun מפתחת את ג'אווה; משמעות מערכת ה"Bytecode" החדשה היא "כתוב פעם אחת, הרץ על הכל"

הרעיון של שפת סף - או Bytecode - הוא לא חדש. תוכניתנים ניסו שנים לכתוב קוד שירוץ על מספר רב ככל האפשר של סוגי מערכות.(כך הופכים את המשלים למצרך). במשך שנים היה למיקרוסופט מהדר p-code משלה, ושכבת חלונאות "ניידת" שאפשרה להריץ את אקסל על המקינטוש, חלונות וOS/2, על שבבי מוטורולה, אינטל, Alpha, MIPS ו-PowerPC. לQuark יש שכבה שמריצה קוד מקינטוש בחלונות. שפת C מתוארת לעיתים קרובות כשפת סף אדישת חומרה. זה לא רעיון חדש למפתחים.

אם אתה יכול להריץ את התוכנה שלך בכל מקום, זה מקרב את החומרה קצת יותר למצרך. כשמחירי החומרה יורדים, השוק מתרחב, עולה הביקוש לתוכנה (ומשאיר לצרכנים יותר כסף בכיס לקנות עוד תוכנה שיכולה עכשיו להתייקר).

ההתלהבות של Sun מרעיון ה"כתוב פעם אחת, הרץ על הכל" היא, איך לומר, מוזרה, בגלל שSun היא חברת חומרה. להפוך את החומרה למצרך פשוט זה הדבר האחרון שהם רוצים לעשות.

אווווווווווווווווופס!

Sun היא התותח חסר הנצרה של תעשיית המחשבים. הם לא יכולים לראות מבעד לפחד והשנאה שלהם למיקרוסופט עד שהם מאמצים אסטרטגיות מבוססות על כעס יותר מאשר אינטרס עצמי. שתי האסטרטגיות של סאן הן (א) להפוך את התוכנה למצרך ע"י קידום ופיתוח תוכנה חופשית (Star Office, Linux, Apache, Gnome וכו'), ו- (ב) להפוך את החומרה למצרך ע"י קידום ג'אווה, ארכיטקטורת הBytecode שלה, ו"כתוב פעם אחת, הרץ על הכל". אוקיי Sun, מבחן פתע: כשהמוזיקה מפסיקה, על איזה כיסא תתישבו? בלי יתרונות קניניים בחומרה או בתוכנה, תאלצו להסתפק במחיר מצרך, שיכסה בקושי את העלות של מפעל זול בגוודלחרה, אבל בטח שלא את המשרדים הנוחים שלכם בעמק הסיליקון.

"אבל יואל!" אומר ג'ארד. "סאן מנסה להפוך את מערכות ההפעלה למצרך, ולא את החומרה. בדיוק כמו TransMeta." אולי, אבל העובדה שהBytecode של ג'אווה הופך את החומרה למצרך זה גול עצמי שקצת קשה להתמודד איתו.

דבר חשוב שמתבהר מכל הדוגמאות הללו הוא שקל לתוכנה להפוך את החומרה למצרך (אתה פשוט כותב שכבת הפשטה קטנה, כמו HAL של חלונות NT, שהיא חתיכת קוד פצפונת), אבל קשה מאד לחומרה להפוך את התוכנה למצרך. תוכנה אי אפשר סתם להחליף, כמו שמגלה צוות השיווק של Star Office. גם כאשר המחיר הוא אפס, המחיר של מעבר מהאופיס של מיקרוסופט אינו אפס. עד שעלות המעבר תהיה אפס, תוכנות אופיס שולחניות לא יהיו באמת מצרך. והרי ההבדלים הקטנים ביותר יכולים להפוך את המעבר בין תוכנות לסיפור כואב. למרות העובדה שMozilla מכילה את כל התכונות שאני רוצה ואוהב להשתמש בהן והייתי רוצה לעבור ולו רק כדי להפסיק את משחק סגירת החלונות של כל המודעות הקופצות, אני עדיין רגיל לקפוץ לפס הכתובות בעזרת לחיצת Alt+D זריזה. תתבעו אותי. הבדלצ'יק קטן אחד ואתה מאבד את הסטטוס של "מצרך שווה ערך". אבל שלפתי דיסקים ממחשבי IBM ותקעתי אותם במחשבי דל ובום, המערכת נדלקת וממשיכה לרוץ כאילו שהייתה על המחשב הישן.

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



מאמר זה הופיע לראשונה באנגלית בשם Strategy Letter V  

יואל ספולסקי ייסד את Fog Creek Software, בית תוכנה קטן בניו יורק. במשך שירותו הצבאי (בנח"ל מוצנח) היה בין מייסדי קיבוץ חנתון שבגליל. לאחר לימודים באוניברסיטת ייל, עבד בתור מתכנת ומנהל ב-Viacom, Microsoft, ו-Juno.


אלה דעות של בן אדם אחד ותו לא.
© 1999-2005 Joel Spolsky. כל הזכויות שמורות.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky