מסמך זה מכיל תשובות לשאלות כלליות על פלטפורמת הקוד הפתוח של אנדרואיד (AOSP).
שאלות בקוד פתוח
מדוע גוגל פתחה את קוד המקור של אנדרואיד?
גוגל התחילה את AOSP בתגובה לחוויות שלנו בהשקת אפליקציות לנייד. רצינו לוודא שתמיד תהיה פלטפורמה פתוחה זמינה עבור ספקים, יצרני OEM ומפתחים לשימוש כדי להפוך את הרעיונות החדשניים שלהם למציאות. רצינו גם להימנע מכל נקודת כישלון מרכזית, כך שאף שחקן בתעשייה לא יוכל להגביל או לשלוט בחידושים של אף אחד אחר. המטרה החשובה ביותר שלנו עם ה-AOSP היא לוודא שתוכנת אנדרואיד בקוד פתוח מיושמת בצורה רחבה ותואמת ככל האפשר, לטובת כולם.
איזה סוג של פרויקט קוד פתוח הוא אנדרואיד?
גוגל מפקחת על פיתוח הליבה של AOSP ופועלת ליצירת קהילות מפתחים ומשתמשים חזקות. לרוב, קוד המקור של אנדרואיד מורשה תחת רישיון Apache המתיר 2.0, במקום רישיון copyleft . בחרנו ברישיון Apache 2.0 מכיוון שאנו מאמינים שהוא מעודד אימוץ נרחב של תוכנות אנדרואיד. לפרטים, ראה רישיונות .
מדוע גוגל אחראית על אנדרואיד?
השקת פלטפורמת תוכנה היא מורכבת. פתיחות היא חיונית להצלחה ארוכת טווח של פלטפורמה, מכיוון שפתיחות מושכת השקעות ממפתחים ומבטיחה מגרש משחק שווה. הפלטפורמה חייבת להיות גם מוצר משכנע למשתמשים.
גוגל הטילה את המשאבים ההנדסיים המקצועיים הדרושים כדי להבטיח ש-Android היא פלטפורמת תוכנה תחרותית לחלוטין. גוגל מתייחסת לפרויקט אנדרואיד כאל פעולת פיתוח מוצר בקנה מידה מלא ומבצעת את העסקאות הדרושות כדי לוודא שמכשירים מעולים עם אנדרואיד יגיעו לשוק.
על ידי שמירה על הצלחה של אנדרואיד בקרב המשתמשים, אנו עוזרים להבטיח את החיוניות של אנדרואיד כפלטפורמה וכפרויקט קוד פתוח. אחרי הכל, מי רוצה את קוד המקור למוצר לא מוצלח?
המטרה שלנו היא להבטיח מערכת אקולוגית מוצלחת סביב אנדרואיד. פתחנו את קוד המקור של אנדרואיד כך שכל אחד יכול לשנות ולהפיץ את התוכנה כדי לענות על הצרכים שלו.
מהי האסטרטגיה הכוללת של גוגל לפיתוח מוצרי אנדרואיד?
אנו משחררים מכשירים מעולים לשוק תחרותי. לאחר מכן אנו משלבים את החידושים והשיפורים שעשינו בפלטפורמת הליבה כגרסה הבאה.
בפועל, זה אומר שצוות ההנדסה של אנדרואיד מתמקד במספר קטן של מכשירי "ספינת דגל" ומפתח את הגרסה הבאה של תוכנת אנדרואיד כדי לתמוך באותן השקות מוצרים. מכשירי הדגל הללו סופגים חלק ניכר מהסיכון של המוצר ופורצים דרך עבור קהילת OEM הרחבה, שעוקבת אחר מכשירים נוספים המנצלים את התכונות החדשות. בדרך זו, אנו מוודאים שפלטפורמת האנדרואיד מתפתחת בהתאם לצרכים של מכשירים בעולם האמיתי.
איך מפתחים תוכנת אנדרואיד?
לכל גרסת פלטפורמה של אנדרואיד (כגון 1.5 או 8.1) יש ענף מתאים בעץ הקוד הפתוח. הסניף העדכני ביותר נחשב לגרסת הסניף היציב הנוכחית . זה הסניף שיצרנים פורטים למכשירים שלהם. סניף זה נשמר מתאים לשחרור בכל עת.
במקביל, יש ענף ניסיוני נוכחי , שבו מפותחות תרומות ספקולטיביות, כמו תכונות גדולות של הדור הבא. ניתן לכלול תיקוני באגים ותרומות אחרות בענף היציב הנוכחי מהענף הניסיוני לפי הצורך.
לבסוף, גוגל עובדת על הגרסה הבאה של פלטפורמת האנדרואיד במקביל לפיתוח מכשיר דגל. ענף זה מושך שינויים מהענפים הניסיוניים והיציבים לפי הצורך.
לפרטים על קווי קוד, סניפים ומהדורות, ראה ניהול תוכנת אנדרואיד .
מדוע חלקים מאנדרואיד מפותחים באופן פרטי?
בדרך כלל לוקח יותר משנה להביא מכשיר לשוק. וכמובן, יצרני מכשירים רוצים לשלוח את התוכנה העדכנית ביותר שהם יכולים. בינתיים, מפתחים לא רוצים לעקוב כל הזמן אחר גרסאות חדשות של הפלטפורמה בעת כתיבת אפליקציות. שתי הקבוצות חוות מתח בין משלוח מוצרים לבין חוסר רצון לפגר.
כדי להתמודד עם זה, חלקים מסוימים של הגרסה הבאה של אנדרואיד כולל ממשקי API של פלטפורמת הליבה מפותחים בסניף פרטי. ממשקי API אלה מהווים את הגרסה הבאה של אנדרואיד. המטרה שלנו היא למקד את תשומת הלב בגרסה היציבה הנוכחית של קוד המקור של אנדרואיד בזמן שאנחנו יוצרים את הגרסה הבאה של הפלטפורמה. זה מאפשר למפתחים ויצרני OEM להשתמש בגרסה בודדת מבלי לעקוב אחר עבודה עתידית לא גמורה רק כדי לעמוד בקצב. חלקים אחרים במערכת אנדרואיד שאינם קשורים לתאימות אפליקציות מפותחים בשטח פתוח. אנו מתכוונים להעביר יותר חלקים אלה לפיתוח פתוח לאורך זמן.
מתי יוצאות קוד מקור?
כשהם מוכנים. שחרור קוד המקור הוא תהליך מורכב למדי. חלקים מסוימים של אנדרואיד מפותחים באופן פתוח, וקוד המקור הזה זמין תמיד. חלקים אחרים מפותחים תחילה בעץ פרטי, וקוד המקור הזה משוחרר כאשר גרסת הפלטפורמה הבאה מוכנה.
בחלק מהגרסאות, ממשקי API של פלטפורמת הליבה מוכנים מספיק זמן מראש כדי שנוכל לדחוף את קוד המקור החוצה לבדיקה מוקדמת לפני שחרורו של המכשיר. במהדורות אחרות, זה לא אפשרי. בכל המקרים, אנו משחררים את מקור הפלטפורמה כאשר אנו מרגישים שהגרסה יציבה, וכאשר תהליך הפיתוח מאפשר זאת.
מה כרוך בשחרור קוד המקור עבור גרסת אנדרואיד חדשה?
שחרור קוד המקור לגרסה חדשה של פלטפורמת אנדרואיד הוא תהליך משמעותי. ראשית, התוכנה מובנית בתוך תמונת מערכת עבור מכשיר ועוברת צורות שונות של הסמכה, כולל הסמכה רגולטורית ממשלתית לאזורים שבהם הטלפונים ייפרסו. הקוד עובר גם בדיקות מפעיל. זהו שלב חשוב בתהליך, מכיוון שהוא עוזר לזהות באגים בתוכנה.
כאשר המהדורה מאושרת על ידי הרגולטורים והמפעילים, היצרן מתחיל בייצור המוני של מכשירים, ואנו מתחילים לשחרר את קוד המקור.
במקביל לייצור המוני, צוות גוגל מתחיל בכמה מאמצים להכין את מהדורת הקוד הפתוח. מאמצים אלה כוללים ביצוע שינויים אחרונים ב-API, עדכון תיעוד (כדי לשקף את כל השינויים שבוצעו במהלך בדיקת ההסמכה, למשל), הכנת SDK לגרסה החדשה והשקת מידע תאימות הפלטפורמה.
הצוות המשפטי שלנו מבצע חתימה סופית כדי לשחרר את הקוד לקוד פתוח. בדיוק כפי שתורמים בקוד פתוח נדרשים לחתום על הסכם רישיון תורמים המעיד על בעלותם על הקניין הרוחני על תרומתם, Google חייבת לאמת שהמקור קיבל אישור לתרום.
מרגע שהייצור ההמוני מתחיל, תהליך שחרור התוכנה נמשך בדרך כלל כחודש, כך ששחרור קוד המקור מתרחש לעתים קרובות בערך באותו זמן שהמכשירים מגיעים למשתמשים.
איך ה-AOSP קשור לתוכנית התאימות לאנדרואיד?
ה-AOSP מתחזק תוכנת אנדרואיד, ומפתח גרסאות חדשות. מכיוון שהיא בקוד פתוח, ניתן להשתמש בתוכנה זו לכל מטרה, כולל פיתוח מכשירים שאינם תואמים להתקנים אחרים המבוססים על אותו מקור.
תפקידה של תוכנית התאימות לאנדרואיד הוא להגדיר יישום בסיסי של אנדרואיד התואם לאפליקציות של צד שלישי שנכתבו על ידי מפתחים. מכשירים התואמים ל- Android זכאים להשתתף במערכת האקולוגית של Android, כולל Google Play; מכשירים שאינם עומדים בדרישות התאימות קיימים מחוץ למערכת האקולוגית הזו.
במילים אחרות, תוכנית התאימות לאנדרואיד היא הדרך בה אנו מפרידים בין מכשירים תואמי אנדרואיד לבין מכשירים שרק מריצים נגזרות של קוד המקור. אנו מברכים על כל השימושים בקוד המקור של אנדרואיד, אך כדי להשתתף במערכת האקולוגית של אנדרואיד, יש לזהות מכשיר כתואם לאנדרואיד על ידי התוכנית.
איך אני יכול לתרום לאנדרואיד?
אתה יכול לדווח על באגים, לכתוב אפליקציות לאנדרואיד או לתרום קוד מקור ל-AOSP.
יש מגבלות לסוגי תרומת הקוד שאנו מקבלים. לדוגמה, מישהו עשוי לרצות לתרום API חלופי לאפליקציה, כגון סביבה מלאה מבוססת C++. היינו דוחים את התרומה הזו, כי אנדרואיד מעודדת הפעלה של אפליקציות בזמן הריצה של ART. באופן דומה, לא נקבל תרומות כגון ספריות GPL או LGPL שאינן תואמות את יעדי הרישוי שלנו.
אנו מעודדים את המעוניינים לתרום קוד מקור ליצור איתנו קשר דרך הערוצים הרשומים ב- Android Community לפני תחילת עבודה כלשהי. לפרטים, ראה תרומה .
איך אני הופך למחבר אנדרואיד?
ל-AOSP אין ממש מושג של מחויב. כל התרומות (כולל אלה שנכתבו על ידי עובדי גוגל) עוברות דרך מערכת מבוססת אינטרנט הידועה בשם Gerrit שהיא חלק מתהליך ההנדסה של אנדרואיד. מערכת זו פועלת במקביל למערכת ניהול קוד המקור Git לניהול נקי של תרומות קוד מקור.
מאשר ייעודי צריך לקבל את כל השינויים שנשלחו. המאשרים הם בדרך כלל עובדי Google, אך אותם מאשרים אחראים לכל ההגשות, ללא קשר למקור.
לפרטים, ראה הגשת תיקונים .