הכל על FreeBSD

|
עד שאני מסיים להדר את המערכת החדשה במסך השני, הנה כמה דברים על BSD שאולי רציתם לדעת, אבל פחדתם לשאול. מערכת ההפעלה FreeBSD היא לא GNU/Linux, והקרנל שלה איננו Linux. כאשר פרוייקט BSD המקורי נסגר בשלהי שנות השמונים, קמו מהאפר שלו שלושה פרוייקטים חדשים (וחינמיים), שרצו להמשיך את הפיתוח מהמקום בו הוא הופסק. לכל אחד מהם יש מאפיינים ייחודים לו.

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

לעומתה, מערכת ההפעלה NetBSD מתאפיינת בפורטביליות, והיא הוסבה עד כה לכ-54 פלטפורמות ... והיד עוד נטויה. סביר להניח שNetBSD תרוץ על כל חומרה שתרצו להתקין אותה בה. FreeBSD היא הטוב מבין כל העולמות. כל היתרונות של עולם הBSD, מלבד הפורטביליות של NetBSD, ביחד עם כל הצעצועים של Linux. בסקירה התייחס לFreeBSD בלבד.

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

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

כמו לינוקס, גם לFreeBSD יש גירסה "טבעית" משלה לארכיטקטורת x86 של אינטל, ולא מדובר בהיסב כמו גירסאות סולאריס לארכיטקטורה זו. FreeBSD תומכת במגוון רחב מאוד של טכנולוגיות מודרניות "מהקופסא". למשל, Software RAID שמזכיר את היכולות של Veritas בתצורות דומות. היא גם מספקת תמיכה בריבוי מעבדים, מבחר של שלוש סויטות פירוול בעלות יכולות שונות, יכולות Packetsahping וגם כמה "חיות" שאין באף מערכת הפעלה אחרת, כמו Jails.

בנוסף, היא תומכת גם בתקשורת WiFi, פרוטוקול IPv6 וגם בהתקני Bluetooth (למרות שלא בדקתי בעצמי). למרות שהתמיכה שלה בחומרה צנועה מזו של לינוקס, ההבדל לא משמעותי במיוחד והיא מסוגלת לזהות כמעט כל חומרת מיינסטרים.

התקנה

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

מי שלא רק אוהב את "חוד התער", אלא אף נוהג לרוקן קופסת תערים לקערת הקורנפלקס שלו כל בוקר, יש גם 'make world'. אלו שבכלל מוותרים על הקורנפלקס, יכולים לנסות 'make universe'. הפקודה 'make buildworld' מהדרת את כל התוכנות של מערכת ההפעלה (למעט ה-Ports) מחדש. הפקודה 'make installworld' מתקינה את כל התוכנות שהודרו על ידי הפקודה הראשונה.הפקודה 'make world' מבצעת את שתי הפעולות בזו אחר זו.

האמיצים במיוחד עושים את זה באופן אוטומאטי מידי כמה ימים. בדיוק באותו האופן, את הקרנל מקמפלים עם הפקודה 'make buildkernel' ו-'make installkernel', או make kernel בקיצור. הפקודה make universe מבצעת world ו-kernel בו זמנית ... לא, עדיין לא יצא לי לבדוק את זה בעצמי.

ניהול תוכנה

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

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

כדי להתקין את KDE למשל, המשתמש נכנס לתיקייה usr/ports/x11/kde3/ ומפעיל את הפקודה make' 'install. תחילה יורדו כל הקבצים הדרושים, יקומפלו, ואם יסתבר שיש צורך בתוכנות נוספות, המערכת תוריד אותן באופן אוטומטי, תהדר ותתקין בכוחות עצמה כחלק מהתהליך. אם תוסיפו את הפרמטר clean לשורת הפקודה, אם היא גם תנקה אחריה. פשוט, גאוני ויציב. את עץ התיקיות אפשר ורצוי לעדכן מדי לילה באמצעות cron.

