Planet FOSS-IL

08 פברואר, 2010

Hetz Ben Hemo

‫גוגל ופייסבוק – המלחמה‬

‫כבר זמן רב ניטשת “מלחמה” בין פייסבוק (סלוגן: “פרטיות? פחחחח!”) לגוגל (סלוגן: “איזה מידע פרטי אפשר לשאוב ממך היום?”). פייסבוק, חביבת הגולשים שמכניסה פרסומות מותאמות וממכרת גולשים תמימים למשחקים כמו Farmville, נותנת לאנשים לשתף כל מה שהם רוצים, בין אם זה וידאו, תמונות, הגיגים וכו’ ומאפשרת צ’אט בין הגולשים (צ’אט שמצליח להעביר 3 משפטים ונכשל [...]‬

הטקסט המלא

08 פברואר, 2010 09:43 PM

‫כמה מילים על מכונות וירטואליות (חלק 1/3: היסטוריה)‬

‫תראו באיזו תקופה אנו חיים: אנחנו רוצים להריץ Linux על Windows או ההיפך? רוצים לנסות הפצת לינוקס חדשה? לבחון אפליקציה בסביבה סגורה? לראות מה וירוס יכול לעולל למכונה? אין שום בעיה. מתקינים תוכנת וירטואליזציה קניינית או חינמית, מגדירים מכונה וירטואלית, מכניסים את ה-ISO (או את התקליטור הפיזי) ותוך שניות ספורות המכונה הוירטואלית שועטת. מבחינת מערכת [...]‬

הטקסט המלא

08 פברואר, 2010 09:04 PM

Ram on Agmon

‫למה לא צריך פטנטים בתוכנה‬

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

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

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

מוסדות חינוך העושים שימוש בתוכנה חופשית בארץ

מחקרים הנוגעים לתוכנה חופשית ולקוד פתוח


Unique visitors to post: 0

הטקסט המלא

08 פברואר, 2010 07:47 PM

Amir Aharoni

רוויזיה


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

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

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

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

אז אמרתי – די, אני לא נכנע. אני מתקן את זה.

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

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

מבחר קטן מהבעיות הנוכחיות בתקן:

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

איזה קטע.

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

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

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

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

08 פברואר, 2010 04:12 PM

ajaxian

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

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

הטקסט המלא

08 פברואר, 2010 08:17 AM

07 פברואר, 2010

sml

טיפ: safe-mode בפיירפוקס

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

הטקסט המלא

07 פברואר, 2010 09:20 PM

06 פברואר, 2010

Ziv Glazberg

פטנטים בתוכנה: תגובה לנייר העמדה של עמותת המקור

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


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

בנייר העמדה מובאת סקירה משפטית קצרה ולפיה המצב בדין האמריקאי אינו ברור בטרם יוכרע עניין Bilski, ואילו באירופה הדין הוא שלא ניתנים פטנטים בתוכנות. לטעמי, סקירה זו לוקה בהפשטת יתר. אכן, סעיף 52 לאמנה הארופאית קובע כי לא יינתן פטנט בגין "תוכניות למחשבים", אך נקבע שם כי לא יינתן פטנט להמצאה שהיא תוכנית מחשב ככזו (as such). לעניין זה, הדין האמריקאי איננו שונה, ואני מפנה לעניין זה למדריך הבחינה האמריקאי (Manual of Patent Examining Procedure) בסעיף 2106.01. שם מוסבר כי חומר דיסקפטיבי-תיאורי אינו כשיר לפטנט. בין יתר סוגי החומרים התיאוריים נכללים גם הוראות למחשב (Computer listings), באשר אף שיש להם מטרה פונקציונאלית הם אינם "תהליך", "מכונה" או דבר אחר הזכאי לפטנט לפי חוק הפטנטים האמריקאי (סעיף 101). אך כאשר התוכנה מוטבעת על מדיה שמחשב יכול לקרוא - או אז מדובר בחומר הראוי להגנה פטנטית, אליבא הדין האמריקאי.
אף כאשר הדין אינו מכיר בתוכניות מחשב או עושה זאת רק כאשר אלו נתבעות ככאלו. כאשר המצאה שניתן לממש כתוכנה נתבעת כשורה של הוראות אשר מבוצעות על ידי מחשב, הרי שמדובר בתביעה שאיננה נוגעת לתוכנית המחשב ככזו ולפיכך כשירת לפטנט. אני מודע לכך שלקורא המצוי זו נראית הבחנה מלאכותית וסתמית, ואכן יש בה מן המלאכותיות, אך יש לה גם תוכלת. המטרה בהבחנה זו הוא למנוע מצב בו אדם מפר פטנט רק משום שחשב על אלגוריתם המפר פטנט, רק משום שרשם על הלוח במהלך שיעור את האלגוריתם או משום שתיאר כיצד המערכת של המתחרה שלו פועלת. כל אלו הם למעשה תיאורים דיסקרפטיביים של אופן הפעולה של התוכנה, ואלו הם פנים של התוכנה שאינם זוכים להגנה באמצעות פטנט. לכל יותר הם עשויים להיות מוגנים באמצעות זכות יוצרים. זכרו: הפטנט נועד להגן על ההמצאה עצמה ועל השימוש בה ואילו זכות היוצרים נועדה להגן על הביטוי ועל ההבעה הפרטנית, קרי על הפן התיאורי-דיסקרפטיבי.
נייר העמדה אף מבקש להביע עמדה לפיה החוק אינו מאפשר לקבל פטנט בגין אלגוריתם. ברם, אבקש להעיר כי אלגוריתם, כאשר הוא מבוצע, הוא בבחינת תהליך. חוקי הפטנטים השונים - הישראלי, האמריקאי, האירופאי ואחרים - מאפשרים קבלת זכות פטנט בגין תהליך.

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

נייר העמדה פונה לחלקו הנורמטיבי בו הוא מנסה לשכנע כי אין מקום להעניק פטנטים בגין המצאות תוכנה. לטעמי הטענות הנטענות שם הן, על דרך הכלל, לא מוגבלות לעולם התוכנה. כך למשל, נטען שם:
הגנה על תוכנה באמצעות פטנט לא תספק אלא הגנה על רעיונות, אשר בדרך כלל ניתנים לביטוי ביותר מדרך אחת, ותהווה הקדמה למירוץ אל התחתית בו כל אחד ירשום כמה שיותר פטנטים, ובכך יטיל עלויות כבדות על כל שחקן בשוק התוכנה.
הגנה האמצעות פטנט היא תמיד הגנה על רעיון מסוים ולא על ביטוי אחד שלו. כך למשל, לו הייתי עותר לקבלת פטנט עבור עיפרון הייתי תובע הגנה על המצאתי שהיא ככל הנראה משהו בסגנון הבא: מכשיר המכיל רכיב עופרת העטוף ברכיב אחיזה, כאשר המכשיר בצורה ובגודל מתאימים לאחיזה, וכאשר רכיב העופרת מותאם לבלוט מעבר לרכיב האחיזה בכדי לאפשר השארת סימן באמצעות רכיב העופרת. (נוסח כתיבה זה הינו נוסח כתיבה של תביעות הפטנט, שהן לב-לבו של הפטנט המגדירות את המונופול הניתן לבעל הפטנט. ארחיב על כך בפוסט אחר). הנה כי כן, המצאתי אינה על ביטוי אחד של העיפרון כי אם על מגוון רב ורחב של ביטויים. בין היתר, עפרון קצר, עפרון ארוך, עפרון עבה, עפרון שעטוף בעץ פחוס, עפרון שעטוף בגומי, וככל הנראה אף עט-עפרון. כל אלו הם ביטויים שונים של המצאתי שלי, וכולם יכסו תחת הגנת הפטנט שתינתן לי. בהערת אגב אציין כי דווקא ההגבלה לשימוש בעופרת היא ככל הנראה אינה מוצלחת. שימוש ברכיב אחר תחת העופרת יאפשר design around בכדי לעקוף את הפטנט.
בהקשר זה מוסיף נייר העמדה ומדגים את הבעייתיות באמצעות דוגמת פורמט ה-MP3. קידוד זה, שאינני בקיא ברזיו, יכול שיהיה מוגן בפטנט. הניתן לטעון כי לא היתה התקדמות המצאתית בפורמט הזה, אשר לאחר שנכנס לחיינו שינה אותם לבלי הכר? אם לפני פורמט זה קובץ שמע ממוצע היה בן שבעים-שמונים מגות, לאחר המצאתו התכווצו הקבצים למשקלים של מגות בודדות. אמת, בטרם יושמע הקובץ יש לפתוח אותו, כלומר לבצע פיענוח של הקידוד (decode). ואם נרשם פטנט בגין פיענוח הקובץ - מה לו שילין הציבור? הרי הקידוד והפיענוח הן שתי פעולות הופכיות שאותן גילה בעל האמצאה לציבור עת הגיש בקשתו לפטנט. משום כך, ראוי כי יינתן לו מונופול על המצאתו זו. וכי אם הפיענוח יתבצע בחומרה ולא בתוכנה - כי אז יהיה זה ראוי להגן על ההמצאה בפטנט?
אגב, בעניין זה נדמה שנפלה שגגה בנייר העמדה שטוען כי האלגוריתם שמגן על הדחיסה מוגן בזכויות יוצרים. דומה כי הכוונה היא שהאלגוריתם יכול להיות מוגן בפטנט. זאת בניגוד למימוש (embodiment) בודד של האלגוריתם - הוא קוד פרטני וספציפי של תוכנה, אשר יכול להיות מוגן בזכות יוצרים.

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

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

בהערת אגב, אציין כי נייר העמדה מפנה לכמה וכמה דוגמאות. רובן, לצערי, פופוליסטיות למדי. כך למשל, הדוגמה של נטקס אליה מפנה נייר העמדה אינה אלא בקשת פטנט אמריקאית. לאחר חיפוש קל מצאתי את הפטנט שניתן על סמך הבקשה ההיא.
מעיון בפרסום הבקשה עולה כי על אף שהבקשה הוגשה לראשונה בישראל בשנת 1998 ויובאה לארצות הברית כבר בשנת 1999 באמצעות מנגנון ה-PCT, נדמה שהליך בחינתה היה קשה מאוד. הבקשה שפורסמה היא בקשת המשך (continuation) שטרם התקבלה במועד פרסומה. ואם צודק נייר העמדה בכך שקשה להבחין בחדשנות ובהתקדמות ההמצאתית שיש בבקשה, הרי שעצם הימשכות ההליכים בעניין פטנט זה מדגים כי אף רשם הפטנטים האמריקאי סבר כי הבקשה לא כשירה להירשם כפטנט. הוא סבר כך לא משום שהיא עוסקת בתוכנה, אלא מפני שהיא אינה חדשה או שהיא נעדרת התקדמות המצאתית. לאחר הליך בחינה ארוך הצליח המבקש לשכנע כי בקשתו היא אכן חדשה ובעלת התקדמות המצאתית, ומהצצה בתביעה הראשונה של הפטנט ניכרים סימני הצמצום אותם כפה בוחן הפטנטים.
דוגמה נוספת המובאת בנייר העמדה היא הדוגמה של i4i. כאן מדובר על פטנט שנדון במסגרת הליך ליטיגציה בארצות הברית. חברת i4i תבעה את מיקרוסופט בטענה שתוכנת עיבוד התמלילים WORD מפרה את הפטנט שלה בגלל השימוש שהיא עושה ב-XML. אודה ולא אבוש כי מעולם לא התעמקתי בתוכנו של משפט זה ואף לא עיינתי עד ליום זה ברזי הפטנט המדובר. לאור טענות נייר העמדה לפיהן "מוצרים שניסו להתממשק עם סטנדרטים מקובלים בתעשייה נתבעו" עיינתי בתביעות הפטנט. והנה גיליתי כי לא דובים ולא יער. הפטנט אינו עוסק בהתממשקות ל-XML או כיוצא באלה, כפי שהוצג בעיתונות, אלא הפרדה בין פריטי מטא-מידע לבין שאר חלקי המסמך. הכוונה למסמך דוגמת מסמך וורד שבחובו נשמרים פרטי מטא-מידע נוספים (דוגמת תגיות) והפטנט עוסק בהוצאת התגיות ושמירתן בצורה חיצונית למסמך, כך שניתן יהיה לעדכן את המסמך ללא עדכון התגיות ולהפך. (אמת, אחד המימושים האפשריים הוא, ככל הנראה, שמירת המידע בקובץ XML נפרד. אך זהו רק מימוש אחד של ההמצאה שעיקרה הפרדת שני חלקי המסמך לשני חלקים הנשמרים בנפרד ואשר משתמשים בהם יחדיו). האם באמת יש המאמינים ש-i4i הקטנה היא שכופפה את ידה של מיקרוסופט לפעול תחת סטנדרט מסוים? להזכירכם, זו אותה מיקרוסופט שבדפדפן שלה פירשה בצורה שונה מן הסטנדרט דפי HTML. כך או כך, אם הטכנולוגיה של i4i היתה כה מוצלחת עד שהתעשיה כולה אימצה אותה כסטנדרט דה-פאקטו - אין בכך לרפא את הפרת הפטנט. האם משום שכולנו משתמשים היום במנעול רב-זרועי ראוי שנאמר לממציא מנגנון הנעילה הזה שאין לו עוד זכויות בהמצאתו כיוון שהיתה היא מוצלחת?

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

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

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

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

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

06 פברואר, 2010 11:23 AM

ajaxian

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

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

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

הטקסט המלא

06 פברואר, 2010 10:27 AM

קישורים: ערכות ביצועים לג'אווה סקריפט


Dromaeo
Mozilla JavaScript performance test suite.

http://dromaeo.com
https://wiki.mozilla.org/Dromaeo



SunSpider

This benchmark tests the core JavaScript language only, not the DOM or other browser APIs. It is designed to compare different versions of the same browser, and different browsers to each other. Unlike many widely available JavaScript benchmarks, this test is:

http://www2.webkit.org/perf/sunspider-0.9/sunspider.html



V8 Benchmark Suite

The final score is computed as the geometric mean of the individual results to make it independent of the running times of the individual benchmarks and of a reference system (score 100). Scores are not comparable across benchmark suite versions and higher scores means better performance: Bigger is better!

הטקסט המלא

06 פברואר, 2010 10:11 AM

05 פברואר, 2010

Snir David

‫HipHop לPHP, המחשבות שלי בנושא‬

צריך היה להיות ממתכנת מנותק מאוד בשביל לא לקרוא על הHipHop, כלי ששיחררה Facebook שלוקח קוד PHP בגירסה 5.2 פחות כמה פיצ'רים, וממיר אותו לקוד C++ שאפשר לקמפל באמצעות g++ לקוד מכונה שרץ באופן טבעי על השרת. Facebook טוענים שHipHop מסוגל להביא לביצועים טובים בכ50%, שהוא כשלעצמו מספר מרשים מאוד מחד, ומפתה מאוד בחשיבה על צריכת הCPU שיורדת משמעותית מאידך.

מה זה למעשה?

  • HipHop ממיר קוד PHP לקוד C++ שיכול להתקמפל לקוד מכונה טבעי. HipHop תומך ברוב מוחץ של האפשרויות בPHP 5.2 מלבד פונקציות כמו eval() למשל.
  • הכלי מתיימר ליצור את קוד הC++ היעיל ביותר האפשרי, הוא יבדוק מגמות כלליות ודברים שעשיתם בקוד הPHP שלכם ולפיו יכין את קוד הC++ המותאם ביותר.
  • לאחר שקומפל, HipHop מהווה בעצמו את שרת הרשת. הוא איננו צריך תוכנות שרת כמו Apache ואחרות.
  • כרגע, HipHop לא תומך בכלל בווינדוס. מפתחי PHP, אם עוד לא עברתם, זה הזמן לנסות את לינוקס.
  • כרגע אתר Facebook כולו משתמש בכלי הזה לייעול הקוד ולהתמודדות עם עומס המשתמשים.

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

  • HipHop לא ממהיר את מסד הנתונים שלכם. הוא נשאר באותה המהירות בכל מקרה, לא משנה באיזו שפה תשתמשו.
  • HipHop לא ייעל את עליית התמונות שלכם, הטעינה תשאר זהה, וזהו עיקר העניין ברוב האתרים.
  • בכדי להשתמש בHipHop אתם חייבים ללמוד C++, לא לעומק אבל להבין מעט את השפה. כמו גם לדעת להשתמש בדיבגר של g++. הרחבת דרישות ידע כאלו לאתרים קטנים זה אוברקיל לדעתי.

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

עוד מילה על CppCMS

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

הטקסט המלא

05 פברואר, 2010 06:49 PM

Shlomi Fish

NYTProf-3 is Out!

Tim Bunce writes on his blog about the new features in Devel-NYTProf version 3. Devel-NYTProf is a profiler for the Perl programming language, which has put all the previous attempts in profiling in the dust, and now it's even better than before. Enjoy! (Thanks to Fred Moyer's post on the San-Fransisco Perl Mongers mailing list).

