GPLv2 וההפרה שלו על ידי Xiaomi

גלה כיצד Xiaomi מפרה את תנאי GPL, וכיצד ההחלטות שלה לעשות זאת משפיעות על קהילת אנדרואיד ועל עתיד מערכת ההפעלה.

Xiaomi הכריזה על ה-Mi Note Pro עם המפרט המרהיב שלה, הכולל את האחרונה במעבדי Snapdragon של קוואלקום לצד צג 2K גדול ו-4GB של זיכרון RAM במחיר קטלני. עם זאת, יש משהו לא כל כך טוב בהצעות של Xiaomi שמדאיג מפתחים רבים, במיוחד רבים נמצא כאן ב-XDA: ההפרות החוזרות ונשנות של שיאומי של רישיון GPLv2 עבור ליבת הלינוקס שאנדרואיד (ולכן המכשירים של שיאומי), היא בנוי על.

שיאומי כן לא החברה היחידה שהפרה את GPL עם זאת, ובעבר יצרני OEM רבים כמו Rockchip ו-Micromax עשו זאת גם הם, כאשר רבים ממשיכים בהתנהגותם מחוץ לחוק עד היום. אָנוּ דיבר קצת על זה ב-XDA, ולמה שלא נעשה זאת? XDA היא בעיקר קהילת מפתחים ואנו ידועים בכך שאנו מספקים לאלפי משתמשים חזקים שינויים בתוכנה שנכללת ב-GPL, אך הקהילה שלנו עוקבת אחר כך. מדיניות GPL שלנו ולכן אנחנו לא רואים כאן הרבה ניכוס מפוקפק.

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

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

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

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

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

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

אין מלכוד. אבל יש דברים שמעצבנים יצרני OEM. האנשים שמנסים לשנות תוכנה חופשית ברישיון GPL צריכים לציית לכללים מסוימים.

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

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

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

אנדרואיד מורשה תחת אפאצ'י 2.0 רישיון, ולא GPL. Apache הוא רישיון "מתירני" יותר ואינו כולל את אותן דרישות כמו GPL. זה לא מחייב אותך להפיץ את קוד המקור של עבודה מכוסה, ואת העבודה הנגזרת לא בהכרח נושא את רישיון ה-Apache, כמו ה-GPL הוויראלי יותר, כל עוד אתה כולל את רישיון.

אז בעוד ש-GPL מקדמת את הצמיחה של תוכנה חופשית, Apache היא יותר ליברטריאנית עם הגישה שלה לאופן שבו התנאים של גזירות עתידיות מתפתחות. ויצרני OEM יכולים, למשל, לקחת תוכנה ברישיון Apache, להוסיף את הסקינים שלהם, להתנפח ומה-יש לך, ואז לסגור אותה ולהשאיר את המקור סגור. וזה מה ש-Xiaomi ויצרני OEM רבים עושים. אבל ליבת הלינוקס שעליה אנדרואיד מבסס את היסודות שלה היא לֹא מורשה תחת Apache, עבור לינוקס הוא GPLv2 תוכנה ובשל המאפיין ה"ויראלי" או ה"זיהומי" הזה של GPLv2, הליבה מבוססת לינוקס של אנדרואיד המשתמשת בקוד GPLv2 של לינוקס יש ל להישאר GPLv2.

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

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

היו עתירות כדי לגרום ל-Xiaomi לציית ל-GPLv2 ולשחרר את המקורות שלהם בזמן, אבל עד כה הם רק הצליחו להשיג לנו הבטחות. והבטחות אלו עדיין לא קוימו. הוגו בארה, סגן נשיא Xiaomi, הבטיח באוקטובר 2014 שנראה מקורות ליבה עבור ה-Mi3 ב "בשבועות הקרובים", אבל זה מעולם לא קרה. יתרה מכך, בדצמבר של השנה שעברה הם אמרו שהמקורות שלהם יפורסמו לא ב-2014, אבל בשנת 2015.

מדוע Xiaomi לא פרסמה את המקורות עבור מכשיר ה-Mi3 שלהם בזמן הנכון? הוגו בארה אמר בדצמבר שהם לא עשו זאת כדי למנוע דליפת מידע במכשירים הקרובים שלהם. הוא אומר:

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

האם זה מצדיק את מעשיהם? ברור שלא. הם יצרנים מיליארדרים בתעשיית מיליארדרים, והם ידעו היטב שהקוד שלהם פועל תחת התנאים של GPLv2 ושהם חייבים לציית לו. ב -2013 יצאה הודעה מתהדר בגאווה בקוד הפתוח של Xiaomi Kernel. הם עשו עסקה גדולה בכך שמפתחים יוכלו להתאים אישית ROM עבור סמארטפונים של Xiaomi, והמתנצלים שלה ציינו את Xiaomi כ"הכל על שיתוף קוד פתוח של קוד". מהר קדימה שנה וקודי המקור שלהם מתעכבים מסיבות לא מוצדקות, כאשר מקורות הליבה שלהם היו צריכים להיות מופצים ל צרכנים מההתחלה, בלי לחכות שהצרכנים ירדפו אחריהם עם קלשונים ובלי לירוק להם בפרצוף באבסורד עיכובים. וזה אפילו לא לוקח בחשבון את עבודתם של אלו שהלכו לפניהם, ואת הפתגם שיאומי (וכל יצרני יצרן אחר שלא עוקב אחר GPLv2) לוקחים עליהם כל פעם שהם משחררים חדש התקן.

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

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

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

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

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