כותרות והסכמי רישיון של תורמים

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

חתימה על הסכמי רישיון לתורמים

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

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

Google מבססת את הסכמי הרישיון שלה לתורמים על סמך הסכמי רישיון התוכן Apache Software Foundation, שיכול ניתן למצוא אתר Apache.

כולל כותרות רישיונות

פרויקט הקוד הפתוח של Android (AOSP) משתמש בכמה קוד פתוח שאושר על ידי יוזמת קוד פתוח רישיונות לתוכנה שלנו.

רישיון Apache, גרסה 2.0 (Apache 2.0) הוא הרישיון המועדף ל-AOSP, ורוב מכשירי Android תוכנות ברישיון באמצעות Apache 2.0. אומנם הפרויקט שואף לפעול בהתאם לרישיון מועדף, יש חריגים, והטיפול בכל מקרה לגופו במצב בסיסי. לדוגמה, תיקוני הליבה של Linux נכללים ברישיון GPLv2 עם חריגים במערכת, מופיעים ארכיון הליבה של Linux

בתוכנות מרחב משתמש (שאינן ליבה) Google מעדיפה את Apache 2.0 (וגרסאות דומות רישיונות כמו BSD ו-MIT) על פני רישיונות אחרים כמו GNU Lower General רישיון ציבורי (LGPL). הנה תיאור הסיבות לכך:

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

    • במילים פשוטות, לפי ה-LGPL נדרשת משלוח של המקור לאפליקציה. A הצעה בכתב עבור מקור; או לקשר את הספרייה בעלת ה-LGPL באופן דינמי ולאפשר למשתמשים לשדרג או להחליף את הספרייה באופן ידני. תוכנת Android היא נשלחים בדרך כלל כתמונת מערכת סטטית, שמגבילות את העיצובים של יצרן המכשירים. לדוגמה, למשתמש קשה להחליף ספרייה באחסון Flash לקריאה בלבד.

    • לפי דרישות LGPL, צריך לאשר שינוי לקוחות והנדסה הפוכה לניפוי באגים בשינויים האלה. רוב יצרני המכשירים לא רוצים להיות כפופים בתנאים האלה.

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

החששות האלה לא כוללים ביקורת על LGPL או על רישיונות אחרים. Google מעריכה את זה את כל רישיונות הקוד הפתוח והחינמי, ומכבדים את העדפות שלכם. Google החליטה ש-Apache 2.0 היא המתאימה ביותר ליעדים שלנו.

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

כדאי לפעול לפי השיטות המומלצות הבאות לגבי זכויות יוצרים וכותרת הרישיון:

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

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

    Copyright (C) yyyy The Android Open Source Project
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.