05 פברואר, 2010 04:31 PM

Oren Maurer

Library of Congress – קוד פתוח


ספריית הקונגרס האמריקני (אנגלית: Library of Congress, ראשי תיבות: LOC) היא אחת מהספריות הגדולות והחשובות בעולם.
היא לא רק ספריית בית הנבחרים של ארה"ב, אלא אחת מארבע הספריות הלאומיות של ארצות הברית.

הנה נתקלתי בידיעה שזו כותרתה: " Library explores ways to release open source software ".

והנה התקציר:

In the spirit of transparency and community, the Library of Congress has
established an internal process to create open source software.
This will make it easier for software developers and sponsors within the
Library to produce software that can be freely redistributed to users
worldwide.

יפה!

הטקסט המלא

05 פברואר, 2010 03:50 PM

Boris Shtrasman

קצת על חיובים

אמנם ההכרות שלי עם עולם הבילינג איננה גדולה (שנתיים בפיתוח) אבל יש שני מודלים שאני מכיר.
prepaid ו postpaid. כאשר יש עבודה עם שרתי VoIP (או למעשה כל פלטפורמה) ישנה בעייה מסויימת לעבודה עם prepaid(בגלל ששירותי radius לא ממש תומכים מהקופסה בפתרון כזה ). ישנן מספר גישות לכך:
לדוגמה שימוש בgatekeepr פתרון FOSSי מלא.
כתיבת מודל לfreeradius ומימוש אצל הלקוח.
שימוש call control בcdrtool