הגירסה שמגיעה על גבי 6 דיסקים מכילה אוסף של יישומים בדומה להפצות הלינוקס הסטנדרטיות. במידה ומתקינים מגירסת מיני, ומתקינים KDE או GNOME באמצעות מנגנון ה-Ports, תתקבל תמיד הגירסה העדכנית ביותר שיש.


בגירסת המיני אפשר למצא סט POSIX מלא, עם tcsh אך ללא bash. מי שרוצים bash יצטרכו להתקינו באמצעות מערכת ה-ports. אפשר למצא כאן גם את עורכי הטקסט vi ו-ed, אבל לא את pico. יש מהדר gcc 3.4 וכן perl, sendmail, openssh וisc-bind9. יש גם סוויטות RAID כמו vinum ו-gvinum, כלים לניהול שלושת הפיירולים של הקרנל וכלי שליטה למנגנון ה-Jails.

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

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

היא תריץ make install clean, עבור תוכנות אלו מדי לילה, ואם היה עדכון ב"אינדקס", היא תוריד את הגירסה החדשה, תהדר אותה במקום ותתקין אותה עוד לפני שתספיקו לקבל את עיתון הבוקר שלכם.

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

שונות

אם חשבתם שמערכת SysV, כלומר הספריה בה נמצאת כל מערכת האתחול להפעלה ולהפסקת שירותי המערכת וספריות הRunlevel הנילוות, טובה יותר מה- autoexec.bat המשוכלל שהוא שיטת האתחול המסורתית של מערכות המבוססות על מודל BSD, אז הנה החדשות. גם המפתחים של FreeBSD חושבים כמוכם. מאז גירסה 5.0 הם שיכללו את המערכת, אשר כיום כבר מפעילה ומפסיקה שירותי מערכת בדיוק כמו SysV. הם עדיין לא משתמשים בRunlevels, כפי שמכיר כל מי שהשתמש ברד האט או סוזה, אבל גם זה יגיע לדעתי.

רישוי

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

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

קישורים ומידע נוסף

מדריך FreeBSD Handbook

אפשרויות לתצוגת תגובות

בחרו באפשרות התצוגה הרצויה, ולחצו על "שמור הגדרות".

FreeBSD מול Gentoo

אני משתמש ב-Gentoo, שמערכת ניהול החבילות שלה (Portage) תוכננה לעשות את מה שעושה מערכת ה-Ports של BSD, ונראה ששתי הנ"ל קרובות מאד ברוחן. אולי FreeBSD היא ההפצה הבאה שלי?

* אהבתי את האופציה של make kernel. הלוואי שהיה את זה בג'נטו.

* גם את השימוש בתכנת make פשוטה ולא במערכת כבדה מבוססת python לצורך ניהול החבילות. בהקשר הזה אפשר להזכיר את Lunar Linux שמבוססת על bash. שימוש בכלים הבסיסיים יותר קרוב לרוח של Gentoo בעניין הזה (אם כי, בכנות, אני לא רואה איזה מערכת desktop אני יכול להתקין לעצמי שלא תדרוש פייתון בשלב כלשהו).

* הבחירה בין חומות אש שונות גם לא רעה.

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

בפעם הבאה שאני אחליף הפצה (עוד 300 שנה או משהו כזה) אני אבדוק את FreeBSD שוב. תודה על הסקירה המצויינת!

הערונת על הקשר בין Gnu לBsd

במאמר מעלי נכתב:
"כמו לינוקס, גם FreeBSD עטופה שכבת יישומים שמקורם בפרוייקט GNU".
אני לא ממש בטוח שהיא "עטופה" בתוכנות שמקורן בפרויקט Gnu.
בניגוד ללינוקס שהורכבה מגרעין(kernel)+חבילות ממקורות שונים , bsd היא מערכת הפעלה שהיא מיקשה אחת ואחידה ולכן מעולם לא היה לה צורך ליטול דבר מפרויקט Gnu
במאמר שכתב ריצ'רד סטולמן הוא התייחס לנושא.
" אנשים שואלים לפעמים אם גם BSD היא גירסה של גנו, כמו גנו/לינוקס. מפתחי BSD זכו להשראה להפוך את הקוד שלהם לחופשי מהדוגמה של פרוייקט גנו, ובקשותיהם המפורשות של פעילי גנו עזרו לשכנע אותם, אך לקוד עצמו היתה חפיפה מועטה עם גנו. מערכות BSD משתמשות כיום במספר תוכנות גנו, כשם שמערכת גנו, על גירסאותיה, משתמשת במספר תוכנות BSD; אולם, כשלעצמן, אלו שתי מערכות שונות שהתפתחו בנפרד. מפתחי BSD לא כתבו גרעין והוסיפו אותו למערכת גנו, כך ששם כמו גנו\BSD לא יתאים למצב העניינים."
http://www.gnu.org/gnu/linux-and-gnu.he.html

