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

במשך שנים iOS הייתה גן סגור – ואנדרואיד הייתה גן עדן פתוח לגיקים, מפתחי רומים, וסתם משתמשים שרצו קצת מעבר. הגישה הזו של גוגל הביאה להרבה בעיות אבטחה, אך בגרסאות האנדרואיד המודרניות בגדול נראה שגוגל מצאה את האיזון הנכון: הBootloader הנעול, שצריך להבין מה אתה עושה כדי לפתוח אותו; מצב מפתחים שבשביל להגיע אליו צריך ללחוץ 7 פעמים על הBuild number, ואפילו התקנת אפליקציות מחוץ לחנות (Sideloading) היה תהליך מאובטח יחסית – המשתמש היה צריך לאשר התקנת אפליקציות מהמקור הספציפי (למשל, F-droid) ורק אז יכל להתקין. שלא לדבר על זה שבמכשירים רבים היה את Play protect שסיפק אזהרות על קבצי APK חשודים ובמקרה כזה המשתמש היה צריך ללחוץ על עוד מקש אישור.

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

כמובן, גוגל אומרים שזה כדי לשפר את האבטחה – ככותרת הפוסט בבלוג שלהם - A new layer of security for certified Android devices. אבל בואו לא נהיה תמימים, כמו שהסברנו למעלה, בתכל’ס התהליך מאובטח מספיק היום ומי שיודע מה הוא עושה – מה הבעיה לאפשר לו?

אז נצלול קצת למשמעות של המהלך הזה, ואיך זה פשוט יכניס עוד כסף לגוגל. ברמה הכי פשוטה – אין יותר חנויות אפליקציות מתחרות. אין F-droid וכדומה. יש רק Google Play. אין אפליקציות קוד פתוח פשוטות להורדה, כל מי שרוצה שהאפליקציה שלו תהיה זמינה למשתמשים – יצטרך להעלות אותה לGoogle Play. נכון להיום, מפתח משלם 25$ דמי הרשמה חד פעמיים, אך מה ימנע מגוגל להעלות את המחיר או לעשות אותו חודשי? ולמפתחים אין אלטרנטיבות! שלא לדבר על רכישת אפליקציות דרך Google Play – שוב, זה יסגור את האלטרנטיבות – שעמלה מכל עסקה כזו מגיעה לגוגל.

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

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

אה, וכן, זה גם יחסום הרבה מהאנשים שרוצים לקסטם את האנדרואיד שלהם קצת מעבר. האם אפליקציית Magisk לביצוע רוט תאושר? אולי. TopJohanWu, המפתח, עובד בגוגל. אבל מה לגבי Lucky Patcher, שכבר היום מזוהה כחשודה (אך עדיין ניתן לאשר התקנה) ? Mt Manager לעריכת אפליקציות? Xposed? האם אלו יאושרו? משום מה נראה לי שלא. אתם עדיין חושבים שאבטחה היא מה שמניע את גוגל למהלך הזה?

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

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

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

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

איזה כיף לנו!

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

א. אפשר לראות כמה הכעס מהקהילה מדאיג אותם.

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

אני מצרף כאן גם מדריך שהם שחררו לAndroid Developer Console. בהצלחה.