ישנם עוד פתרונות רבים לנושא אבל אותי מעניין הדרך המהירה ביותר (בשבילי).

ניקח לדוגמה את הדוגמה הבאה :
....
# define the profile
modparam("dialog", "profiles_with_value", "caller")
....

# Example route block:
# this example should be called before the t_relay() function of an outbound invite
#
########################################################################
# Request route 'callcontrol' with channel limit
########################################################################

route[39]
{
## have we done our checking on this call?
if(!isflagset(31))
{
# user has max channel limit set as preference
if(is_avp_set("$avp(s:channels)/n") && avp_check("$avp(s:channels)", "gt/i:0"))
{
# get current calls for uuid
get_profile_size("caller","$avp(s:caller_uuid)","$var(calls)");

# check within limit
if($avp(s:channels) > $var(calls))
{
xlog("L_INFO", "Call control: user '$avp(s:caller_uuid)' currently has
'$var(calls)' of '$avp(s:channels)' active calls before this one\n");
$var(setprofile) = 1;
}
else
{
xlog("L_INFO", "Call control: user channel limit exceeded [$var(calls)/$avp(s:channels)]\n");
send_reply("487", "Request Terminated: Channel limit exceeded\n");
exit;
}
}
else
{
$var(setprofile) = 0;
}

call_control();

switch ($retcode)
{
case 2:
# Call with no limit
case 1:
# Call with a limit under callcontrol management (either prepaid or postpaid)
break;
case -1:
# Not enough credit (prepaid call)
xlog("L_INFO", "Call control: not enough credit for prepaid call\n");
acc_rad_request("402");
sl_send_reply("402", "Not enough credit");
exit;
break;
case -2:
# Locked by call in progress (prepaid call)
xlog("L_INFO", "Call control: prepaid call locked by another call in progress\n");
acc_rad_request("403");
sl_send_reply("403", "Call locked by another call in progress");
exit;
break;
default:
# Internal error (message parsing, communication, ...)
xlog("L_INFO", "Call control: internal server error\n");
acc_rad_request("500");
sl_send_reply("500", "Internal server error");
exit;
}

if($var(setprofile) > 0)
{
create_dialog();
set_dlg_profile("caller","$avp(s:caller_uuid)");
}

## mark checking done
setflag(31);
}
}
אני מצטער על הדוגמה שלא ממחישה - אני עובד בתחום ואני לא רוצה אפילו בטעות לפגוע בזכויות של מישהוא.

הדוגמה מראה שימוש רגיל בcall control , עבור ביצוע עבודה לתשלום מראש. יש להוסיף את ביצוע החיוב להתחלת שיחה (אם קיים חוק בחיובים אצלכם לזה). חיוב זה צריך להתבצע או בזמן register יומי (כלומר פתחת את המכשיר ליום). או לאחר ה183 (אחרי early media). נקודה חשובה היא לשכוח להפסיק חיוב כאשר השיחה עברה למרכזיה:
אני מחייג למרכזיה ,
מחייג למישהוא אחר.
מנתק את השיחה.
שומע את ההודעות בתא קולי בתוך המרכזיה.
מחייג שוב לאדם אחר.

יש לשים לב שמצב כזה החיוב צריך להיות :
התחברות למרכזיה פעם אחת.
חיוג לאדם א' (וזמן שימוש)
חיוג לאדם ב' (וזמן שימוש)

צורה כזאת של חיוב קל לממש במודול חיצוני מאשר cdrtool (במידה והמרכזיה מחוץ לשליטה).

ביצוע חיוב להתחברות יכול להתבצע בשימוש בfreeradius.

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

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

אחרי ביצוע הפעולה.

חיוב על כל אירוע (CDR , רדיוס , MSG , זמן שימוש).

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

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

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

בפוסט הבא (שאני עובד עליו) אני אראה דוגמאות בילינג רגיל (לתשלום מראש).

05 פברואר, 2010 11:31 AM

04 פברואר, 2010

Ziv Glazberg

מארבים: בעיה קניינית ולא רק קניין רוחנית

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

אביא את הדברים מפי דוברם:

בשנות התשעים האינטרנט היה עוד בחיתוליו, ושני פורמטים שלטו בתמונות שהוצגו בדפי האינטרנט – פורמט JPEG המיועד לתמונות, ופורמט GIF שהיה מתאים יותר לציורים ותמונות פשוטות יותר ואנימציות. חברה בשם Unisys השתלטה על פטנט לאלגוריתם הדחיסה LZW שהיה בשימוש בפורמט תמונות זה, ובאמצע שנות התשעים התחילה לדרוש תמלוגים על שימוש באלגוריתם הדחיסה הרשום כפטנט והם הבעלים החוקיים שלו. האבסורד הוא שבשלב כלשהו, בתחילת שנות האלפיים הם התחילו לדרוש תמלוגים גם מבעלי אתרים שמאחסנים קבצי GIF כחלק מעיצוב האתר. סופה של הסאגה בנוגע ל־GIF נגמרה באמצע שנות האלפיים עם פקיעת הפטנט של יוניסיס, ופורמט חדש בשם PNG שהוגדר כיורשו של GIF והיה נקי מפטנטים.

התרחיש

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

לא רק בפטנטים או בקניין רוחני

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

פתרונות

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

פתרונות למארב פטנטי

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

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

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

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

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

04 פברואר, 2010 04:32 PM

סרטון של רד הט: נגד פטנטים בתוכנה



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

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

הגעתי לסרטון מהפוסט הזה של Patently-O.

04 פברואר, 2010 04:30 PM

Yosef Meller

מקביליות בקלות - עם Python

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

הטקסט המלא

04 פברואר, 2010 10:31 AM

ajaxian

מוזילה דוחפת

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

הטקסט המלא

04 פברואר, 2010 10:17 AM

גוגל עורכת ניסוי לתגיות וידאו של HTML 5 ביו טיוב (כרום, ספארי, כרום-פריים)

צעד קטן נוסף לאנושות. לא הייתי מזדרז להסיר את תוסף הפלאש של אדובי מהמחשבים בינתיים, אבל גוגל דוחפת קדימה את HTML 5 ומיישמת את התמיכה בוידאו (H.264/AVC) לצורך הזרמת סרטונים באתר YouTube.

הטקסט המלא

04 פברואר, 2010 10:17 AM

Dan Fruehauf

EVE and WINE


It’s also been a long time since I’ve played any computer interactive game. Unfortunately a work colleague introduced me to EVE Online.
I’m usually playing EVE on Microsoft Windows, which I believe is the best platform for PC gaming.

It’s been a while since I dealt with WINE. In the old days WINE was very complicated to deal with.
I thought I should give it a try – EVE Online on CentOS.

This is a short, semi-tutorial post about how to run EVE Online on CentOS.
It’s fairly childish so even very young Linux users will be able to understand it easily.

Let’s go (as root):


# cat > /tmp/epel.conf <<EOF
[epel]
name=\$releasever - \$basearch - epel
baseurl=http://download.fedora.redhat.com/pub/epel/5/x86_64/
enabled=1
EOF

# yum -y -c /tmp/epel.conf install wine

Let’s get EVE Online (from now there’s no need for root user access):


$ cd /tmp
$ wget http://content.eveonline.com/EVE_Premium_Setup_XXXXXX_m.exe

XXXXXX is obviously the version number, which is subject to change.

Let’s install EVE:


$ wine /tmp/EVE_Premium_Setup_XXXXXX_m.exe

OK, here’s the tricky part, if you’ll run it now, the EULA page will not display properly and you won’t be able to accept it. This is because it needs TrueType fonts.
We’ll need to install the package msttcorefonts, a quick look at google suggest you can follow the instructions found here.
Let’s configure the fonts in wine:


$ for font_file in `rpm -ql msttcorefonts`; do ln -s $font_file /home/dan/.wine/drive_c/windows/Fonts; done

Run EVE:


$ wine "/home/dan/.wine/drive_c/Program Files/CCP/EVE/eve.exe"

It’ll also most likely add a desktop icon for you, in case you didn’t notice.

EVE works nicely with WINE, an evident that WINE has gone a very long way since the last time I’ve used it!!

I believe these instructions can be generalized quite easily for recent fedora distros just as well.
\o/

Feel free to contact me on this issue in case you encounter any problems.

04 פברואר, 2010 08:41 AM

03 פברואר, 2010

Amit Tal

תכנית מחשוב חדשה בבתי הספר בפריפריה

(או: "בואו ניתן לתלמידים מחשב נייד ואינטרנט אלחוטי במהלך השיעור, זה יעזור להם להתרכז בלימודים")

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

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

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

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

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

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

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

הטקסט המלא

03 פברואר, 2010 11:42 PM

Gabor Szabo

Perl for Windows statistics

Adam Kennedy pointed me to the download count of Strawberry Perl for Windows. this shows that in the last 3 months there were approximately 54K downloads of 5.10.x and 4.5K downloads of 5.8.x That would be about 650 downloads a day.

Back on 7/7/2007 Jan Dubois mentioned that ActiveState has more than 4,500 downloads of ActivePerl 5.8.x per day for Windows and more than 1,000 downloads of ActivePerl 5.6.1 per day.

Unfortunatelly I don't have newer numbers from ActiveState but it would be interesting to see how have the numbers changed? Also it would be nice if we had numbers from the other Perl distributions for Windows.

03 פברואר, 2010 05:34 PM

Dan Fruehauf

Rocket science


I still remember my Linux nightmares of the previous century. Trying to install Linux and wiping my whole HD while trying to multi boot RedHat 5.0.
It was for a reason that they said you have to be a rocket scientist in order to install Linux properly.
Times have changed, Linux is easy to install. Perhaps two things are different, one is that objectively Linux became much easier to handle and the second is probably the fact I gained much more experience.
In my opinion – one of the reasons that Linux became easier along the years is the improving support for various device drivers. For the home users – it is excellent news. However, for the SysAdmin who deals mostly with servers and some high-end devices, the headache, I believe, still exists.
If you thought that having a NIC without a driver is a problem, I can assure you that having a RAID controller without a driver is ten times the headache.
I bring you here the story of the RocketRAID device, how to remaster initrd and driver disks and of course, how to become a rocket scientist!

WTF

With Centos 5.4 you get an ugly error in the middle of the installation saying you have no devices you can partition.
DOH!!! Because it discovered no HDs.

So now you’re asking yourself, where am I going? – Google of course.
RocketRAID 3530 driver page

And you discover you have drivers only for RHEL/CentOS 5.3. Oh! but there’s also source code!
It means we can do either of both:

  1. Remaster initrd and insert the RocketRAID drivers where needed
  2. Create a new driver disk and use it

I’ll show how we do them both.
I’ll assume you have the RocketRAID driver compiled for the installation kernel.
In addition, I’m also going to assume you have a network installation that’s easy to remaster.

Remastering the initrd

What do we have?

# file initrd.img
initrd.img: gzip compressed data, from Unix, last modified: Sun Jul 26 17:39:09 2009, max compression

I’ll make it quicker for you. It’s a gzipped cpio archive.
Let’s open it:

# mkdir initrd; gunzip -c initrd.img | (cd initrd && cpio -idm)
12113 blocks

It’s open, let’s modify what’s needed.

  • modules/modules.alias – Contains a list of PCI device IDs and the module to load
  • modules/pci.ids – Common names for PCI devices
  • modules/modules.dep – Dependency tree for modules (loading order of modules)
  • modules/modules.cgz – The actual modules inside this initrd

Most of the work was done for us already in the official driver package from HighPoint.
Edit modules.alias and add there the relevant new IDs:

lias pci:v00001103d00003220sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003320sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003410sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003510sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003511sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003520sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003521sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003522sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003530sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003540sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00003560sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004210sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004211sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004310sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004311sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004320sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004321sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004322sv*sd*bc*sc*i* hptiop
alias pci:v00001103d00004400sv*sd*bc*sc*i* hptiop

This was taken from the RHEL5.3 package on the HighPoint website.

So now the installer (anaconda) knows it should load hptiop for our relevant devices. But it needs the module itself!
Download the source package and do the usual configure/make/make install – I’m not planning to go into it. I assume you now have your hptiop.ko compiled against the kernel version the installation is going to use.
OK, so the real deal is in modules.cgz, let’s open it:

# file modules/modules.cgz
modules/modules.cgz: gzip compressed data, from Unix, last modified: Sat Mar 21 15:13:43 2009, max compression
# mkdir /tmp/modules; gunzip -c modules/modules.cgz | (cd /tmp/modules && cpio -idm)
41082 blocks
# cp /home/dan/hptiop.ko /tmp/modules/2.6.18-164.el5/x86_64

Now we need to repackage both modules.cgz and initrd.img:

# (cd /tmp/modules && find . -print | cpio -c -o | gzip -c9 > /tmp/initrd/modules/modules.cgz)
41083 blocks
# (cd /tmp/initrd && find . -print | cpio -c -o | gzip -c9 > /tmp/initrd-with-rr.img)

Great, use initrd-with-rr.img now for your installation, it should load your RocketRAID device!

A driver disk

Creating a driver disk is much cleaner in my opinion. You do not remaster a stock initrd just for a stupid driver.
So you ask what is a driver disk? – Without going into the bits and bytes, I’ll just say that it’s a brilliant way of incorporating a custom modules.cgz and modules.alias without touching the installation initrd at all!
I knew I couldn’t live quietly with the initrd remaster so choosing the driver disk (dd in short) option was inevitable.
As I noted before, HighPoint provided me only a RHEL/CentOS 5.3 driver disk (and binary), but they also provided the source. I knew it was a matter of some adjustments to get it to work also for 5.4.
It is much easier to approach the driver disk now as we are much more familiar with how the installation initrd works.
I’m lazy, I already created a script that takes the 5.3 driver package and creates a dd:


#!/bin/bash

# $1 - driver_package
# $2 - destination of driver disk
make_rocketraid_driverdisk() {
        local driver_package=$1; shift
        local destination=$1; shift

        local tmp_image=`mktemp`
        local tmp_mount_dir=`mktemp -d`

        dd if=/dev/zero of=$tmp_image count=1 bs=1M && \
        mkdosfs $tmp_image && \
        mount -o loop $tmp_image $tmp_mount_dir && \
        tar -xf $driver_package -C $tmp_mount_dir && \
        umount $tmp_mount_dir && \
        local -i retval=$?

        if [ $retval -eq 0 ]; then
                cp -aL $tmp_image $destination
                chmod 644 $destination
                echo "Driver disk created at: $destination"
        fi

        rm -f $tmp_image
        rmdir $tmp_mount_dir

        return $retval
}

make_rocketraid_driverdisk rr3xxx_4xxx-rhel_centos-5u3-x86_64-v1.6.09.0702.tgz /tmp/rr.img

Want it for 5.4? – easy. Just remaster the modules.cgz that’s inside rr3xxx_4xxx-rhel_centos-5u3-x86_64-v1.6.09.0702.tgz and replace it with a relevant hptiop.ko module :)

