ואני שומר את זה בסוד……

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

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

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

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

ב-ynet כתוב שהוצג גם OpenOffice. זה מעניין, מכיוון שבעוד שכמה מהמצגות הוצגו מ-OpenOffice (כולל שלי), אף אחד לא הציג את OpenOffice. התקשורת התקשורת.

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

שגיאה כפולה

כמה נמוך אפשר לרדת?

נסו את הקישור הבא (יכול להיות שיתוקן, כמובן)
http://sinfest.net/doesntexist.


Not Found


The requested URL /doesntexist was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


אנשים. אם אתם עושים תיקונים מיוחדים, תבדקו אותם.

אז למה לכתוב תוכנה חופשית, בעצם

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

אבל אם נותני השירות על המוצר הם אילו שמפתחים אותו – מה אז? הם עדיין מובן מאילו שהם רוצים לשמור אותו בסוד? הרי נותן שירות על מסדי נתונים לא יכול להרשות לעצמו לפתח Database שלם מאפס. אין לו את המשאבים. אם הוא לא ישתמש במוצרים שאחרים התחילו, או שאחרים ימשיכו, לא יהיה לו על מה לתת שירות בכלל.

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

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

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

במילים אחרות, כמעט כולם מרוויחים.

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

מצד שני, אם המוצר שאתם מפתחים לא נועד למכירה ישירה, אלא לתמיכה במוצרים ובפעילויות החברה האחרות, למה לא לפתוח אותו? בוא נראה את המאזן:
מרוויחים:
1. שם טוב. כולם אוהבים לקבל דברים פתוחים.
2. עזרה בפיתוח – אם למוצר שלכם יש שימוש כלשהו מחוץ לגבולות הצרים של מה שאתם עושים איתו, יש סיכוי ממש טוב שאנשים אחרים ירצו להרחיב אותו. בדיוק כמו שהם נהנים ממה שאתם כתבתם, כך גם אתם נהנים ממה שהם כתבו.
3. מחזורי שיחרור קצרים יותר- בדיקות פשוטות יותר. מחזורי השיחרור של תוכנה חופשית הם לרוב הרבה יותר קצרים. גם כאשר המוצר עדיין מאוד מאוד צעיר, ולא יציב, עדיין קיימים אנשים מקרב האנשים שמעונינים בתוכנה שינסו אותו. גם אם הם לא פותרים את בעיותיהם בעצמם, עדיין הם ידווחו לכם עליהם. התוצאה היא QA ברמה שלא קיימת בסביבה סגורה, בה הכל נשלט ע"י גוף יחיד. המוצר יוצא למי שמוכן לנסות אותו מהרגע הראשון, מה שמקטין לכמעט אפס את התופעה שבעיות מתגלות רק אחרי שהמוצר כבר הוכרז והושק.

מפסידים:
1. לא ניתן למכור אותו בכסף (אבל סיכמנו שלא התכוונתם, נכון?)
2. .. אין עוד סיבות נגד.

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

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

הסוף לצרות!! אפשר להריץ את אפליקציות החלונות שלכם על לינוקס

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

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

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

אז דבר ראשון – אני במקומכם לא הייתי ממהר לקנות מניות שלהם. לא עד שהם מראים את המוצר. אבל לא על זה רציתי לדבר.


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

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

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

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

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

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

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

אני מקווה שהרעיון טיפה יותר מובן.

איה התמונות, ומי יגן עלינו מבעיות אבטחה בנתבים?

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

מוכרים לנו ש-Javascript בטוחה, שסקריפט שרץ באתר אחד לא יכול לקבל נתונים או להשפיע על אתרים אחרים. והנה, וואלה בטעות גורמים לתקלה בכל אתר שאתם גולשים אליו. במילים אחרות, משהו רקוב במערכת הפרדת ההרשאות של אינטרנט אקספלורר. אם סקריפט שרץ בעמוד אחד יכול להשפיע על עמודים אחרים, איך אתם יודעים שהוא לא יכול לגנוב cookies, לעקוב אחרי הרגלי דיפדוף, וכל דבר ניבזי אחר?

