כולם מפחדים מקוד-פתוח (וגם פתרון)

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

1. מדוע הסלולר מפחד מקוד פתוח?
גם Apple וגם Microsoft מפחדות מהקוד הפתוח. Apple לאחרונה אסרה על נגן המדיה פתוח הקוד VLC להשתתף בחגיגה הסלולרית כיוון שזה שוחרר תחת רשיון הGPL (וסיפור משעשע הרבה יותר עם XPilot) וכך גם מיקרוסופט עם הסכם המפתחים של Windows Phone 7 שקובע כי תוכנות המכילות רכיבי קוד פתוח לא יכולות להיות מופצות באמצעות השוק (מה שגרם למספר מפתחים לשנות את מודל הרישוי שלהם). אלא שהאיסור של מיקרוסופט ושל אפל נובע מבורות בנוגע לרשיון יותר מכל.

2. מדוע ההבנה של מיקרוסופט של הרשיון שגויה?
מיקרוסופט אוסרת על הפצה של תוכנות המכילות רכיבים המורשים תחת מה שהם קוראים לו "Excluded License", שהוא רשיון שדורש כתנאי לשימוש, שינוי ו\או הפצה הכפופה לרשיון, שהתוכנה או תוכנות המשולבות איתה יהיו (1) זמינות בקוד מקור; (2) מורשות לשינוי לצורך הכנת יצירות נגזרות ו(3) מופצות הלאה ללא כל תמורה (סעיף 1.l לרשיון). אלא, שרשיונות הקוד הפתוח מבוססים על הפצה ואינם חלים כאשר אין הפצה של תוכנה, ולכן לדוגמא, שירותי ענן רבים משתמשים בתשתיות פתוחות-קוד. סעיף שאוסר על שימוש ברכיבי תוכנה אשר ההפצה שלהם מחייבת שחרור של הקוד חל על כל מה שמוגדר, על ידי מיקרוסופט, כאפליקציה: אפליקציות WM6.x או אפליקציות Windows Phone 7. במידה וחלק מרכיב האפליקציה מבוסס צד-שרת, מעניין מאוד מה יקרה כאשר השרת יבוסס על קוד פתוח?

3. מדוע איסור קוד פתוח פוגע במחשוב הענן?
המקרה הבא הוא תיאורטי לגמרי: פייסבוק, שמבוססת על תשתית פתוחת-קוד, מפתחת אפליקציה לWP7 אשר תתמשק לפרופיל האישי. חלק מהרכיבים בשירותיה של פייסבוק (אך לא בתוכנה) מפותחים תחת רשיונות שאוסרים הפצה אלא ברשיון קוד פתוח. למרות שהרכיבים הרלוונטים לא מופצים כלל, הם נכנסים תחת הסעיף הדרקוני והחזק מדי. גם אם זה נשמע תיאורטי ולא רלוונטי, אני רוצה לקחת דוגמא אחרת שתדגים את האבסורד: אחד הפרוייקטים השאפתניים והמוצלחים ביותר בתולדות האנושות הוא ויקיפדיה; אנציקלופדיה חופשית שמאגדת את קורפוס הידע האנושי. התכנים באנציקלופדיה משוחררים ברשיון Creative Commons, שמאפשר את ההפצה בצורה חופשית, כל עוד כל שינוי שנתרם מופץ גם הוא תחת אותו רשיון. כעת, יבוא מפתח פלוני ויפתח אפליקציית ויקיפדיה לWP7; תבוא מיקרוסופט ותטען כי סעיף 5.e להסכם אוסר על הפצת אפליקציות אשר החומרים המוצגים בה משוחררים תחת רשיון מסוג זה ותגנוז את ויקיפדיה מחנות האפליקציות שלה.

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

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

14 thoughts on “כולם מפחדים מקוד-פתוח (וגם פתרון)

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

  2. לדעתי מיקרוסופט גם לא תתן לMS-RL להכנס פנימה מאותה סיבה: הם מפחדים שהם יצטרכו לחשוף את הקוד של WP7 ומפחדים שהם יצטרכו לאפשר למשתמשים שליטה על המוצר.

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

  4. שי,
    עם כל הכבוד, גם מצב שבו תוכנה תופץ לא ברשיון שמחייב שחרור של הקוד, אלא רק של התוכנה עצמה בחינם (נניח, Freeware) יעמוד בתיאוריה שלך.

    מה גם שאם יש הפרה של פטנט במקרה שלך, אז עדיין אי אפשר לבקש להפסיק להפיץ את Windows.

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

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

  7. שי,

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

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

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

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

    נקודה קטנה אחרת: VLC כתוב ב־C. רוב הדפדפנים כתובים ב־C++‎. לכן התוכניות הללו ממילא לא יורשו להכנס ל־WP7. אפל ספגה ביקורת חריפה על כך שהתירה התקנת מגוון מצומצם מאוד של שפות על מכשיריה. מיקרוסופט מצליחה להתעלות עליה.

    ואם כבר הזכירו את משפט הפטנטים של מיקרוסופט ו־i4i, העורך־דין של רד־האט כתב משהו מעניין ואופטימי לא מזמן:
    http://opensource.com/law/11/2/possible-game-changer-invalidating-bad-software-patents
    אתה שותף לאופטימיות שלו?

Comments are closed.