Edit your kickstart to load the driver disk:

driverdisk --source=http://UGAT/HA/BAIT/INC/HighPoint/RocketRAID/3xxx-4xxx/rr3xxx-4xxx-2.6.18-164.el5.img

Make sure you have this line in the main section and not meta generated in your %pre section as the driverdisk directive is being processed before the %pre section.

The OS doesn’t boot after installation

You moron! This is because the installation kernel/initrd and the one that boots afterwards are not the same!
You can fix it in one of the 3 following ways:

  1. Recompile the CentOS/RHEL kernel and repackage it with the RocketRAID driver – pretty ugly, not to mention time consuming.
  2. Build a module RPM for the specific kernel version you’re going to use – very clean but also very time consuming!
  3. Just build the module for the relevant kernel in the %post section – my way.

In the %post section of your kickstart, add the following:


(cd /tmp && wget http://UGAT/HA/BAIT/INC/rr3xxx_4xxx-linux-src-v1.6-072009-1131.tar.gz && \
        tar -xf rr3xxx_4xxx-linux-src-v1.6-072009-1131.tar.gz && cd rr3xxx_4xxx-linux-src-v1.6 && \
        make install)

The next boot obviously have a different initrd image. Generally speaking, initrd creation is done after the %post section, so you should not bother about it too much…
Server should boot now. Go play your 12×2TB RAID array.