בספר שלי, וואלה נכשלו בקטן, ואינטרנט אקספלורר נכשל בענק.



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



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

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



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

אה, ולאסף ששאל שאלה והבטחתי לענות בפוסט עתידי – אני עדיין חייב לך.

ביטוח תביעות משפטיות

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

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

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

ועכשיו לנושא בלוגינו היום. מסתבר שעוד אנשים חשבו על רעיון שהיה לי ולא הוצאתי אל הפועל. הם פתחו חברה בשם OSRM, ראשי תיבות של Open Source Risk Management. במשך כחצי שנה הם עברו על כל קוד הליבה של לינוקס, והיום יצאו בהודעה לעיתונות שאומרת שלינוקס חף מכל הפרה משפטית, והם מאמינים בזה מספיק כדי למכור לכם ביטוח. במילים אחרות, אם אתם מבוטחים, הם יכסו את הוצאות המשפט אם SCO, או כל אחד אחר, יתבע אתכם על השימוש בלינוקס.

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

שחר

טכני – באיזה בסיס סופרים בסיסי נתונים

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

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

1. PostgreSQL שומר את הנתונים בוריאציה על בסיס, שהדחקתי את קיומו, שנקרא "BCD". לא בדיוק בינארי, לא בדיוק עשרוני. הרעיון (המעוות) הוא שאתם שומרים כל כמה ספרות עשרוניות בבינארי. התוצאה היא שכדי לתרגם את הסיפור הזה לבינארי רגיל, צריך להתחיל לעשות פעולות כפל וחילוק. כבר ציינתי שהמספרים הם בעלי דיוק מוחלט? הייתי צריך להתחיל לממש כפל ארוך בתוכנה. גרר.
2. את הנתונים לגבי איפה המספר נמצא (אקספוננט), הוא שומר בבסיס עשרוני. אני מניח שזה הגיוני, לאור זה שככה גם המספר עצמו נשמר.
3. OLE DB של מיקרוסופט, מצד שני, שומר את הנתונים בבינארי רגיל. מצויין!
4. את הנתונים על איפה על איפה המספר נמצא (אקספוננט) הוא שומר בעשרוני!! מה???

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

שחר

ה-GPL עמד למבחן משפטי – וניצח (בנתיים)

ב- 14 לאפריל נתן בית משפט צו מניעה ראשוני שמונע מחברת Sitecom להמשיך להפיץ נתב אלחוטי שלה, אלא אם תקבל את תנאי ההפצה של ה-GPL.

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

מצד שני, הרשות להפיץ את התוכנה אינה מחוסרת סייגים. הרשיון החופשי המסוייג ביותר נקרא "GPL", או "General Public License". ניתן לקרוא אותו בלינקים בצד. הרשיון הזה מתיר להעתיק ולשנות את התוכנה, ובלבד שהתוכנה החדשה אף היא תהיה תחת ה-GPL, והעובדה הזו תצויין על המוצר החדש. כתוצאה מכך, אם אתם משנים מוצר שהוא GPL, אתם חייבים לתת את קוד המקור לכל מי שמקבל מכם את התוכנה שעשיתם (לפחות אם מבקשים מכם), ואתם חייבים ליידע את האנשים שלהם אתם נותנים את התוכנה שזכותם לקבל את קוד המקור. חברת Sitecom לא עשתה אף אחד מהשניים, על אף שהתמשה בקוד של Netfilter – הפיירוול המובנה של לינוקס.

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

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

מתמטיקה מיקרוסופטית

נתחיל בחדשה החשובה:
מיקרוסופט שיחררה עידכון אבטחה. כל משתמשי חלונות מקרב קוראי (למה אני טורח להשתמש בלשון רבים?) מתבקש ללחוץ על הכפתור שנקרא "Windows Update" ולעדכן את המערכת. בבקשה תתחילו להגן על עצמיכם. נמאס לי לקבל את הוירוסים שלכם.

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

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

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

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