השינוי המתוכנן ברשיון Qt והשפעתו על המוצר שלכם
ידיעה שפורסמה היום בבלוג הרשמי של Qt מספרת על שינוי מתוכנן ברשיון השימוש החופשי ב Qt מרשיון LGPLv2 ל LGPLv3. למי שלא בקיא ברשיונות קוד פתוח אנסה להסביר בקצרה מה ההבדל והאם השינוי משפיע עליכם.
1. מגבלות על יצרני מכשירים
השינוי המהותי ביותר מתיחס למשהו שנקרא Tivoisation שזה מגבלות על מכשירים שמשתמשים בקוד פתוח (מלשון Tivo- קופסת הטלויזיה שמריצה לינוקס והובילה להוצאת גירסא 3 של רשיון GPL). הבעיה עם Tivo היא שלמרות שהמוצר כולו בקוד פתוח, משתמשי הקצה לא יכולים לשנות את הקוד ולהפעיל גירסא משודרגת שלהם מאחר והמכשיר עצמו לא מאפשר התקנת קוד משתמש לאחר רכישתו. כלומר אתם יכולים לראות את הקוד ולשנות אותו, אבל אם תקמפלו גירסא חדשה לא תוכלו להתקין אותה על המכשיר.
רשיון GPLv3 מתמודד עם מגבלה זו באמצעות הוספת מגבלה על ספריות קוד המוגנות בו שמחייבת יצרני חומרה שרוצים להשתמש בספריה לתת למשתמשים אפשרות להתקין גירסא חלופית או חדשה יותר של הספריה. מגבלה זו מופיעה גם ברשיון LGPLv3 אותו תאמץ Qt בגירסא 5.7.
מה שזה אומר שאם אתם מייצרים מכשיר סגור ומוכרים אותו ועל המכשיר יש יישום שלכם שכתוב ב Qt (ולכן גם את ספריית Qt עצמה), אתם מחויבים לתת למשתמש שקונה את הרכיב אפשרות לשדרג את ספריית Qt או להחליפה בגירסא אחרת של הספריה, למשל באמצעות מנגנון ייעודי לזה או מתן גישה למערכת הקבצים של המכשיר.
2. ומה הצד החיובי?
הצד החיובי בסיפור הוא ששינוי הרשיון מאפשר פתיחה של קוד שעד עכשיו הופץ לרשיון מסחרי בלבד. הספריות הבאות יהיו זמינות לכלל המפתחים החל מגירסא 5.7 של Qt:
- Qt Charts
- Qt Data Visualization
- Qt Virtual Keyboard
- QML Profiler
- Clang static analyzer
- Qt Test Integration
- Qt Quick 2D renderer
יותר מזה, שינוי הרשיון הוא חלק מהסכם נרחב יותר בין Qt ל KDE שמבטיח ש Qt יישאר חופשי בכל הפלטפורמות כפי שאפשר לקרוא בהודעה של ארגון KDE על השינוי:
https://dot.kde.org/2016/01/13/qt-guaranteed-stay-free-and-open-%E2%80%93-legal-update