I hope I could teach you something in this post. It was a hell of a war discovering how to properly do all of these.
Now if you’ll excuse me – I’ll be going to play with spaceships and shoot rockets!

03 פברואר, 2010 04:11 PM

Ram on Agmon

‫אופן אופיס מגיע לנתח שוק של 21 אחוזים בגרמניה‬

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

לידיעה ב-slashdot

לדף המוקדש לתוכנה חופשית בממשלה (הויקי של "המקור")


Unique visitors to post: 51

הטקסט המלא

03 פברואר, 2010 07:03 AM

Boris Shtrasman

ולפעמים הניסיון בקוד פתוח הוא מגרעה

מי שמכיר אותי יודע שיש לי חסרון עיקרי - אני שונא להמציא את הגלגל מחדש. במספר שנות הפיתוח והשימוש שלי בלינוקס למדתי להשתמש בהמון כלים (מIT ועד פיתוח) ורובן עם לא כולם מגיעים עם רישיון GPL או MIT/X11.
אמנם כשעבדתי כמכתנת להשכרה או בחברות שבחרו להשתמש בכלים וסביבות חופשיות הדבר היה יתרון - אם יש כבר פתרון לבצע סינכרון קבצים מוצפן (פיתוח של שחר שמש נראה לי) או שיש כבר פתרון להצפנת הRTP וביצוע סטטיסטיקה עליו אז למה לממש מחדש?! כך עברו להם מספר שנים על מי מנוחות וחיים טובים. בנוסף צברתי ניסיון בתחומים כה רחוקים שלפעמים זה נותן יתרון (תתפלאו מה ניסיון בIT מימוש מערכות מעקב וVoIP יכול לתת).

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

