שאלה על רישוי תוכנות

ilgnd

New member
שאלה על רישוי תוכנות

אני משתמש בספריות צד ג' תחת רשיונות קוד פתוח:
GPLv2, LGPLv3, MIT, Mozilla 2.0.
בחלק מהרשיונות האלה מצויין שיש למסור את קוד המקור יחד עם התוכנה, ובחלם מדובר על sublicensing.
השאלה שלי היא האם הכוונה לקוד של הספריה עצמה או גם לקוד של התוכנה שלי?
כלומר האם אני מחוייב שהקוד שלי (שקורא לספריות הנ"ל) ייחשף ויגיע עם אותו רישיון, או שאני פשוט צריך למסור יחד עם התוכנה שלי את קוד המקור של הספריות?
אין לי שום כוונה לגעת בספריות או לשנות אותן.
 

user32

Well-known member
מנהל
רשיונות מדבקים

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

choo

Active member
אגב, זה מגביל לינקוג' סטטי עם ספריות LGPL

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

mthree

New member
חוששני כי אתה טועה בקשר ל-GPL

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

לדוגמא: לחברת אורקל (Oracle) יש גרסה של בסיס הנתונים שלה עבור לינוקס עוד משנת 1998. גרסה זו עושה (ללא ספק) שימוש בספרית glibc המוגנת על ידי ה-GPL.

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

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

mthree

New member
חלק נכבד (שליש) מקבצי המקור של glibc הם תחת GPL ולא LGPL

ראה קישור מצורף. שליש מקבצי המקור ב-glibc הנם תחת GPL.

ציטוט:
Conclusion
So, answering your question. At least 137 files out of 472 use GPL (versions 1 to 3). This corresponds to ~30% of the labelled source code files. Looking at facts, I think difficult to sustain that GLibc is an LGPL-2.1 licensed project when a third of the code base is built upon GPL.


נחזור ל-Oracle. הדברים היו ידועים להם ב-1998. בכל זאת לא חשבו שיש עם כך בעיה.

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


[URL]https://www.quora.com/Does-Glibc-use-GPL-license-Because-I-found-GPL-in-some-source-file-nscd-cache-c[/URL]
 
אתה מסיט את הדיון
הטענה שלך גם לא נכונה, ואפילו אם היא היתה נכונה היא לא היתה מוכיחה את מה שאתה מנסה להוכיח.
&nbsp
א. הרשיון של LIBC הוא באופן חד משמעי ושאינו משתמע לשתי פנים רשיון LGPL, וזה מפורסם באופן מלא וברור באתר הפרוייקט של LIBC עצמו, בכתובת זו:
https://directory.fsf.org/wiki/Libc#tab=Details
&nbsp
ב. אפילו אם זה לא היה נכון, והרשיון של LIBC היה GPL, עצם העובדה שאורקל עושה בו שימוש בלי לחשוף את הקוד שלה לא מעידה שום דבר על מה יקרה לחברות אחרות שעושות שימוש בספריות אחרות שמוגנות ב GPL. רשיון GPL אינו *מחייב* את בעל הרשיון לתבוע כל אחד ואחד שמפר אותו. הוא רק נותן לו את הזכות לתבוע אותו אם ירצה בכך. לכן, יכול בהחלט בעל הזכויות ב LIBC להחליט שאינו תובע את אוראקל, ומצד שני בעל הזכויות בספריה אחרת לגמרי של גרפיקה דו-מימדית (סתם לדוגמא) יכול להחליט שהוא תובע את חברת אפל למשל (סתם המצאתי הרגע), אם זו תשתמש בספריה שלו, וזו תהיה זכותו.
&nbsp
הטענה שלי היא ששימוש ב GPL מחייב אותך לשתף את הקוד שלך או להיות חשוף לתביעות. אין זה אומר שבהכרח יהיו תביעות כאלו, רק שיש לך חשיפה משפטית לתביעות כאלו.
&nbsp
הטענה שלך כאילו דוגמת אוראקל-LIBC סותרת את הטענה שלי היא פשוט שטות. קודם כל, כי LIBC אינו GPL, ודבר שני כי עצם העובדה שגוף א' לא תבע את גוף ב', אינה מהווה הוכחה כי גוף ג' לא יתבע את גוף ד' במקרה דומה.
 

user32

Well-known member
מנהל
יש הנחה סמויה והגיונית

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

באשר לרשיון עצמו של LIBC - אני לא מכיר ולכן לא מתייחס.
 

BravoMan

Active member
לא כזה תרחיש לא סביר.

כל ההפחדות על תביעות של מליונים או חובה לחשוף קוד של מוצר קנייני הן רק זה - הפחדות!
&nbsp
אני עוקב אחרי הרבה אתרי חדשות, בלוגים, ופלאנטים בנושא תוכנה חופשית, למיטב ידיעתי, עד היום לא היה מקרה בודד אפילו בו עלתה דרישה מחברה לחשוף קוד של מוצר שלה בעקבות שימוש בספריית קוד פתוח, שלא לדבר על מצב בו בית משפט אכן הכריח חברה לעשות זאת.
&nbsp
לאומת זאת, היו לא מעט מקרים מוכרים של הפרה של ה-GPL:
כמעת כל יצרנית טלפוני Android עושה זאת בצורה כזו או אחרת, כשהיא מסרבת לשחרר sources של kernel.
&nbsp
ובעוד שיצרניות גדולות פחות או יותר מצייתות אחר חודשים רבים (לפי הרישיון הקוד חייב להיות זמין כשהמוצר זמין), חברות סיניות מנצלות את העובדה שאיש לא יגיע לתבוע אותן ושומרות את הקוד לעצמן.
&nbsp
התביעות הבודדות על הפרת GPL שאכן הגיעו לבית משפט, גם כשהסתיימו בפיצוי כלכלי, מדובר היה בעשרות אלפים בודדים במקרים היותר רציניים.
&nbsp
המקרה הגדול ביותר שאני מכיר בעניין הזה הוא סיפור של busybox:
https://en.wikipedia.org/wiki/BusyBox#GPL_lawsuits
&nbsp
מסתבר שאפילו חברה בגודל של Samsung יכולה להחליט להתעלם מרישיון של כמה מפתחים קטנים, ולעשות מה שהיא רוצה עם הקוד, במיוחד אם הם חושבים שזה במקום שאף אחד לא ישים לב - במיליוני הטלוויזיות שהיא מוכרת בכל רחבי העולם.
&nbsp
כפי שאפשר לראות בקישור, הסכום ש-Samsung הפסידה על הטעות הנוראית שלהם הוא כ"כ גדול שכמעת מוטט את החברה

אם כי, על מלבן עם פינות מעוגלות הם הפסידו טיפה יותר.
&nbsp
(ולמי שלא טורח לקרוא ורוצה להבין את הסרקזם: בתביעה על הטלוויזיות busybox זכו ב-140 אלף דולר בערך, כולל הוצאות טרחה, בו בזמן, Samsung הפסידה ל-Apple יותר ממליארד! דולר על צורה של מכישריה)
 

user32

Well-known member
מנהל
אני אתקן את דבריי

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

BravoMan

Active member
לא אמרתי שאין תהליך

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

user32

Well-known member
מנהל
נדיר מאוד

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

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

BravoMan

Active member
אתה עושה שגיאה חמורה כשאתה מנסה לנתח את הסיפור

מהזווית הזו!
&nbsp
עבור glibc יש תוספת מיוחדת לרישיון GPL שנקראת GCC RUNTIME LIBRARY EXCEPTION והיא זו שמאפשרת לקמפל תוכנות מול הספרייה הסטנדרטית בלי שרישיון GPL ישפיע עליהן.
&nbsp
קרא כאן:
https://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html
&nbsp
כשרוצים לדעת מה רישיון מחייב ומה לא, צריך לקרוא את הרישיון או להתייעץ עם עו"ד שמבין, לא לחפש דוגמאות של חברות שעשו או לא עשו משהו.
 

BravoMan

Active member
ספציפית לגבי רשיונות שציינת:

** לא עו"ד ***
&nbsp
GPL בגרסאות 2 ו-3 מחייב אותך למסור את הקוד של כל התוכנה (או לאפשר הורדה שלו) כולל הספריות, כולל קבצי קומפילציה כולל הכל, לכל מי שאתה מוסר לו את התוכנה.
כלומר - גם הקוד שלך, שמשתמש בספריות.
&nbsp
MIT ו-Mozilla הם רישיונות מתירניים, ולא מכירחים אותך למסור שום קוד לאף אחד.
&nbsp
ברצוני לציין שאין דבר כזה "רישיונות מדבקים".
מה ש-"מדבק" בכל הסיפור הוא חוקי זכויות יוצרים שקובעים שברגע שהשתמשת בחלק או בכל יצירה של מישהו אחר ביצירה שלך, ליוצר האחר תהיה הזכות לאפשר או לאסור הפצה של יצירה סופית, או לקבוע תנאים להפצתה.
&nbsp
כך שטכנית, גם EULA מסחרי "מדבק".
&nbsp
בקיצור - יש רישיונות שמציבים דרישות שימוש, יש כאלה שלא.
הדרישות יכולות להיות כסף, דיווח על כמות העותקים שהפצת, הגבלת שימוש לשימושים מסוימים, שימוש באותו רישיון ליצירה סופית, ועוד.
&nbsp
GPL כלל אינו מונע שימוש בקוד שמופץ תחתיו בשום מוצר מסחרי, הוא רק מגביל אותך מסגירת הקוד של אותו מוצר. אם המודל העסקי שלך תלוי בסגירת הקוד, רוב הסיכויים שגם ללא GPL יש לך בעיות קשות.
 

user32

Well-known member
מנהל
לגבי המדבק

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

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

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

BravoMan

Active member
אה, באמת? 10 עו"ד בסמטה חשוכה?

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

user32

Well-known member
מנהל
ממש לא דיברתי על תביעות. עבדת פעם בחברת ענק?

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

בהצלחה
 

BravoMan

Active member
אוקיי, לא הבנתי אותך אם כך.

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

user32

Well-known member
מנהל
אין הרבה מקרים כאלה

יש מעט מאוד ספריות שקונים וממספר קטן של ספקים. אם מדובר במוצר של MS, אורקל, IBM אז בדרך כלל יש חוזים ומערכת יחסים מסודרת.
אם זו ספריה מחברה קטנה (נגיד, ספריית charts למשל) אז כן, זה הליך לא פשוט.
בשאר המקרים פשוט דורשים שתפתח לבד גם אם מדובר בפיתוח חדש של גלגל. זכור לי מימוש של RegEx שנאלצנו לעשות בתחילת העשור הקודם כשאופן סורס היה נחשב למילה גסה שמתאימה לפריקים והאקרים. זה היה כי בג'אווה 1.2 או 1.3 לא היה RegEx והיה איסור חמור להשתמש בשום אופן סורס (היתה ספריה טובה של MIT אבל סירבו לאשר אותה).
 
למעלה