שאלה

"bsd היא מערכת הפעלה שהיא מיקשה אחת ואחידה ולכן מעולם לא היה לה צורך ליטול דבר מפרויקט Gnu"
באיזה מהדר FreeBSD משתמשים בשביל להדר את המערכת?

לינוקס זה מקשה של גרעין מערכת הפעלה. שילוב שלו עם גנו נותן מערכת הפעלה שלמה, גנו/לינוקס.

BSD ועצמאות מבסיס הקוד של GNU

אמרת ש"BSD היא מערכת הפעלה שהיא מיקשה אחת ואחידה ולכן מעולם לא היה לה צורך ליטול דבר מפרויקט Gnu".

זה ממש לא נכון. לא אם אתה מצפה ממנה לתת לך את כל מה שנדרש ממערכת הפעלה מודרנית.

בניגוד ללינוקס, ל-FreeBSD יש חבילת תוכנה מספיקה באופן גבולי כדי לייצר מערכת הפעלה בסיסית מאוד. לא יותר מזה. אולי אפילו לא זה, כשמתחילים לחשוב על קומפיילר.
מערכת הפעלה מבוססת קוד-מקור של BSD בלבד אולי תעבוד - יהיה לך ls, cp, mv ו-mount, אבל היא תהיה *מאוד* ספרטנית. אפילו הפצת ה-mini המאוד מצומצמת נוטלת כלים רבים (וקריטיים) מפרוייקטים חינמיים בסגנון GNU - הקומפיילר שמגיע עם FreeBSD הוא gcc, את perl הם לא כתבו בעצמם, וגם לא את כלי ה-DHCP, שרת ה-DNS (שלקוחים מ-ISC) וכו'.

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

גם עולם ה-OpenSource עושה Outsourcing :-)

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

אני לא יודע בקשר...

אני לא יודע בקשר ל-make kernel, אבל קיים משהו דומה בפורטג' שנקרא genkernel. הכלי מפותח ע"י הצוות של ג'נטו.

סקירה מצוינת. ת...

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

במילים אחרות אתה פרזיט

רוצה לחיות על העבודה של אחרים בלי להחזיר בתמורה את המינימום, שזה הקוד.

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

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

מה הקשר לפרזיטי...

מה הקשר לפרזיטיות? BSD הוא רישיון חופשי ולגיטימי לכל דבר, יש מי שטוענים חופשי יותר מאשר GPL ובצדק, מכיוון שהוא שם פחות מגבלות על השימוש בקוד. אתה יכול לטעון שהרישיון לא תומך באותם הרעיונות של התוכנה החופשית, אבל הוא לא פחות חופשי ממנה. וגם לGPL יש פתרונות משלו לאפשר לשתף קוד בלי לתרום בחזרה: LGPL למשל.

כן פרזיטי

הדיעה שלך על BSD ברורה ("יש אומרים יותר חופשי ובצדק") - אבל הוא עדיין רישיון פרזיטי.

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

לעומת זאת מי שכותב BSD מאפשר למי שהוא רוצה לקחת את הקוד ולהשתמש בכולו בלי לשחרר את הקוד למשתמשים.

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

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

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

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

דה ז'ה וו

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

מיקרוסופט למשל עבדה עם עם קוד של BSD לפחות לגבי שקעים, עד Windows95 בערך. אבל שים לב שהם לא שחררו את הקוד חזרה לשום קהילה, וזה חלק מהחופש האבסולוטי שאוהבים לדבר עליו...

