מכשיר אנדרואיד חופשי

אם היו מספרים בעשור הראשון של שנות האלפיים שכבר בעשור שלאחריו מערכת־ההפעלה הנפוצה ביותר תהיה מבוססת לינוקס זה היה נשמע כמו נבואה בסגנון „השנה הולכת להיות השנה שבה (גנו־)לינוקס תכבוש את שולחן העבודה”. אבל זה קרה: אנדרואיד היא מערכת־ההפעלה הנפוצה ביותר, היא מבוססת על לינוקס והיא בקוד פתוח. הסיפא של המשפט האחרון היא חצי שקר; נכון, אנדרואיד בקוד פתוח, אבל רק מעטים באמת משתמשים במערכת חופשית נקיה ללא רכיבים קנייניים סגורים. קשה מאוד להשיג טלפון שלא הותקנו עליו מראש תוכנות לא חופשיות: בין אם מדובר בכאלה שנחשבות בסיסיות (כמו Google Play) או בג׳אנק המעיק של יצרני הטלפונים שאי אפשר להסיר ואף אחד לא משתמש בו.

1. רקע

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

קופסאות שחורות כאלה (תוכנות בקוד סגור) הן בעייתיות מכמה סיבות:

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

2. מערכת אנדרואיד חופשית

עכשיו כשברור למה תוכנות חופשיות זה נפלא, בואו נִראה איך אפשר לגרום לטלפונים שלנו להיות כמה שיותר חופשיים ובטוחים.

2.1. הפצה

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

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

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

הפצה אחרת, שאין לי נסיון איתה בכלל, היא Ressurection Remix OS. היא נראית פחות ידידותית להתקנה למי שאין להם כבר נסיון קודם אבל יש לה את היתרון שהיא תומכת במכשירים ש־LineageOS לא תומכת בהם.

2.2. התקנת חבילות

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

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

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

2.3. אפליקציות מומלצות

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

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

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

F-Droid. צבת בצבת עשויה

Fennec F-Droid. גרסה של פיירפוקס בלי רכיבים קנייניים לא חופשיים.

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

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

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

Markor. האפליקציה שאני משתמש בה לרשימות ותזכורות.

MuPDF Mini. קורא PDF מינימליסטי.

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

Obsqr. קורא QR. אני משתמש ב־QR כדי להעביר בקלות ובמהירות מידע טקסטואלי מהמחשב לטלפון. סידרתי סקריפטון שלוקח את מה שיש בקליפבורד ומציג אותו כקוד שאותו אני יכול לקרוא עם הטלפון: qrencode -s 1 -m 2 -o /tmp/qr.png "$(xclip -o)"; feh /tmp/qr.png --force-aliasing -F -Z; rm /tmp/qr.png בטוח שיש דרכים יותר מתוחכמות ואלגנטיות להעביר מידע טקסטואלי מהמחשב לטלפון, אבל בשביל מה שאני צריך זה עובד ונוח, ולא דורש שום קינפוג וחיבור של המחשב והטלפון באיזשהו פרוטוקול מסרבל; העברה של נתונים במהירות האור… את הסקריפט אני מפעיל בלחיצת כפתור עם sxhkd.

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

OsmAnd~. אפליקציה נהדרת לניווט. היא הפכה את ההתניידות שלי במקומות שאני לא מכיר לכל כך יותר נעימה וקלה עד שכתבתי עליה דף הסבר.

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

RadioDroid. אפליקציה להאזנה לרדיו באינטרנט. זאת דרך נהדרת להכיר מוזיקה חדשה ולהקשיב לתוכניות בשפות שאני לומדאני מקשיב ל־NRK בנורווגית ול־BBC Radio Cymru בוולשית. ב־NRK אני מקשיב בעיקר ל־NRK Klassisk,‏ NRK Folkemusikk ו־NRK Jazz: גם בשביל המוזיקה וגם בשביל התוכן של המלל; ל־NRK Sápmi אני מקשיב בשביל המוזיקה אבל אני לא יודע סאמי (אם כי זאת שפה יפיפיה מבחינת הצליל שלה).. יש משהו נחמד בלתת למישהי/ו אחר.ת לבחור את המוזיקה, ולבחור לא במוזיקה עצמה אלא במי שבוחר.ת אותה (כלומר, איזו תחנה). כל הקטלוג של Community Radio Browser זמין, כ־25 אלף תחנות.

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

Signal. תוכנת המסרים המידיים החביבה עלי. את WhatsApp אני לא אוהב בגלל שהיא בקוד סגור, ואת Telegram בגלל שיש בה סטיקרים שמחפיצים נשים, בגלל שמנגנון ההצפנה שלה בעייתי ובגלל שהשרתים שלה בקוד סגור. את קובץ ה־APK של סיגנל אפשר להוריד מכאן.

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

TIC-80. מחשב קטן שאפשר לתכנת ב־Lua. כמו PICO-8 רק בקוד פתוח.

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

Tor Browser. דפדפן לשימוש ביחד עם Orbot. השימוש ב־Tor Browser אמור לשמור על הפרטיות יותר מאשר סתם לגלוש דרך דפדפן רגיל: כל מני שיטות לזיהוי ואיכון שעובדות על דפדפנים רגילים אמורות להחסם במידה זו או אחרת של הצלחה.

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

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

2.4. מה לעשות אם בכל זאת צריך להשתמש באפליקציה מ־Google Play?

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

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

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

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