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

BravoMan

Active member
חוויות קשות, אני מתחיל להבין מנין היחס לרשיונות copyleft...

דווקא בתחום המובייל בו אני נמצא, הצורך בספריות מורכבות מתעורר לעיטים קרובות יחסית.
&nbsp
רק בפרויקט הנוכחי אנחנו עובדים כבר עם שני ספקים נפרדים של רכיבי תוכנה סגורים שנחוצים כדי להשלים את האפליקציות שלנו...
&nbsp
היות וכל אחד מהרכיבים דורש מומחיות בתחום אחר שהוא מדע בפני עצמו, פיתוח In house לא בא בחשבון, וגם לא הצלחנו (לצערי הרב) לאתר פתרון בקוד פתוח שיענה על כל הצרכים באותה מידה כמו המוצרים הספציפיים שבחרנו בסוף.
&nbsp
אני מודה שהפרויקט הנוכחי לא ממש שגרתי (מצטער, לא יכול לפרט יותר כרגע), אבל גם בפרויקטים קודמים לא פעם התעורר הצורך לבחון ו\או לרכוש SDK או ספרייה כזה או אחרת, עם כל הצרות שבאו מזה.
(ככלל, החברות בהן עבדתי הבינו את הצרות שבאות עם תלות ברכיב שאין לך גישה לקוד שלו, אבל לפעמים אין ברירה)
 
גם בתחום המובייל
גם אני בתחום המובייל, ויש אצלנו שימוש רב ונרחב בספריות חיצוניות. כל דבר שעולה בדעתך, החל מדחיסה ופריסה של JPG, דרך ספריות של אודיו, וידאו, animated gifs, פרוטוקולי תקשורת שונים, ספריות גרפיות, גרפיקה וקטורית, קריפטוגרפיה, ועוד מליון דברים.
&nbsp
כאשר עשו אצלנו due dilligence לפני האקזיט הגדול שבו רכשו אותנו לפני שנתיים, החברה הרוכשת דרשה מעבר מקיף על כל הקוד שלנו, של כל אפליקציות המובייל ושל כל השרתים על סוגיהם השונים. בכל מקום שמצאו קוד GPL - והיו מספר מקומות כאלו - דרשו מאיתנו להחליף את הספריות בספריות עם רשיונות אחרים או לכתוב בעצמנו. זה היה תנאי לרכישה.
&nbsp
בחברות שאני עבדתי בהן, GPL זה מושג מנודה ומצורע שאסור להתקרב אליו בשום אופן. אפילו חשש לשימוש ב GPL חושף את החברה לתביעות משפטיות או לדרישה לחשוף מיידית את כל הקוד שלה מתחילתו ועד סופו. אף חברה מסחרית לא מוכנה שבגלל שאיזה מתכנת הוריד קוד לפריסת mp3 מהאינטרנט שנמצא בשימוש שולי באיזה פיצ'ר צדדי במוצר, הם יצטרכו בגלל זה לחשוף את כל הקוד של כל המוצר עד השורה האחרונה שלו למתחרים.
 

d70

Well-known member
כנ"ל גם עם מערכות הפעלה freeRTOS וכו'
כל ההצהרות שפוזרו בקוד ,הצהרות שמאפשרות למשתמש לא לחשוף את הקוד שלו אלא רק את קוד מערכת ההפעלה - לא עזרו.
ברגע שחברת האם האמריקאית שמעה שאנחנו עובדים עם freeRTOS ,ישר קיבלנו הוראה לעבור למערכת הפעלה אחרת סגורה עם רשיון.
 

BravoMan

Active member
אגב, מעניין מה היה קורה ל-Rovio

אם Box2D היה GPL במקום רישיון zlib...
 
ומה עושים בסטרטאפים

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

vinney

Well-known member
נכשלים?

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

user32

Well-known member
מנהל
סיכון מחושב - לא בעיה

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

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

* דיקסליימר: לא מתיימר לספק ייעוץ משפטי וכו' וכו'...
 

ilgnd

New member
אז איך מסתדר כל מי שכותב ללינוקס (לדוגמה)?

מאות חברות כותבות תוכנות סגורות שמשתמשות בGCC ובקוד של לינוקס
 
מותר להשתמש בתוכנות
אסור לחבר את ה source code שלהן ל source code שלך באופן ישיר.
&nbsp
כשאתה משתמש בלינוקס או ב GCC, אתה משתמש בתוכנות כמות שהן. אתה לא לוקח סורסים של GCC ומחבר לסורסים שלך, ולכן אין בעיה. יש בעיה לחברות שעושות שינויים בקרנל של לינוקס, ועקרונית חברות כאלו חייבות לשחרר רק את אותם שינויים שבקרנל כקוד פתוח.
 

ipv6

Member
בוא נניח את המצב הבא:

יש לי מערכת מסחרית גדולה ומורכבת A.
המערכת הזאת מקבלת לעיתים נדירות, שירות מספריות בעלות רישיון GPL. אין פה עניינים של performance. אני לוקח את כל הספריות הפתוחות (בעלות הרישיון הנ"ל) עוטף אותם ב-service "דק" (בלי הרבה לוגיקה) שמערכת A פונה אליו כשהיא צריכה את השירות מאחת הסיפריות, ה-service טוען את הספריה, מחזיר ל-A פלט ו-A ממשיכה בריצה שלה.
את ה-service אני חושף בשמחה לכל עולם. הוא מנוהל ב-repository שונה ממערכת A.
אין לינקוג' בין ה-service למערכת אלא רק תיאום ב-API בינהם.
האם במצב כזה אני נדרש לחשוף את הקוד של המערכת A?

מיות לציין שאני מוכר ללקוח את A וה-service ביחד והמערכת לא יכולה לתפקד בלי ה-service הנ"ל.
 

choo

Active member
GPL משתמש במושג שנקרא "derivative work"

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

BravoMan

Active member
למיטב ידיעתי, GPL3 לא מתייחס לגישה דרך ה-Web

יצרו בשביל זה רישיון מיוחד - הAGPL או Affero GPL ומי שכותב תוכנה שנועדה לשרת לקוחות דרך ה-Web יכול לבחור להשתמש בו (ויכול שלא).
&nbsp
https://www.gnu.org/licenses/agpl-3.0.en.html
&nbsp
הסיבה לגרסה 3 של ה-GPL הרגיל, לפי מה שקראתי, היא דווקא התייחסות לעניין פטנטים, מה שגרסאות קודמות לא כיסו, ולעניין הטמעת תוכנה ב-firmware ומגבלות החלפת מערכת במכשירים שונים, מה שנראה לראשונה במכשיר ה-tvio (מקליט דיגטלי) בארה"ב שהשתמש ב-linux אך עם חתימה כך שיסרב לאתחל גרסאות עם שינויים.
&nbsp
מה שהאמריקאים מכנים tivoisation.
https://en.wikipedia.org/wiki/Tivoization
 

ilgnd

New member
תודה לעונים

החכמתי מהתשובות ואני איישם את מה שציינתם
&nbsp
&nbsp
 

giladnaor

New member
ורק נקודה חשובה שלא נגעו בה

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

choo

Active member
בספריות הללו לא מקבלים תרומות קוד מהקהילה, ופתיחותן מוגבלת

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