אני לא מאמין בחופש בצורה הזו, ולכן למשל אני לא מאמין ב"תוכנה חופשית"... אבל אני מאמין בקוד פתוח.

למה אתה לא מאמין בתכנה החופשית?

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

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

בלבול מושגים

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

השאלה היא האם החופש כולל גם את הבטחת החופש לדורות הבאים. זה לא קשור לאם התוכנה חופשית או לא, אלא האם היא copyleft.

GPL היא copyleft, וBSD היא לא. לכן BSD יכולה להיות חופשית באותה מידה כמו BSD וBSD יכולה להיות חופשית באותה מידה כמו GPL,אבל BSD לא מומלצת כי היא מאפשרת ניצול הקהילה למטרות קנייניות.

זה מה שאמרתי, רק

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

בלבול טופיקים בנוסף לבלבול מושגים

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

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

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

בתמורה לשימוש בקוד שלה, מיקרוסופט דורשת כסף.

GPL אמנם דורש כלום מרובנו וכולנו אוהבים את לינוקס בגלל זה, אבל הוא דורש את הנשמה, הבית, האישה, הילדים והירושה מכל ביזנס שמתקיים מיכולתו למכור קוד יחודי, אותו הוא שומר מקוד סגור. לביזנסים כאלו, GPL לא רק אינו חינם (Free as in BEER) - וזה ה-Freedom שמעניין עסק, אידאולוגיה לא מזיזה הרבה לרובם, השימוש בו מאלץ פתיחת כל בסיס הקוד שלו (כולל מה שמתלנקג' עם המודול ה-GPL שהוא לקח), והמחיר לשילוב מודול כזה (שמהווה לצורך המחשת האבסורד שיכול להיווצר כאן עשוי להיות 1% מכלל המוצר - נניח רוטינה שמחשבת CRC) מאלץ פתיחת קוד, וזה בתורו עשוי לעלות לאותו עסק מיליונים. מהזוית של אותו עסק, GPL זה לא רק לא חינם, זה הדבר היקר ביותר בעולם, מבחינתו זו התאבדות, ולקנות קוד-מקור ממיקרוסופט עשוי להיות זול יותר. ה-GPL מאוד לא-מתחשב מזוית זו. חשוב גם להבין שבעוד שיש עסקים שיכולים להתקיים ממכירת שרותים-נלוים (כמו רדהאט או סאן) או מחומרה (כמו נוקיה), יש גם כאלה שכל העסק שלהם מבוסס אך ורק על מכירת מוצר תוכנה.
לא כולם *יכולים* לעשות את ה"צעד הנועז" הזה של לעבור למודל עסקי של קוד פתוח, ולייחס כל מיני תכונות של רוע, פרזיטיות וכו' למי שלא זו היתממות ילדותית.

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

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

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

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

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

ציטוטו של תגובה של צפריר

מכאן:
http://linmagazine.co.il/node/view/7909#comment

"מאמר סביר
מאת אורח ביום ד', 13/04/2005 - 03:28
התגובות למאמר כוללות אי־דיוקים רבים. כמוכן כותב המאמר לא ממש מודע לדרך פעולת מערכת ניהול החבילות בהפצות לינוקס רגילות. בהפצות לינוקס רגילות הכל הוא חלק מחבילות ואין נסיון להפרדה מלאכותית בין "מערכת בסיסית" לבין "ports". לכל היותר יש אוסף מאוד מצומצם של "חבילות בסיס" שמאוד קשה להסירן.

אחת התגובות ביקשה לתת דוגמאות לקוד גנו שבהפצות BSD ונתנה דווקא את פרל ואת ISC Bind, שתי תוכנות שאינן של גנו וגם לא בדיוק ברשיון GPL. הפצות BSD לא משתמשות גם ב־libc של גנו אלא ב־libc שלהן. כך גם רוב החבילות הבסיסיות (המקבילות ל־core utils של גנו).

צפריר "