בדף הזה נסביר על שתי משימות חשובות של שותפים ליצירת תוכן: חתימה על הסכמי רישיון של שותפים ליצירת תוכן ודאגה לשימוש נכון בכותרות הרישוי בקוד.
חתימה על הסכמי רישיון של שותפים תורמים
כל שותף שמוסיף רעיונות, קוד או מסמכים לפרויקט Android Open Source Project (AOSP) צריך למלא, לחתום ולשלוח את הסכם הרישיון של שותף ספציפי. אפשר לחתום על ההסכם הזה אונליין באמצעות כלי בדיקת הקוד. ההסכם מגדיר את התנאים לתרומת קניין רוחני ל-AOSP. הרישיון הזה נועד להגן עליכם כתורמים וגם להגן על הפרויקט. הוא לא משנה את הזכויות שלכם להשתמש בתרומות שלכם למטרות אחרות.
הסכם הרישיון לתורמים תאגידיים זמין לתאגיד (או לישות אחרת) שיש לו עובדים שעובדים ב-AOSP. הגרסה הזו של ההסכם מאפשרת לתאגיד לאשר תרומות שנשלחות על ידי העובדים הייעודיים שלו ולהעניק רישיונות זכויות יוצרים ורישיונות פטנטים.
הסכמי הרישיון של Google לתורמים מבוססים על הסכמים שבהם משתמשת קרן התוכנה Apache, שאפשר למצוא באתר של Apache.
הוספת כותרות של רישיונות
בתוכנות של פרויקט קוד פתוח של Android (AOSP) נעשה שימוש בכמה רישיונות קוד פתוח שאושרו על ידי התוכנית לקוד פתוח.
רישיון Apache, גרסה 2.0 (Apache 2.0) הוא הרישיון המועדף ל-AOSP, ורוב תוכנות Android מורשות ברישיון Apache 2.0. אנחנו שואפים לפעול בהתאם לרישיון המועדף, אבל יש החרגות, שאנחנו מטפלים בהן על בסיס כל מקרה לגופו. לדוגמה, התיקונים לליבה של Linux נמצאים ברישיון GPLv2 עם החרגות למערכת, וניתן למצוא אותם ב-The Linux Kernel Archives.
בתוכנות של מרחב המשתמש (לא ליבה), Google מעדיפה את Apache 2.0 (ורישיונות דומים כמו BSD ו-MIT) על פני רישיונות אחרים כמו GNU Lesser General Public License (LGPL). הנה תיאור הסיבות לכך:
Android מייצגת חופש ובחירה. מטרת Android היא לקדם פתיחות בעולם הסלולר, ו-Google לא יכולה לחזות או לקבוע את כל השימושים בתוכנה שלנו. לכן, אף על פי ש-Google מעודדת את כולם ליצור מכשירים פתוחים שניתן לשנות אותם, אנחנו לא חושבים שזה התפקיד שלנו לאלץ אותם לעשות זאת. השימוש בספריות LGPL יכול להיות מגביל. ריכזנו כאן כמה מהחששות הספציפיים שלנו:
במילים פשוטות, LGPL מחייב שליחת המקור לאפליקציה, הצעה בכתב למקור או קישור דינמי לספרייה עם LGPL, שמאפשר למשתמשים לשדרג או להחליף את הספרייה באופן ידני. בדרך כלל, תוכנת Android נשלחת כקובץ אימג' סטטי של מערכת, ולכן תאימות לדרישות האלה מגבילה את העיצובים של יצרני המכשירים. לדוגמה, קשה למשתמש להחליף ספרייה באחסון פלאש לקריאה בלבד.
LGPL מחייב לאפשר ללקוחות לבצע שינויים ולבצע הנדסה לאחור כדי לנפות באגים בשינויים האלה. רוב יצרני המכשירים לא רוצים להיות כפופים לתנאים האלה.
בעבר, ספריות LGPL היו המקור לבעיות תאימות רבות של יצרני מכשירים ומפתחי אפליקציות במורד הזרם. קשה וגוזל זמן רב ללמד מהנדסים על הבעיות האלה. כדי ש-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.