כן אני באמת מאמין שrsync הוא פתרון נהדר (וחבל שהמימוש שלו בGPLv3 ולא lgpl או משהוא שלא ימנע ממני להשתמש בו במוצר קנייני). האמת חשבתי לממש אותו שוב פעם ולשחרר את MIT רק אחרי שבוע של כתיבה הבנתי שזה גוזל ממני יותר מדי זמן. כן אני מאמין שמספר מאוד גדול של תוכניות צריך להכתב בשפה דוגמת פרל (או רחמנה ליצלן בPHP) כאשר יש טיפול בטקסט. וכן הרבה תוכניות יכולות פשוט להכתב בפייתון מאשר בC++ ובזמן האחרון אני אפילו רואה שימוש בC# רק בשביל דברים טרויאלים כמו זה (וכן סטודנט-מתכנת-בשקל שזה מה שהוא למד באוניברסיטה). שפה היא רק כלי וצריכים לבחור בה בהתאם למטרה. ופעמים רבות אנשים נאחזים בטכנולוגיה גם כשאינה מתאימה לצרכיהם. וככה אני מוצא את עצמי מתווכך עם מזמין עבודה שהקוד הזה עדיף עם יכתב בפרל כי יש לי כבר כמה מודלים שעושים בדיוק את מה שאתה צריך (המרה מXLS ל XML) במקום לממש משהוא בC עקום ראיתי מספיק קוד בשביל להגיד שלפעמים הקוד עקום אם משתמשים באלגוריתמים לא נכונים.

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

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

