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

הנוף של רישיון מערכת ההפעלה Embedded

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

רישיון פרופיל

רישיונות תעמולה, לעתים קרובות מונפקים על ידי ספקים מסחריים כגון Wind River (VxWorks), גבעות ירוקות (INTEGRITY), או Micrium (כיום חלק ממעבדות הסיליקון), מעניקים את הזכות להשתמש ב- OS בתנאים נוקשים.הגבלות אופייניות כוללות מגבלות על שינוי, שינוי הנדסה לאחור, ופיצול מחדש של חברות חייב לעתים קרובות לשלם פיצויים מלכותיים, דמי רישיון מראש, או מטענים משפטיים שנתיים ל-Properitortary, כדי לספק הטבות תמיכה מהירה יותר, או השפעה מוגבלת.

רישיון פתוח-מקור

מערכות הפעלה מוטבעות קוד פתוח צברו מערכת אדירה בשל רכישתם ללא עלות, פיתוח מונע קהילתי, והתאמה אישית. דוגמאות פופולריות כוללות FreeRTOS (רישיון MIT), Zephyr (Apache 2.0), NutX (BSD-2-Clause), ואת הקרנל לינוקס (GPLv2), בעוד שכל רישיונות הקוד הפתוח מאפשרים שימוש חופשי, שינוי וחלוקת מחדש, התחייבויות ספציפיות באופן משמעותי.

רישיון הרשיון (MIT, Apache, BSD)

רישיונות הרשים להטיל הגבלות מינימליות.רישיון MIT, למשל, דורש רק כי הודעת זכויות היוצרים והודעת הרשאות כלולים עותקים או חלקים משמעותיים של התוכנה.רישיון Apache 2.0 מוסיף מענק מפורש של זכויות פטנטים מתורמים למשתמשים, אשר יכול להיות מכריע עבור חברות מודאגות לגבי ליטיגציה פטנטים. Permissive הם לעתים קרובות מועדים על ידי גופים מסחריים שרוצים לשלב מערכת ההפעלה מוטבעת למוצרים קנייניים ללא שינוי קודים, אפילו רשיונות חובה, כולל רשיונות זהיר.

רישיון copyleft (GPL, LGPL)

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

Weak copyleft וריאציות אחרות

כמה רישיונות קוד פתוח תופסים בסיס ביניים.לדוגמה, רישיון ציבורי Eclipse (EPL) ואת רישיון הציבורי של Mozilla (MPL) הם העתקה ברמת הקובץ: שינויים לקובץ נדרשים להיות משותפים תחת אותו רישיון, אבל העבודה הגדולה יכולה להיות תחת רישיון אחר.רישיונות אלה נפוצים פחות ב- OSes אבל מופיעים בחלק ממרכיבים של מודעות.

כפול-License ומודלים היברידיים

ספקים רבים של מערכת ההפעלה משובצת לאמץ אסטרטגיה כפולה של FreeRTOS, למשל, הוצעה היסטורית תחת GPL שונה עם יוצא דופן מסחרי, וכעת היא בעיקר MIT מורשה.תוכנת STM32Cube של STMicroelectronics משתמשת לעתים קרובות תערובת של רישיונות דמויי BSD ומודולים קנייניים של מערכת כפולה טיפוסית מציעה את מערכת ההפעלה תחת רישיון מנעד חזק (למשל, קוד פתוח) המאפשרת זיהוי מסחרי, כולל של תוכנה.

השלכות על בחירת מוצרים על פיתוח מוצרים

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

התאמה ושינוי

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

שילוב עם קוד צד שלישי

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

הפצה ומשימות משתמשות קצה

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

שיקולים משפטיים ואסטרטגיה

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

תוכניות ניהול וביטוח

ארגונים המשתמשים במרכיבים קוד פתוח מרובים צריכים ליישם הצעת תוכנה של חומרים (SBOM) מלווה בהודעות רישיון. כלים כמו FOSSA, Black Duck ו- SPDX יכולים לעזור להפוך את זיהוי התחייבויות הרישיון.תוכנית תאימות צריכה לכלול מדיניות לשינוי קוד פתוח, כללים לקישור ו aggregation, ותבניות לאספקת קוד מקור ללקוחות רגילים למנוע מעקב יקר של רישיונות מסחריים, אך לעתים קרובות על פני היקף רישיון שימושי ערך.

פטנטים והגנת

כמה רישיונות קוד פתוח, במיוחד Apache 2.0 ו- GPLv3, כוללים מענקים מפורשים לפטנטים.תחת Apache 2.0, כל תורם מעניק רישיון קבוע, ברחבי העולם, ללא כל רישום לפטנטים שהם מחזיקים בכיסוי הקוד התרמו.זה יכול להגן על משתמשים מפני תביעות הפרת פטנטים על ידי תורמים.converse, GPLv2 (ששימוש בלינוקס) אינו כולל מענק פטנטים מפורש, למרות שבית המשפט קבע כי מענקים מסגרת מוגבלת לרישיון מסחרי עשוי להיות בעל רישיון מסחר.

תמיכה, עדכונים וארוכות

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

שיטות טובות ביותר עבור מפתחים ומהנדסים

מפתחי מערכת Embedded יכולים לנקוט בצעדים קונקרטיים כדי לנווט מורכבות רישוי:

  • (FLT:0)Start עם מדיניות תאימות ברורה: מסמך 1 ; מסמך אשר רישיונות מקובלים ובהתאם לתנאים.לדוגמה, להחליט אם הארגון שלך יאפשר קוד GPLv3 במוצרים הכוללים סעיפים נגד מנדומונים (סעיף 3 של GPL על אנטי-הדגשה עשוי להתנגש עם כמה מודלים עסקיים).
  • (FLT:0) השתמש במערכת בקרת גרסאות עם סמנים: אנדרט 1:1 כל רכיב צד שלישי צריך להיות קובץ הרישיון שלה כלול במחסן.
  • (FLT:0) חששות ארכיטקטוניים:FreaLT:1 (במקום אפשרי, לעצב את המערכת כך קוד עותק חזק שוכן בספריה נפרדת או בתהליך שמתקשר באמצעות ממשקים סטנדרטיים (למשל, צינורות יוניקס, שקעים או קוד מוגדר היטב ABIs).
  • (FLT:0) {\displaystyle SPDX: ההרחבה 1}} שימוש בתגיות של Software Pack (SPDX) בקובץ המקור לסריקה תאימות אוטומטית ולהבטיח כי מידע הרישיון הוא סטנדרטי ונקרא מכונה.
  • (FLT:0)Consult המשפטית מוקדם: FLT:1 לא לחכות עד השקת המוצר כדי לסקור רישוי. יועץ קניין רוחני באדריכלות בשלב האדריכלות.חברות חוק רבות מציעות ביקורת תוכנה שטוחה שיכולה לזהות סיכונים לפני שהם הופכים להיות התחייבויות.
  • (FLT:0) רשיונות קנייניים בקפידה: ההרחבה 1 (For Commercial OSes), משא ומתן על תנאים סביב קוד מקור escrow, indemnification, ואת הזכות לשנות את מערכת ההפעלה לשימוש פנימי.

מסקנה

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