לא כל תוכנה חינמית היא תוכנה חופשית / דעה
תוכנה קניינית ללא תשלום ראויה להיקרא תוכנה חינמית ולא תוכנה חופשית. תוכנות חופשיות אמיתיות מציעות הרבה יותר. שחר שמש מסביר מדוע
תוכנה חופשית, תוכנה חינמית - המונחים דומים אמנם, ועל כן מבלבלים - אך שונים בתכלית. לא כל תוכנה שמקבלים בחינם אכן מספקת למשתמש חופש מלא.
לכל מי שלא יצא לו להציץ במה שקורה בעולם המחשבים בשני העשורים האחרונים, להלן תקציר מהיר על מה מדובר. כאשר מפתחים תוכנה, התוכנה נכתבת בשפת תכנות (C, C++, Java ושאר שמות מפוצצים). אלו שפות שהן יחסית קריאות לבני אדם, אבל לא למחשב. כדי שהמחשב ידע לבצע אותן, צריך להעביר אותן תהליך שנקרא בעברית "הידור" (קומפילציה בלעז), שהופך את התוכנית ל"שפת מכונה" ומכאן היא הופכת ל"תוכנה". הקובץ בשפה המקורית שבה נכתבה התוכנה נקרא "קוד המקור". עוד נקודה אחת שחשוב להבין היא שלכל צורך מעשי, ללא קוד המקור של התוכנית לא ניתן לשנות אותה (אלא בתהליך הדורש זמן ומיומנות רבים).
הצורה הנפוצה שבה תוכניות באות לעולם היא שמישהו, בדרך כלל חברה מסחרית, כותב את התוכנה. את קוד המקור שלה הוא שומר בסוד, ואת התוכנה עצמה הוא מוכר. מכיוון שגם התוכנה וגם קוד המקור מוגנים בזכויות יוצרים, אסור לאף אחד להעתיק את התוכנה ללא רשות, וכך כל מי שרוצה להשתמש בתוכנה צריך לשלם. מכיוון שהתוכנה נשארת, בפועל רכושו של מי שכתב אותה, למי שקנה אותה (למעשה - קנה רשיון שימוש בעותק שלה) אין זכויות עליה כמעט. לזאת אנחנו קוראים לתוכנה "תוכנה קניינית", כלומר תוכנה ששייכת למישהו.
תוכנה חופשית או קוד פתוח?
מנגד יש את הצורה השניה לפתח תוכניות. במקום לשמור את קוד המקור בסוד, קוד המקור משוחרר ומפורסם לכל מי שמעוניין. יותר מזה, בעל זכויות היוצרים נותן רשות מפורשת לכל מי שרק רוצה לשנות ולהפיץ את התוכנה הלאה. בעצם, בעל הזכויות מוותר על (כמעט) כל הזכויות הייחודיות שניתנו לו על פי חוק זכויות היוצרים. בגלל זה התוכנה נקראת "תוכנה חופשית" (Free Software). בגלל כפילות המשמעות של המילה Free, טורחים הרבה פעמים להבהיר שמדובר ב"חופשי", ולא ב"חינם". בעוד שתוכנה חופשית תינתן, כמעט תמיד, בחינם, הסיבה היא תנאי שוק שנוצרים בה, ולא דרישה של הרשיון. במאמר מוסגר נציין שיש גם מודל כלכלי שלישי, אבל הוא לא מייצר תוכנות מדף ועל כן לא רלוונטי כאן.כמובן שבלי קצת ריבים פוליטיים אי אפשר. קבוצה מתוך פעילי התוכנה החופשית החליטו שמטעמים פרגמטיים השם "תוכנה חופשית" מבריח אנשים, ויצרו את השם "קוד פתוח" כדי לתאר את אותה התוכנה עצמה. במישור המעשי, אין הבדל בין תוכנה חופשית לבין תוכנת קוד פתוח, אבל בהחלט ייתכן שיש הבדל בין מי שקורא לתוכנה כך ומי שקורא לה אחרת.
תנו כבוד לחופש
רבים לא מבדילים בין תוכנות ללא תשלום לבין שתוכנות הניתנות עם קוד מקור ורישיון להפיץ ולשנות. לטעמי, תוכנה קניינית הניתנת בחינם צריכה להקרא "חינמית", בעוד שתוכנה חופשית צריכה להקרא "קוד פתוח". לדעתי, במקרים שבהם מעוניינים להדגיש את צד החינם של תוכנת קוד פתוח, ראוי להתייחס אליה כאל "חופשית". יש לכך שני נימוקים. הראשון אידאולוגי והשני פרגמטי.
הטיעון האידאולוגי נובע מהעובדה שאף תוכנה לא הגיעה למצב שבו היא חופשית, במקרה. הסיבה שתוכנה ניתנת לכל העולם עם קוד מקור ורשיון לשנות אותה נובעת מהעובדה שמי שכתב אותה בחר, בצורה מודעת, לשחרר אותה. מבלי להכנס לסיבות שלו לעשות את זה (נושא עצום ממדים בפני עצמו), עצם העובדה שזה המצב מצדיקה, לפי דעתי, שיינתן הכבוד הראוי לבחירה הזו.
הטיעון הפרגמטי נובע מהעובדה שהמילה "חופשי" היא, אמנם, בעלת שתי משמעויות בעברית, אבל הן המילה "חינם" והן הביטוי "קוד פתוח" הם חד משמעיים לכל מי שמעורה בתחום. בהחלט ייתכן שמישהו יגיד על משהו שהוא חופשי, ויתכוון שהוא "חופשי מתשלום", אולם כאשר אומרים "חינם" מתכוונים אך ורק לדבר אחד – משהו שאין צורך לשלם עליו.
אם מעוניינים הן לדייק בפרטים והן להיות מובנים לכולם, לקרוא לתוכנה קניינית ללא תשלום "חינם" לא מבלבל אף אחד, בעוד שלקרוא לה "חופשית" מרמז לפחות חלק מהאוכלוסיה, שהתוכנה מספקת משהו שאינה מספקת בפועל.
שחר שמש הוא פעיל קוד פתוח וחבר בוועד המנהל של עמותת "המקור", המקדמת שימוש בתוכנה חופשית