03 פברואר, 2010 03:14 AM

ועוד משחקי פריפרוססור

אז היה לנו את הנושא של איך לייצר כל מני דברים בשימוש עפ # ו ## ב C. אבל מה עושים עם יש לנו מספר משתנה של משתנים ?

Link
נניח יש לנו מקרו שמקבל k פרמטרים (לדוגמה printf) איך ניבדוק שיש מספר מתאים של פרמטרים ?
בעוד יש אפשרות להשתמש בva_list יש פתרון קל יותר :


#include <stdio.h>          

#define PP_NARG(...) \
PP_NARG_(__VA_ARGS__,PP_RSEQ_N())
#define PP_NARG_(...) \
PP_ARG_N(__VA_ARGS__)
#define PP_ARG_N( \
_1, _2, _3, _4, _5, _6, _7, _8, _9,_10, \
_11,_12,_13,_14,_15,_16,_17,_18,_19,_20, \
_21,_22,_23,_24,_25,_26,_27,_28,_29,_30, \
_31,_32,_33,_34,_35,_36,_37,_38,_39,_40, \
_41,_42,_43,_44,_45,_46,_47,_48,_49,_50, \
_51,_52,_53,_54,_55,_56,_57,_58,_59,_60, \
_61,_62,_63,N,...) N
#define PP_RSEQ_N() \
63,62,61,60, \
59,58,57,56,55,54,53,52,51,50, \
49,48,47,46,45,44,43,42,41,40, \
39,38,37,36,35,34,33,32,31,30, \
29,28,27,26,25,24,23,22,21,20, \
19,18,17,16,15,14,13,12,11,10, \
9,8,7,6,5,4,3,2,1,0

