תוכנה חופשית, למה ומדוע?

נדב הראל, אוקטובר 2002

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

(ההרצאה מבוססת על http://nadav.harel.org.il/essays/chofesh)

מבוא

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

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

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

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

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

על נושאים אלו אני רוצה לספר לכם בדקות הקרובות.


תוכנה - מוצר יוצא דופן

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

יש הבדל חשוב בין תוכנה לרוב המוצרים המוחשיים המוכרים לנו מחיי היום־יום.

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

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

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

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

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

אין סיבה אמיתית לכך שיישאר בעולם אדם "רעב" לתוכנה.

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

מובן שהתשלום, אם בכלל, יהיה מינימלי מכיוון שאם מפיץ אחד ידרוש תשלום "מופרז", אדם אחר יוכל להפיץ את התוכנה במחיר נמוך יותר, ואף בחינם.

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


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

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

אז כנראה שתוכנה בכל-זאת שונה במשהו ממוסיקה וסרטים. במה?

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

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


חופש? במה מגבילה אותי תוכנה מסחרית?

תארו לכם את התרחיש הבא:

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

נשמע מוזר נכון?

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

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

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

אבל ללא קוד־מקור זה,

מכאן העקרון השני של התוכנה החופשית: ה"קוד הפתוח".

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

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

האם הקוד הסגור הוא רק הגבלת־חופש תאורטית?

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

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

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


האם חופש הוא חזות הכול?

העובדה שתוכנה חופשית ניתנת להעתקה בחינם (או במחיר אפסי) מעניקה סוג נוסף של חופש למשתמש:

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

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

אבל חופש איננו הסיבה היחידה להשתמש בתוכנה חופשית.

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

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

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

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

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

במדינה קטנה ומוכת אבטלה כשלנו, לתוכנה חופשית יש יתרון חשוב נוסף:

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

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

תוכנה חופשית, מציאות או פנטזיה?

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

אבל מי הם מפתחי התוכנה החופשית? למה הם "מבזבזים" כך את זמנם?

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

מספר קטן של מפתחי תוכנה חופשית מרכזיים חיים מתרומות של משתמשים אסירי־תודה שנאספות דרך קרנות כמו ה־Free Software Foundation או ה־Perl Foundation.

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

לינוקס

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

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

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

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


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

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

מספר הולך וגדל של אנשים, גם בישראל, כבר עברו לתוכנה חופשית - אתם יכולים להיות הבאים!


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