אם הכותרת נשמעת קצת בומבסטית אני מתנצל, לא יכולתי להתאפק. מי שמכירים את הסיסמה של קרן התוכנה החופשית יבינו את משחק המילים, מי שלא, ההסבר בהמשך. מאת: לב מ.שימו לב, זו אינה סקירה רגילה של טלפון נייד, משום שה-Neo 1973 טרם יצא לשוק ועדיין אינו נמכר לקהל הרחב. המכשיר עליו אני עומד לספר לכם ניתן לרכישה מאתר החברה ולא משום מקום אחר, עם הדגשה שהוא נועד למפתחים בלבד. לכן לא אתאר את יתרונותיו וחסרונותיו של המכשיר וגם ואיני מתכוון להעניק לו ציון, או המלצה. במקום, אסתפק בפירוט נתוניו, אספר על המערכת, היכולות והחוויה הראשונית לאחר הרכישה.
מפרט טכני
מעבד: Samsung S3C2410AL במהירות 266MHz
זיכרון: 128MB SDRAM, 64MB NAND Flash
מסך: (מגע) 480x640 VGA בגודל "2.8
טלפון: (TRI BAND GSM (900 / 1800 / 1900
תקשורת נתונים: GPRS
קישוריות: Bluetooth 2.0, USB + Host
ניווט: Hammerhead PMB 2520 AGPS (כולל חיבור לאנטנה חיצונית)
הרחבה: כרטיס microSD (מסוגל לקרוא SDHC)
קול: רמקולים סטראופוניים בצידי המכשיר
מידות: 120.7x62x18.5 mm
משקל: 184 גרם
מערכת הפעלה: Linux OpenMoko
מה מיוחד במכשיר?

כפי שניתן להווכח מפירוט החומרה, המכשיר אינו ניצב בקצה העליון של הטכנולוגיה, אף שהוא ניחן במספר פיצ'רים נחמדים, כמותם ניתן למצא במעט מאוד מכשירים אחרים - כמו ה-USB Host למשל. גם המראה שלו אינו ייחודי דיו כדי להעלות אותו מדרגה מעל למכשירים אחרים.מה שהופך את המכשיר הקטן הזה למהפכני באמת היא העובדה שמדובר בטלפון "המשוחרר" הראשון. המכשיר פתוח מהמסד עד לטפחות, החל עם ה-Boot Loader והדרייברים ועד לתוכנות שרצות עליו, כגון יומן ומשחקים, בקוד פתוח והוא זמין להורדה תחת רישיון GPL. ניתן למעשה להוריד את קוד המקור של כל המערכת ולקמפל אותה במחשב הבייתי. אבל יוצרי המכשיר לא הסתפקו בכך - גם החומרה פתוחה. כלומר, כל הרכיבים ואופן עבודתם מתועדים, ואלה שבכל זאת חייבים להשאר סגורים (בגלל חוקים למיניהם, כמו רכיב ה-GSM, או חוזים עסקיים) מתפקדים כקופסה שחורה ומתקשרים עם שאר המערכת בפרוטוקולים סטנדרטיים מתועדים ופתוחים.
אחת האפשרויות שהחופש הזה פותח בפנינו היא היכולת להתאים למכשיר מערכת הפעלה אחרת בקלות יחסית. למעשה כבר קיימת ערכת פיתוח ויישומים חלופית בשם Qtopia שניתן לצרוב במכשיר זה. ארחיב בהמשך.
כאן המקום אולי להסביר את כותרת הסקירה. באנגלית למילה "free" שתי משמעויות: חינם אין כסף, או חופשי, כמו "חופש הדיבור". כדי להמחיש את ההבדל ולהסביר מדוע תוכנה חופשית היא הרבה יותר מאשר סתם תוכנה המופצת חינם וללא דרישת תשלום, ארגון התכנה החופשית טורח להדגיש ש:
"you should think of free as in free speech, not as in free beer.", או בעברית: צריך לחשוב על "חופש" כמו ב"חופש הביטוי" ולא כמו ב"בירה חופשי". המשפט תקף במקרה זה משום שהטלפון הזה אינו נמסר חינם, כמו שמחיר מערכת הפעלה במכשירים המשתמשים במערכות קנייניות, כמו Windows Mobile או Symbian, אינו מהווה מרכיב גדול במחיר הסופי של המכשיר. הכסף אינו הגורם העיקרי כאן (על אף שבטווח הרחוק יש גם יתרונות כספיים למכשיר פתוח), אלא מה ניתן לעשות עם המכשיר - הן בתור מפתחים והן בתור משתמשים רגילים.

דוגמה אחת לכך היא האפשרות ליצור תוכנות המחייבות גישה ישירה לחומרה, כמו משיבון מובנה. אם ברשותכם מכשיר מבוסס Windows Mobile ורציתם להתקין עליו תוכנת משיבון כדי להימנע משימוש בתא קולי שלכם, או כדי לקבל יותר אופציות כמו מספר תיבות קול, אינכם יכולים משום שאפשרות הגישה לשמע בזמן שיחה נחסמה ברמת המערכת. מצב זה אינו אפשרי במכשיר הנ"ל. מצב נוסף שאינו אפשרי במכשיר זה הוא "נעילת SIM", כלומר הגבלת המכשיר לשימוש ברשת סלולרית מסויימת.
הערה: "נעילת SIM" - כך מוכרות חברות הסלולר (גם בישראל וגם בעולם) את המכשירים, כדי להקשות על הלקוחות לעבור לחברה מתחרה בתום תכנית המנוי.
קבלת המכשיר
נכון לזמן כתיבת סקירה זו ניתן לרכוש את המכשיר באתר החברה בלבד, והוא נשלח עם UPS. מה שעשוי להיראות מעט מוזר הוא שהקופסה שלו לבנה לחלוטין ללא שום סימן מסחרי, לוגו או כיתוב.
תוכן החבילה
המכשיר עצמו, סוללה בקיבולת 1200mAh, עט סטילוס משולב, מצביע לייזר ופנס LED (בקופסת מתכת מהודרת משלו עם סט סוללות נוסף), כרטיס זיכרון microSD בנפח 512MB מבית SanDisk, אזניות משולבות דיבורית, רצועה ופאוץ' לנשיאת המכשיר וכמובן כבל USB סטנדרטי.ניתן להזמין גם ערכה "מתקדמת" הכוללת כרטיס זיכרון, סוללה וכבל USB נוספים, מברג Torex 6 לפירוק המכשיר וגם לוח Debug - לוח מיוחד המאפשר גישה לקרביים של המכשיר, בייחוד לאותם מהנדסים חובבים (או אפילו מקצועיים) שפשוט חייבים לדעת איך זה עובד מבפנים. בין היתר, לוח זה מספק חיבור JTAG אשר מאפשר שחזור מכשיר מכל מצב, גם אם ה-Boot Loader נהרס, כלומר, מצב בו מכשיר אחר כבר היה הופך למשקולת נייר יקרה. ושוב – בין אם עניינכם הוא פיתוח תכנה ובין אם התעסקות בחומרה - עם המכשיר הזה תקבלו את כל הכלים!
האם שכחתי משהו? לא. בניגוד לטלפונים אחרים לא מצורפים לערכה דיסק כלשהו או חוברת הפעלה. הסיבה היא שאין צורך בהם (לפחות לא בשלב הזה). את כל ההוראות - מאופן שימוש ועד למדריך כתיבת תוכנה - ניתן למצוא בוויקי של הפרויקט.
פתיחת החבילה
בעוד שיצרני המכשיר התכוונו לאפשר לכל המעוניין לפרק אותו לחלוטין, אני הגעתי רק עד למצב של הכנסת SIM, כרטיס זיכרון וסוללה. כאן מתגלה הפגם הרציני היחיד שמצאתי בתכנון שלו: כרטיס הזיכרון ממוקם לא רק מתחת לסוללה, אלא מתחת ל-SIM עצמו.
מערכת הפעלה
משתמש מן השורה שזה עתה רכש סלולרי מתקדם ופתאום גילה שהמכשיר לא "עולה" עד הסוף כשרק יצא מהקופסה, ייבהל בוודאי וידרוש את כספו חזרה. וזה בדיוק מה שקרה עם המכשיר הזה. אבל אני הייתי מוכן לכך תודות לאזהרה באתר של החברה.
הבעיה: המערכת לא נצרבה בשלמותה.
הפתרון: קל ופשוט – מורידים את הגרסה האחרונה של ה-ROM (או כל אחת מתריסר הגרסאות האחרות הזמינות באתר הפרויקט) ואת כלי הצריבה שגם הוא תכנה בקוד פתוח, ותוך קצת פחות מ-15 דקות המכשיר מוכן לעבודה.
אפרופו חופש, בניגוד למכשירים אחרים בהם המשתמש תלוי ביצרן המכשיר, או אפילו בחברת סלולר דרכה הוא נרכש, כדי שתספק לו עדכון, כאן העדכונים מגיעים ישירות מיצרן מערכת הפעלה או אפילו מקהילת המפתחים עמה הוא עובד. בנוסף על כך, תמיד ניתן לחזור לגרסה הישנה במידה והעדכון גרם לתקלות לא רצויות, או הסיר פיצ'רים כלשהם.
צריבת מערכת ההפעלה מתבצעת ב-3 חלקים ותמיד ממצב Boot Loader:
החלק הראשון הוא ה-Boot Loader עצמו. בדרך כלל לא מתעסקים אתו (באופן אישי לא צרבתי אותו אף פעם, על אף שעד כה הספקתי להחליף את שאר המערכת לפחות 5 פעמים). הצורך לצרוב את ה-Boot Loader בנפרד ורק במקרים נדירים (שוב, טרם נתקלתי במצב כזה), מפחית משמעותית את הסיכוי להפוך את המכשיר ל"לבנה" (לאלה מכם שאינם בקיאים בסלנג ה"צורבים הכפייתיים" – הכוונה להשבתתו המוחלטת של המכשיר).
החלק השני הוא הקרנל, ליבת המערכת. הוא יושב במחיצה נפרדת משאר המערכת, וכך מתאפשר עדכונו ללא איבוד מידע במכשיר! גודל הקרנל הוא 1MB בלבד וצריבתו נמשכת פחות מדקה.
החלק השלישי והאחרון הוא מערכת הקבצים, הכוללת את החלק הגרפי של מערכת הפעלה והתכנות הנלוות. חלק זה יכול להיות בין 30 ל-40 מגה וצריבתו נמשכת בערך 13 דקות.
פרויקט OpenMoko מפעיל שרת FTP, בו מאוחסנות גרסאות של מערכת ההפעלה בשלבים שונים של פיתוח. ניתן לבחור כל אחת מהן, לצרוב, לבדוק ולהמשיך הלאה.
לצד OpenMoko, למענה פותח מכשיר ה- Neo, קיימת כיום גם ערכת Qtopia, אשר פותחה על ידי חברת Trolltech הנורבגית. אף שגרסה זו נועדה במקור לטלפון שונה לחלוטין, הקוד הפתוח, כמו גם המפרט הפתוח של ה-Neo עצמו, אפשרו למפתחים מהקהילה להתאים את Qtopia לשימוש ב-Neo. למעשה ניתן להוריד ולצרוב את Qtopia בדיוק באותה דרך בה צורבים את המערכת המקורית וגם לחזור ל-OpenMoko ללא כל מאמץ נוסף.
יכולתו המעניינת ביותר של המכשיר הזה היא האפשרות לבצע "Dual Boot". ה-Neo יכול להריץ OpenMoko מהזיכרון הראשי (Flash) ובמקביל את Qtopia מהכרטיס. בעליית המכשיר המשתמש יכול לבחור עם איזו מערכת הוא מעוניין לעבוד.
עניין נוסף הפתיע אותי לטובה. בניסיון הראשון לעבור מ-OpenMoko ל-Qtopia הורדתי בטעות את הקבצים הלא נכונים. מבלי לקרוא את ההוראות עד הסוף, שיניתי שם לאחד מהם, כדי שיתאים למה שהכרתי וצרבתי קרנל ומערכת קבצים. כאשר ניסיתי להפעיל את המכשיר התברר לי שמה שצרבתי לא הייתה כלל מערכת הפעלה עבור המכשיר הזה. למעשה המכשיר נתקע במסך הראשון (Splash) ולא המשיך משם. חזרתי למצב Boot Loader, צרבתי מחדש OpenMoko והמכשיר חזר לתפקד כאילו לא קרה דבר. מהיכרותי עם עולם מכשירים מבוססי Windows Mobile, ניסיון דומה עם אחד מהם היה עלול להסתיים באסון (או לפחות בחיפושים רבים אחרי דרך תיקון או הוצאות מעבדה).
חיבור המכשיר למחשב
כפי שכבר צויין במפרט הטכני, יש למכשיר חיבור Mini USB סטנדרטי. בנוסף לצורך הטעינה, החיבור לתקשורת עם מחשב ה-PC משמש בשני מצבים:
ראשון, מצב Boot Loader, ממנו ניתן לצרוב מערכת הפעלה באמצעות הכלי המתאים וגם לתת פקודות ל-Boot Loader עצמו באמצעות כלי סטנדרטי לתקשורת עם מכשירי Embedded משורת הפקודה.
המצב השני והחשוב יותר, הוא מצב Ethernet Gadget. כאשר ה-Kernel עולה, המכשיר מזדהה ככרטיס רשת ולמעשה יוצר חיבור רשת נוסף ב-PC. כעת ניתן לגשת למכשיר כאילו היה מחשב מרוחק שמריץ לינוקס אליו ניתן לגשת באמצעות SSH (ביצוע פקודות ב-Terminal על מחשב מרוחק), SCP (העתקת קובץ למחשב מרוחק) ועוד. כמובן שניתן לראות ולבצע פעולות על הקבצים שבמכשיר גם בעזרת סייר הקבצים הגרפי. עם זאת, תקשורת זו היא דו-כיוונית! גם המכשיר רואה את ה-PC עליו הוא מחובר כמחשב אחר ברשת, ולמעשה ניתן להשתלט על המחשב מתוך הטלפון, לצפות בקבצים ולהעתיקם ולהריץ פקודות על ה-PC מתוך תכנת ה-Terminal המותקנת על המכשיר.
בקיצור – מרגע החיבור, מתפקדים הטלפון והמחשב כמו שני מחשבים המחוברים ביניהם ברשת קווית לכל דבר. אין צורך להתקין תכנה מיוחדת על ה-PC כגון ActiveSync, הנדרשת ע"י מכשירים מבוססי Windows Mobile, דבר שהוא נח מאוד אם המחשב אליו מתחברים אינו המחשב הבייתי שלכם. אפשרות נוספת כתוצאה מצורת חיבור זו היא שקיפות – כל תכנה קיימת שיודעת לעבוד מול מחשב מרוחק, תוכל לעבוד מול המכשיר, ללא צורך בהתאמה מיוחדת. חיבור כזה פותח אפשרות ליצור יישומים הקשורים ספציפית בפעולות בין טלפון ל-PC באופן חד-צדדי, ובכך לחסוך התקנות מיותרות על ה-PC לצורך עבודה שוטפת מול מכשיר זה או מכשירים עתידיים.
לדוגמה, ניתן ליצור תוכנת סנכרון שתפעל מהטלפון בלבד ולא תדרוש התקנת רכיב בצד ה-PC. התכנה תקבל שם משתמש וסיסמה עבור המחשב או מחשבים אחדים מולם צריך להסתנכרן, ועם החיבור תאופשר גישה לנתונים כגון יומן, אנשי קשר ודוא"ל.
שימושים נוספים לחיבור המכשיר למחשב ה-PC
בוויקי של הפרוייקט ניתן למצא הסבר מפורט כיצד לייצא נתוני GPS מהמכשיר למחשב ה-PC בזמן אמת, כך שהטלפון יכול בעצם להפוך למקלט GPS עכברי עבור מחשב נייד או נייח. טרם ניסיתי הליך זה, כך שלא אוכל לפרט.
על פי המפרט הטכני כניסת ה-USB מתפקדת גם כ-USB Host, אך לא לחלוטין לפי התקן - החיבור אינו מספק 5V של חשמל. מבדיקה שערכתי מול כונן קשיח חיצוני ומכשיר Pocket PC המזדהה כDOK לא נוצר ב-Neo זיהוי של התקן USB. יתכן שהבעיה נובעת מחוסר דרייברים או מכך שרוב ההתקנים יסרבו לתפקד מול יציאה שאינה מספקת חשמל, גם אם יש להם מקור כח חיצוני.
ייתכן שניתן להתגבר על בעיות אלה, אך הדבר דורש יצירת קבל מיוחד (שיפצל את ה-USB לנתונים וחשמל) וידע רחב יותר לגבי דרייברים של Linux.
שימוש יום יומי
רוב התוכנות הנפוצות במכשירי טלפון חכמים כבר שולבו עם במערכת ההפעלה של המכשיר הזה: חייגן, אנשי קשר, יומן, נגן מוזיקה, דפדפן אינטרנט, קורא RSS, מחשבון, משחקים ועוד. לצערי מצאתי כי נכון לעכשיו חסר סייר קבצים גרפי וניתן לבצע פעולות על קבצים מתוך המכשיר רק באמצעות שורת פקודה (Terminal). מנהל המשימות, המאפשר מעבר וסגירת תכניות נגיש יחסית - ניתן להגיע אליו תוך שני קליקים כמעט מכל מסך. דבר נוסף שחסר כאן, הם כלים גרפיים לקביעת הגדרות המכשיר, אך היות וגרסת מערכת ההפעלה אינה סופית בשלב זה, ניתן לצפות שהם יתווספו בהמשך.
כמו כל הפצת לינוקס המכבדת את עצמה, גם ל-OpenMoko מנהל חבילות בעל ממשק גרפי. לטובת מי שלא מכירים את הנושא, במערכות הפעלה מבוססות לינוקס רכיבי המערכת עצמה, כמו גם תוכנות צד ג', מותקנות לרוב באמצעות "מנהל חבילות". מנהל החבילות מתחבר למאגר מרכזי של ההפצה באינטרנט, בו נמצאות תוכנות רבות שכבר הותאמו להתקנה בהפצה הספציפית ובעזרתו ניתן להתקין או להסיר כל תוכנה שרוצים.
הכלי זה מספקת גם אפשרות חיפוש. לדוגמה, זקוקים לתוכנה לעריכת תמונות? הקלידו "image editor" בתיבת חיפוש ומנהל החבילות יאתר את כל התוכנות הזמינות (לכל חבילה מצורף פירוט של התוכנה והספריות שהיא מכילה). בנוסף, מנהל החבילות מנהל גם מנהל את התוכנה שהותקנה באמצעתו ומאפשר לקבל עדכונים למערכת וגם לתוכנות צד שלישי. אגב, לא רק תיקונים, גם גרסאות חדשות לחלוטין יותקנו אוטומטית, אם תבחרו בכך. מחוסר זמן לא התעמקתי בשימוש בתכנות המותקנות, לכן צרפתי מספר צילומי מסך.

שימו לב לתמונה עם הפינגווין. כאן ניתן לראות את תוכנת נעילת המסך בפעולה. זוהי תוכנה קטנה ונחמדה שפותחה על ידי אחד מחברי הקהילה, והנהלת הפרוייקט בחרה לצרף אותה באופן רשמי למערכת. התוכנה מופעלת על ידי בחירת האפשרות "Lock Display" מה-Power Menu . ניתן להכנס לתפריט באמצעות לחיצה על כפתור ההפעלה של המכשיר. מטרת התכנה למנוע הפעלה לא רצויה של המכשיר על ידי מסך המגע בזמן שהמכשיר נמצא בתיק או בכיס, ובעצם היא חוסמת כל פעולה עד לביצוע תנועה ספציפית – גרירת סמל כלשהו למטרה. לכך ישנו פינגווין (שמו Tux והוא הקמע של פרוייקט לינוקס) הולך בכביש. ברגע שעט הסטילוס עוזב אותו הוא חוזר לנקודת ההתחלה. על מנת לשחרר את המכשיר יש לגרור את הפינגווין מתחתית המסך לחלקו העליון, שם נמצא הלוגו של פרוייקט OpenMoko (בדמות שמש). התוכנה תתעלם מכל תזוזה חלקית, או לחיצות אקרעיות על המסך.פיצ'ר חביב נוסף של התוכנה היא האפשרות להחליף לחלוטין את המראה שלה, על ידי החלפת קבצי תמונה (העתקה פשוטה), שגם הם כמובן בפורמט פתוח - PNG. יחד עם התוכנה ניתן להוריד גם מספר ערכות נושא, כמו דבורה שעפה לפרח, חלק מפזל שיש להשלים ועוד. בחרתי להדגיש דווקא תוכנה זו, משום שהיא מדגימה את כוחו של הקוד הפתוח המאפשר לפתח מוצרים שמתפתחים בזמן אמת ומתאימים את עצמם לדרישות המשתמשים, מבלי לנפח יתר על המידה את המערכת.
שפת הקודש
התפתיתי מאוד להתחיל את הסקירה עם עניין זה, מפני שעבורי מדובר בהפתעה הגדולה ביותר במכשיר החדש, אבל החלטתי לשמור את הדובדבן שעל הקצפת לסוף.
כל מי שאי פעם רכש פלאפון, נגן מוזיקה או מכשיר "חכם" אחר בחו"ל, יודע שבניגוד למחשב השולחני או הנייד, הוספת תמיכה בעברית אינה פשוטה כלל ולעיתים בלתי אפשרית לחלוטין.
בעיה זו כואבת במיוחד לחובבי מכשירים מסוג Pocket PC ו-Smartphone, אשר מבוססים על מערכת הפעלה Windows Mobile מבית Microsoft. משום מה, בחרה ענקית התכנה שלא לכלול בגרסה הניידת של מערכת ההפעלה שלה תמיכה בעברית. הפתרונות היחידים שקיימים למכשירים אלה, גם לדגמים הבודדים הזמינים דרך חברות הסלולר, הם תוכנות צד שלישי, שפותחו על ידי חברות שונות. פתרונות אלה אינם מושלמים ולעולם לא יגיעו לרמה של תמיכה עברית מובנית כמו שיש במערכות הפעלה ל-PC. גם אם ישקיעו חברות אלה רבות בפיתוח, ניסיון להוסיף פונקציית מערכת בסיסית חסרה דרך תכנה חיצונית, הוא כמו לנסות לנהוג ברכב מהמושב האחורי - זה אפשרי (עם מאמץ לא קטן) אבל ממש לא מומלץ!
כדי להבין את הבעיה יש להכיר את 3 הרכיבים הדרושים לתמיכה בכל שפה:
1. תצוגה - כדי להציג טקסט בשפות לטיניות (אנגלית, גרמנית וכו') מספיק פונט, קובץ המכיל תיאור של אותיות השפה, כדי שהמערכת תוכל להציג אותן על המסך. כשמדובר בשפה העברית זה לא מספיק. יש צורך במנגנון משוכלל שידע לסדר את הטקסט מימין לשמאל, כשהוא מתחשב בסימני פיסוק, מספרים וטקסט אנגלי, המעורבבים באותו משפט יחד עם טקסט עברי. מנגנון זה חייב להוות חלק בלתי נפרד מפונקציות מערכת המטפלות בטקסט, אחרת ייווצרו בשלב מסויים התנגשויות בקוד ותקלות (באגים) בתכנה.
2. קלט - יש צורך במקלדת ספציפית לכל שפה, כדי שניתן יהיה להזין מידע למכשיר בשפה המבוקשת. במכשירים בעלי מסך מגע וללא מקלדת חומרה המקלדת היא מקלדת ווירטואלית, שהיא בעצם תכנה קטנה שאינה חייבת להיות חלק מהמערכת. כמובן שגם כאן חשוב המנגנון שהזכרתי בסעיף 1. טקסט קיים, כמו שמות של תכניות, ניתן לסדר מראש כדי שגם ללא היפוך יראה נכון. למשל כותבים "םולש" במקום "שלום", והמלה מופיעה על המסך בצורתה הנכונה. באתרי אינטרנט מעטים משתמשים עדיין בסגנון עבודה זה, והוא נקרא "עברית ויזואלית". לעומת זאת, בזמן הקלדה לא ניתן לצפות מהמשתמש לכתוב הפוך, ולכן כאן מנגנון היפוך ברמת המערכת חשוב ביותר. חשיבות נוספת יש לכך שהסמן "ידע" לזוז בכיוון ובמקום הנכונים כדי שלא יהיה צורך לנחש היכן תופיע האות הבאה.
3. ממשק - בעוד שרכיב זה אינו חובה וחלק מהמשתמשים משתדלים להימנע ממנו, אף חברה המכבדת את עצמה, לא תשווק טלפון או מוצר חכם דומה, אם כל התפריטים והטקסט בתכנות אינם בשפה המקומית. יש גם לזכור שלא כל המשתמשים במכשירים אלה יודעים אנגלית ברמה טובה ואין סיבה שהאנגלית תהיה אחד מתנאי השימוש.
בעוד שהכנסת פונטים ותרגום ממשק הן פעולות שאינן דורשות ידע בתכנות, וקיים ידע מספיק כדי ליישם אותן עבור מערכות הפעלה שונות לטלפונים חכמים שקיימות היום, ההיפוך אותו הזכרתי, הוא הבעייתי ביותר, אם לא נכלל מראש במערכת עצמה.
וכאן ההפתעה הגדולה ביותר הטמונה במכשיר זה: לא רק שהמערכת כוללת מראש פונט מתאים ויכולה להציג תווים עבריים, אלא שאותו מגנון יקר של היפוך נכלל בה, והיא אף יודעת להצמיד ברשימות טקסט עברי לימין.
התמונות לעיל הם של נגן המדיה, המסוגל להציג הן שמות קבצים עבריים והן מידע מתוך קובץ MP3 עצמו בעברית בזמן השמעת השיר. מעניין שחברה קטנה מטייוואן חשבה במושגים עולמיים, ויישמה* מלכתחילה יישום קטן אבל חשוב, בעוד שחברת ענק עולמית (מיקרוסופט) התעלמה ממנו לאורך שנים ובמשך 6 גרסאות של מערכת הפעלה (Windows Mobile).
פיתוח תכנה
במבט ראשון נושא זה צריך לעניין רק אנשי מחשבים עם ידע בתכנות ו"פריקים" של ממש לענייני גאדג'טים. אבל בפועל נודעת לו חשיבות רבה דווקא למשתמש הרגיל, גם אם מימיו לא כתב תוכנה, או אינו מתכוון לעשות זאת. אין זה סוד שהצלחתו של מחשב כף יד, טלפון חכם או כל מוצר דומה, תלויה במידה רבה בכמות הישומים הזמינים, ועוד יותר טוב אם קיים מבחר של תכנות המחולקות חינם, על מנת שאותו משתמש יוכל להיווכח ביכולות המכשיר טרם שהוא משקיע במוצרים נלווים.
לא לחינם גוגל מציעה היום פרסים בשווי של 10 מליון דולר (כן, 10,000,000$) למי שיפתח את התכנה הנחשקת ביותר למערכתה הפעלה החדשה שלהם, וזאת עוד לפני יציאת המכשיר לשוק.
מערכת ההפעלה OpenMoko בהיותה הפצת לינוקס לכל דבר ועניין, מקיימת שני כללים חשובים המבטיחים שעד מהרה יצטבר מאגר ענק של תכנות, אשר יענו על כל תחום ושימוש אפשריים למכשיר (ואולי גם יציעו כמה שימושים חדשים שאפילו היצרן עדיין לא חשב עליהם).
- כלי הפיתוח, הדרושים לכתיבת תכנות למערכת זו, פתוחים וניתנים חינם, וזמינים לכל אחד בכל מקום דרך הורדה פשוטה מהאינטרנט. רישיון ה-GPL שלהם יבטיח שהם ימשיכו להיות זמינים וחופשיים.
- ממשק התכנות של המערכת והמבנה הכללי שלה זהים כמעט לחלוטין להפצות לינוקס למחשב השולחני. פירוש הדבר, שכל מי שלמד פיתוח תכנות לסביבת לינוקס יוכל לפתח תכנות עבור מכשירים שמריצים OpenMoko כמעט באופן מיידי, ללא צורך להשקיע בלימוד מערכת חדשה.
מעט פרטים טכניים:
כדי לקמפל קוד ל-Neo יש צורך ב-GCC, cross-compiler אשר מאפשר לקמפל קוד לארכיטקטורת ARM על מערכת x86. כאמור, זהו כלי חופשי בקוד פתוח.
ה-OpenMoko משתמש בלינוקס בגרסה 2.6.22.5 והמערכת הגרפית כוללת את Matchbox (מנהל חלונות קל) ספריות X11 סטנדרטיות וממשק מבוסס +GTK.
למעשה, על אף שקיים אמולטור שמדמה את המכשיר על PC, לפי הוויקי ניתן לבחון את התכנות שלו ישירות על המחשב השולחני, על ידי קימפול הקוד למעבד x86.
סיכום
מתברר, שהחלק הזה של הסקירה הוא הקשה ביותר לכתיבה. לו זו סקירה רגילה, הייתי מתמצת בפשטות את היתרונות והחסרונות של המכשיר, ואולי אפילו נותן לו ציון. אבל כדי לעשות זאת צריך להשוות אותו למכשירים אחרים בשוק. כפי שכבר ציינתי המכשיר נועד לפיתוח ומחקר. למיטב ידיעתי זוהי הפעם הראשונה בו מכשיר שנוצר למטרה זו זמין ללקוחות פרטיים.
לפני שניגשתי לסכם בדקתי שוב את אתר הפרוייקט וגיליתי שהם פרסמו קבצי CAD למכשיר, על מנת לאפשר למי שירצה לעצב את המארז שלו מחדש, לבצע זאת ביתר קלות. בפרסום הם כתבו "If you can’t open it, you don’t own it" או בעברית "אם אינך יכול לפרק אותו, אתה לא באמת הבעלים שלו".
מכשיר ה-Neo 1973, יחד עם מערכת הפעלה OpenMoko, מייצגים את הסנונית הראשונה בתעשיית הטלפונים של דרך חשיבה חדשה, שכבר תופסת תאוצה במקומות אחרים: למכור יותר על ידי מתן שליטה ללקוח במוצר שהוא רוכש, במקום להכריח אותו לשלם יותר בעזרת הגבלות טכנולוגיות. תעשיית המוזיקה כבר הבינה את הרמז וויתרה על ה-DRM (מערכת הגנה המונעת ניגון קבצי מוזיקה במכשיר שונה מזה עבורם נרכש). חברות תכנה רבות וגדולות כמו RedHat ו-Cannonical (מפיצת Ubuntu) בנו את עצמן על מוצרים בקוד פתוח ובדרך גם תרמו לקהילה.
וכמובן איך אפשר שלא להזכיר את גוגל. לא רק שהיא הצליחה לעשות הון משירותים חינמיים כמו חיפוש, דוא"ל, וידאו ועוד, כיום היא נכנסת גם לתחום הסלולר עם מערכת הפעלה חדשה בשם Android, שאמורה בסופו של דבר להיות זמינה כקוד פתוח. ולצורך כך היא ייסדה את "Open Handset Alliance", קונסורציום חברות הכולל שמות גדולים, בהם Motorola, LG, Samsung HTC, Nvidia ועוד.
ישנם דברים נוספים רבים שאפשר לומר על יתרונות הקוד הפתוח בפרט ויישום פתיחות וסטנדרטים לתעשייה הטכנולוגית בכלל, אך לא זה המקום לכך. למי שמעוניין להבין את המשמעות האמתית של הקוד הפתוח ולהכיר את היתרונות והחסרונות של שיטת פיתוח זו מול השיטה של "קוד סגור", אני ממליץ לקרוא את הספר "הקתדרלה והבזאר".
מכשיר ה-Neo1973 עצמו הוא כלי פיתוח וניסוי מצויין גם למפתחים הפרטיים, הנותן להם גישה ברמה זהה לזו שהייתה זמינה עד היום רק במעבדות יצרניות הטלפון. מערכת OpenMoko היא פלטפורמה גמישה ונוחה ליצרניות הרוצות לתכנן ולנסות חומרה חדשה. ביחד הם הצעצוע האולטימטיבי לחובבי הגדג'טים בייחוד ל"Hard Core" שביניהם, שפשוט חייבים לדעת איך כל דבר סביבם עובד.
המשתמשים הרגילים יאלצו להמתין עד 2009 (אז גם טלפונים מבוססי Android אמורים כבר לצאת לשוק), על מנת לרכוש את FreeRunner, הדור הבא של מכשיר הטלפון, המיועדת עבורם ואמורה לכלול גם WiFi, מצלמה, מעבד מהיר, מאיץ גרפי ועוד.
יהיה מעניין.
אודות המחבר
הסקירה נכתבה על ידי לב מ., מפתח תוכנה למכשירי Embedded מבוססי Windows CE ו-Windows Mobile. תודתנו לצוות PDAce. עריכה: אורי שרף.
מידע נוסף
מכשירי OpenMoko המריצים את מערכת ההפעלה שפותחה על ידי הפרוייקט: Neo1973 (GTA01), FreeRunner (GTA02), DashExpress (HXD8)
לינוקס ב-iPaq ובמכשירים אחרים
מוטורולה בחרה ב-Qtopia (וידאו)
Greenphone: "סמארט-פון" חדש של טרולטק
OpenMoko: בחזרה לשולחן העבודה
E17 על Neo1973/OpenMoko (וידאו)
גוגל מבטיחה תאימות של Android; פונטים מ-Ascender
* תמיכה בעברית פותחה על ידי פרוייקט GTK ואינה ייחודית ל-OpenMoko
תמונות: לב מ., פרוייקט OpenMoko