int main(int argc , char ** argv)
{
printf("%d\n",PP_NARG('A' , 'B' , 'C'));
return 0;
}



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

#include <stdio.h>

int my_vargs (const char *my_format, ...)
__attribute__ ((format (printf,1,2 )));



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

my_vargs("%d , %d",5,"c");


תקבלו

boris@laptop:/tmp$ gcc 2.c -Wall -ansi
2.c: In function ‘main’:
2.c:9: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘char *’


זה גם מבצע את ספירת הפרמטרים (אתה מבקש k פרמטרים בפורמט ומעביר m

03 פברואר, 2010 03:11 AM

02 פברואר, 2010

Ram on Agmon

‫מצגת תמונות למחשב הלוח של גוגל‬

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

לכתבה ב- slashdot

אל דף השיווק המקורי

תמונה אחת בשביל הפלנט:

וסרטון


Unique visitors to post: 41

הטקסט המלא

02 פברואר, 2010 09:01 PM

Shlomi Fish

New Page about Text Editors and IDEs for Programmers

After answering the questions "Can anyone recommend a good text editor?" and "What is a good IDE?" a few times in the past, I set up a page listing some prominent text editors and Integrated Development Environments (IDEs) for development on my homepage. Currently it includes only cross-platform open-source text editors and cross-platform open-source IDEs, but I'm planning to expand it as time and interest permits. Additions would be welcome.

Vim is there and so are XEmacs and Eclipse, and also Padre, the Perl IDE and more specialised IDEs such as the "Eric" Python IDE.

02 פברואר, 2010 07:59 PM

פגישת קוד פתוח בתל-אביב: 14 בפברואר - vtiger CRM

מועדון הקוד הפתוח התל-אביבי (תלוקס) ייפגש שוב כדי לשמוע את הרצאתו של רמי הדדי אודות "מערכת ניהול קשרי הלקוחות vtigerCRM. ההרצאה תתקיים ביום ראשון, 14 בפברואר 2010, בשעה 18:00, באולם הולצבלט, מס' 007 במסדרון הבניינים למדעים מדויקים (שימו לב לשינוי בשעה ובמיקום משנה שעברה) באוניברסיטת תל אביב. פרטים נוספים, מפות להגעה וכיוצא בזה, ניתן למצוא באתר ובוויקי. הנוכחות בהרצאה היא חינמית ולא נדרשת הרשמה מראש.

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

רמי הדדי הינו מנכ"ל אקטיבטק אשר מתמחה ביעוץ, פיתוח ואירוח של vtiger CRM.

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

02 פברואר, 2010 06:47 PM

Gabor Szabo

Showing Perl on non-Perl conferences, getting money from TPF for swag

On this weekend I'll be on FOSDEM along with several other Perl Mongers. In addition to just trying to enjoy the talks we'll be promoting Perl. I am really happy that The Perl Foundation was ready to provide us with $500 to buy conference swag we can give away.

Similarry, a month from now we will be present at CeBIT in Hannover, Germany where we will have a booth to promote Perl and Perl based projects. I've just heard from Karen Pauley that TPF agreed to provide us another $500 for further materials to give away on CeBIT.

This is awesome and this probably means that if you are ready to talk to people on non-perl related events telling them about Perl you could also get some money from TPF in order to have some hard material to give away.

For FOSDEM we are preparing some round tuits and a postcard listing the Perl events in Europe that will take place in the coming months.

For CeBIT we are also preparing some further marketing materials - more business oriented - that we will be able to hand out.

There are further ideas to prepare various fun promotional materials one can give away during a chat with a fellow developer and we have also discussed that we should have a Linux liveCD full of Perl applications ready to be used by anyone. (Also include Windows binaries in the form of Strawberry Perl for those using Windows)

Of course almost none of the the above is my work. There are several people involved in the preparation: Rich Sands organzied the tuits and the postcards for FOSDEM, Salve J. Nilsen is working and on community intro cards, Renee Backer is working hard on the materials for CeBIT just to thank a few of them.

We are also expecting some help from the Enlightend Perl Organization (EPO) as they are preparing beer-mats to give away.

Getting involved

Most of the conversation about this is done on the events mailing list and some data is collected on the TPF wiki. If you would like to help in preparing the materials or if you'd are planning to attend a non-perl event and would like to have some fun or business oriented material to give away, please join us on the events mailing list to discuss the details. You can find information on the TPF wiki.

02 פברואר, 2010 10:57 AM