Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

תוכנה חופשית וקוד פתוח - הטמעת רשיון בקבצי מקור

Anonymous - 10/12/2016 - 19:12
נושא ההודעה: הטמעת רשיון בקבצי מקור
אני מפתח תוכנה מסוימת כבר כמה חודשים ועכשיו אני רוצה לשחרר אותה כקוד פתוח כמובן.
אני מעדיף שהקבצי מקור שלי לא יכילו את ה - header של הרשיון אלא משהו כזה:

קוד:
"""
Copyright (c) 2016 X developers (https://github.com/X/)
See the file 'LICENSE' for copying.
"""


השאלה המתבקשת האם מותר לי להפנות לקובץ LICENSE בלי הצהרות הרשיון בקובץ?
הרשיון של התוכנה יהיה או GPL או MIT אני עדין מתלבט.

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

בתודה מראש
Anonymous - 10/12/2016 - 22:19
נושא ההודעה:
נדמה לי שלא. הבעיה: מה קורה אם רוצים להפיץ את הקובץ בנפרד מקובץ הרישיון?
Anonymous - 10/12/2016 - 23:38
נושא ההודעה:
חוקית אין שום דרישה שבכל קובץ יהיה את הרשיון, זה אולי פחות פורמלי אבל יש פרוייקטים פתוחים שהרשיון נמצא בקובץ נפרד בלי שום הפנייה בקוד עצמו.
Anonymous - 11/12/2016 - 08:19
נושא ההודעה: Re: הטמעת רשיון בקבצי מקור
Anonymous :
אני מפתח תוכנה מסוימת כבר כמה חודשים ועכשיו אני רוצה לשחרר אותה כקוד פתוח כמובן.
אני מעדיף שהקבצי מקור שלי לא יכילו את ה - header של הרשיון אלא משהו כזה:

קוד:
"""
Copyright (c) 2016 X developers (https://github.com/X/)
See the file 'LICENSE' for copying.
"""


השאלה המתבקשת האם מותר לי להפנות לקובץ LICENSE בלי הצהרות הרשיון בקובץ?
הרשיון של התוכנה יהיה או GPL או MIT אני עדין מתלבט.

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

בתודה מראש


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

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

בכל קובץ (קבצי C , H וmakefiles) , זה ממש לא הרבה אבל זה מאפשר שימוש חוזר בכל.

אם אתה מתממשק מול מספר חבילות (dynamic link / api usage etc) אתה צריך להוסיף את הרישיון של מה שהשתמשת בו וציון במה.

בשביל להקל בשימוש נוסף בצע מעטפת ברישיון מטירני (לדוגמה רישיון MIT) שישתמש בקוד חיצוני:

קוד:

//used to load the Foo Library , can be replaced by setting the config file
int interfaceToExternalLibraryFoo(const type_t *  ctxt, type_2_t * arg , .... );


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

כאשר אתה מכריז על שימוש API אתה צריך לדאוג שה API יהיה שונה מהסיפריה (משפט גוגל/אורקל).
Anonymous - 11/12/2016 - 14:08
נושא ההודעה:
צפריר :
נדמה לי שלא. הבעיה: מה קורה אם רוצים להפיץ את הקובץ בנפרד מקובץ הרישיון?


אוקי הבנתי נראה לי שאני יוסיף את הרשיון לקובץ מאשר ליצור קובץ שתלוי בקובץ אחר.

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


מה הכוונה לא בכל קובץ? הרשיון לא חייב להכלל בכל הקבצים או בקצבים מסוימים?
או פשוט קובץ LICENSE בודד?


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

כאשר אתה מכריז על שימוש API אתה צריך לדאוג שה API יהיה שונה מהסיפריה (משפט גוגל/אורקל).


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

תודה רבה חברים בחירת הרשיון היה השלב הסופי שהתעכבתי עליו אבל עכשיו הכל יותר ברור.
Anonymous - 12/12/2016 - 07:40
נושא ההודעה:
ציטוט:
הבנתי חבל שאין סטנדרט מסוים לרשיונות זה הרבה כאב ראש שמשתמשים בכמה קטעי קוד נפרדים.


לכל רשיון יש סטנדרט משלו, למשל הרשיון של מוזילה מחייב לשים אותו בכל קובץ [1]
קוד:

To apply the Mozilla Public License to software that you have written, add the header from Exhibit A of the license to each source code file in your project. Sample headers for various commenting styles are available here. You may also add additional accurate notices of copyright ownership, such as the name of the copyright holder, but this is not necessary.

יש מספר קבוצות שעובדות על סטנדרט משותף לכל הרשיונות [2]

[1] https://www.mozilla.org/en-US/MPL/2.0/FAQ/
[2] https://xkcd.com/927/
elcuco - 13/12/2016 - 17:19
נושא ההודעה:
Anonymous :
ציטוט:
הבנתי חבל שאין סטנדרט מסוים לרשיונות זה הרבה כאב ראש שמשתמשים בכמה קטעי קוד נפרדים.


לכל רשיון יש סטנדרט משלו, למשל הרשיון של מוזילה מחייב לשים אותו בכל קובץ [1]
קוד:

To apply the Mozilla Public License to software that you have written, add the header from Exhibit A of the license to each source code file in your project. Sample headers for various commenting styles are available here. You may also add additional accurate notices of copyright ownership, such as the name of the copyright holder, but this is not necessary.

יש מספר קבוצות שעובדות על סטנדרט משותף לכל הרשיונות [2]

[1] https://www.mozilla.org/en-US/MPL/2.0/FAQ/
[2] https://xkcd.com/927/


איזה רעיון מפגר. למה שאני ארצה להגדיל את הקבצע קוד מקור שלי במליון שורות שאני לא שולט בהם..? וכשאני אחליט לשנות רישיון זה אומר מלא שינוים (ה-git diff יהיה ענק). ולא נדבר על הגודל של הקבצים.

תשים את הרישיון בקובץ בצד ובקוד תגיד את שם הרישיון שאתה משתמש בו.
כל הזמנים הם GMT + 2 שעות