תנועת התוכנה החופשית (באנגלית: The Free Software Movement - FSM) או תנועת תוכנת הקוד הפתוח החופשית (Free and Open Source Software Movement - 'FOSSM) היא תנועה חברתית,[1] שמטרתה הבטחת חירויות עבור משתמשי תוכנה: החופש להריץ תוכנה, ללמוד אותה, לשנות אותה ולהפיץ עותקים שלה בהפצת-המשך.[2]
מקור התנועה בשנות ה-70, בשילוב תרבות ההאקר והאקדמיה, אך קידום של ממש קיבלה כאשר המתכנת היהודי[3] ריצ'רד סטולמן השיק בשנת 1983 את פרויקט גנו.[4] שנתיים לאחר מכן הקים סטולמן את קרן התוכנה החופשית שתהווה ארגון המאגד את התנועה.
אבן הפינה בעקרונות התנועה היא קידום שיתוף פעולה בין אנשים באמצעות מחשבים. משמעות הדבר דחיית ה"תוכנה הקניינית", אשר מעצם טיבה שייכת למישהו מגבילה אפשרויות שיתוף פעולה, ותחת זאת, קידום התוכנה החופשית,[5] במטרה לשחרר את כל משתמשי המחשב ברשת.[6] סטולמן מציין כי פעולה זו תקדם את ההתקדמות של הטכנולוגיה, כיוון ש"משמעותה הימנעות מהשכפול הבזבזני של מערכת תכנות. במקום זאת המאמץ יכול לעבור לקידום התוכנה העדכנית ביותר".[7]
חברים במוסד לתוכנה חופשית שהקים סטולמן, מאמינים כי כל המשתמשים בתוכנה כלשהי זכאים לחופשים המנויים במסמך "ההגדרה לתוכנה חופשית", אותו ניסח לראשונה ב-1986. המוסד מחזיק כי חירויות אלה נחוצות ליצירת חברה הגונה, בה משתמשי תוכנה מסייעים זה לזה תוך שמירת בעלות על מחשביהם, וכי זה לא מוסרי לאסור או למנוע מאנשים ליישם חירויות אלה.[8]
בראיון שנתן עבור חוקר האינטרנט יובל דרור, סיכם סטולמן את ההבדלים שבין חברות התוכנה הקניינית לבין המסר של תנועת התוכנה החופשית:
"תוכנה לא חופשית היא מערכת שמונעת ממך לעזור לשכן שלך. מכאן שהיא מרושעת באופן הכי בסיסי. נותנים לכמה אנשים יתרון חומרי על אנשים אחרים ומסבירים להם שהם יכולים להחזיק ביתרון הזה כל עוד הם לא משתפים בו אנשים אחרים. דמיין עולם שבו אם אתה עוזר לשכן שלך, אתה עושה מעשה בלתי חוקי. זה העולם שאותו מנסות ליצור חברות התוכנה. התנועה שלנו אומרת: העבר את התוכנה החופשית לשכן שלך, עזור לו - אסור לאף אחד למנוע ממך לעזור לשכן שלך. אנחנו לא אומרים שאתה חייב לשתף את השכן שלך בתוכנה שלך, אתה לא חייב לתת לו עותק - אבל אתה יכול אם אתה רוצה"[9]
אף על פי שסטולמן התבטא מספר פעמים נגד התוכנה הקניינית כ"מרושעת", המוסד לתוכנה חופשית מכיר בכך שיש משתמשים ומתכנתים התומכים בתנועת התוכנה החופשית ואינם פוסלים כול מאפיין בתוכנה הקניינית כלא מוסרי. גם לפי סטולמן, יתרונות התוכנה הקניינית בנוחות השימוש הטכנית בהן וברווח הכלכלי שהיא מניבה לעסקים.[10]
לפי ג'ואל ווסט מאוניברסיטת סן חוזה, "כיוון ששינוי חברתי יכול להתרחש כתוצר נלווה בלתי מתכונן של שינוי טכנולוגי, לעיתים קרובות תומכי הטכנולוגיות החדשות מקדמים אותן כאמצעים לשינוי חברתי חיובי." אמירה זו מתמצתת רבות מהבסיס הרעיוני שביסוד התנועה לתוכנה חופשית. אם שינוי חברתי יכול להיות תוצאה של התקדמות טכנולוגית, כיצד זה מוסרי למנוע זאת מאנשים? באמצעות השימוש במחשב לדוגמה יש לאדם אפשרויות מגוונות בהרבה לגשת למידע מאשר לפניו, ואסור שטכנולוגיה זו תהיה חופש מותנה, בחזקת פריווילגיה סלקטיבית. התנועה מכוונת לכול הפחות לעורר מודעות לרעיונות אלה.[11]
ליבת העבודה של תנועת התוכנה החופשית בפיתוח תוכנה. גם בעת הפיתוח, התנועה נמנעת משימוש בתוכנה קניינית. לפי סטולמן, "הדבר היחיד בתחום התוכנה שיותר גרוע מעותק לא מורשה של תוכנה קניינית, זה עותק מורשה תוכנה קניינית, כיוון שזה עושה אותו נזק לקהילת המשתמשים, אך בנוסף יוזם המפלצת מפיק רווח מזה."[12]
משתמשי תוכנה רבים הנתקלים בתוכנה חופשית אינם מודעים למאפייניה ועלולים להסכים להחליפה בתוכנה לא חופשית, או להוסיף עליה תוכנה לא חופשית. לכן ישנם חברים בתנועת התוכנה החופשית שמקדישים זמן לקידום מודעות לעקרונותיה על ידי מתן הרצאות ואירוח כנסים.[13]
חוקרת התוכנה מרגרט. ס. אליוט, מהמכון לתוכנה אוניברסיטת קליפורניה באירוויין, קושרת בין קידום תנועת התוכנה החופשית לבין החובה לאפשר לכול אדם את הזכות להשתמש באינטרנט, בהנחה שיש לו מחשב נגיש. לטענתה העולם הפך ליותר מבוסס על מסגרת הטכנולוגיה ויכולות הקידום שלה, ולכן בקיומו של אינטרנט סלקטיבי אין שום הגיון.
לפי חוקרים נוספים התומכים בתנועת התוכנה החופשית, אם השאיפה היא לחיות בעולם המאפשר דו-קיום הנהנה מעזרה הדדית ותקשורת בינלאומית, תוכנה חופשית היא מטרה ראשונה במעלה. רעיונות אלה הם ניסיון לקדם "סביבה שיתופית" בה קיימת הבנה של יתרונות הקהילה הקרובה והרחוקה כאחד.[14]
התנועה לחופש התוכנה מתנגדת לרישום פטנטים והרחבת חוק זכויות היוצרים במיוחד בהקשר של תוכנה, ומבצעת שתדלנות בבתי מחוקקים בנושא. במקביל התנועה מעודדת משרדי ממשלה ועבודות יזמות ממשלתית להשתמש בתוכנה חופשית.
בישראל עמותת המקור עובדת מול ועדת המדע והטכנולוגיה של הכנסת, ולשם כך מרכזת את היוזמות הממשלתיות השונות ברחבי העולם, בדף קוד פתוח בסגנון ויקי.[15]
החל מראשית המאה ה-21, הוקמו ארגונים בתוך תנועת הקוד החופשי, שעיקר פעילותם במעקב אחר תפוצת התוכנה החופשית. בשנת 2004 הוקם אתר open hub, שעיקר פועלו מעקב אחר כמות הפעילות והשינויים הטכניים הנעשים בתוכנות קוד חופשי. האתר מנתח את הנתונים ובכך מספק זווית כמותית על פעילות התנועה ומידת צמיחתה לאורך זמן. מפעילת האתר היא החברה הפרטית Black Duck Software התומכת בפעילות התנועה.
בעקבות פעילות התנועה החל משנות ה-80, ממשלות רבות בוחנות את השימוש בתוכנה חופשית כחלופה יעילה וזולה לתוכנות קנייניות. בארצות הברית נעשו מאמצים כבר מראשית המאה להעביר חקיקה ברמת המדינות, שתעודד את השימוש בתוכנה חופשית על ידי משרדי המדינה ורשויותיה.[16] החל מ-2009 הממשלה הבריטית מפעילה מספר תוכניות על בסיס תוכנות קוד חופשי.[17] מגמה זו זכתה לתגובה אוהדת מצד תנועת התוכנה החופשית במדינה.[18] בשנת 2006 ממשלת ונצואלה הייתה הראשונה להוציא צו המחייב את כול זרועות הממשלה לעבור לשימוש בתוכנה חופשית, תוך שנתיים מיום הוצאת הצו.[19]
בישראל העבודה המשותפת של תנועת התוכנה החופשית ומשרד האוצר הניבה בשנת 2003 תרגום עברי לתוכנת "Open Office", שהיה מיועדת להפצה לאזרחי המדינה להוזלת עלויות המשתמש.[20] יוזמה זו לא זכתה לתהודה ומאז לא נערכו ניסיונות חוזרים רשמיים מצד משרדי הממשלה לעבור לשימוש בתוכנה חופשית. אוהדי התנועה בישראל מציינים כי מגמת העלייה בשימוש בתוכנה חופשית נרשמה מאז בעיקר במגזר הפרטי ובפרט בתעשייה הישראלית, לרבות תעשיית הביטחון.[21]
כמו רבות מהתנועות החברתיות, בתנועת התוכנה החופשית יש דיון פנימי מתמשך בין מספר ארגונים. עם השנים פותחו מספר תוכנות חופשיות מובילות, חלקן צברו בסיסי אוהדים בקרב מתכנתים, הקימו קרנות וגייסו תומכים נוספים. (לדוגמה קרן מוזילה, קרן התוכנה אפאצ'י, קהילת דביאן ויוזמת הקוד הפתוח) לצד הארגון הוותיק המוסד לתוכנה חופשית, המחלוקות בין הארגונים בדרך כלל נעשות על בסיס חלוקה ארגונית זו. דיון ער במיוחד נערך על הצורך לשתף פעולה עם גורמים כלכליים חזקים במשק, מול הצורך לשמור על הנאמנות העקרונית לערכי התנועה. בדרך כלל על בסיס התוכנות החופשיות המובילות השונות.[22]
המושג "קוד פתוח" נטבע ואומץ בשנת 1998 על ידי קבוצת משנה בתנועת התוכנה החופשית, בתגובה למה שנתפס על ידם כ"התמקדות יתירה בפילוסופיה ובפוליטיקה" של התנועה. בפברואר אותה שנה הוקמה יוזמת הקוד הפתוח, המסכימה עם כול עקרונותיה של תנועת התוכנה החופשית, אך אמורה להוות ארגון פרגמטי, המתרכז ביוזמות חינוכיות וקידום החקיקה בנושא.[23]
מבחינה טכנית, המושג קוד פתוח מחדד את שאיפת התנועה שלא רק התוכנה צריכה להיות חופשית, גם הקוד שלה אמור להיות נגיש לכול אחד לשנות אותו ולהשתמש בו. מנגד, מייסד פרויקט GNU ריצ'רד סטולמן מסרב לוותר על המילה "חופש" בשם התנועה, משום לטענתו זה "מפספס את הנקודה העיקרית".[24] אף על פי שהארגונים נותרו נפרדים וישנם ארגונים המשתמשים במונח "תוכנת קוד פתוח" בעוד אחרים משתמשים במונח "תוכנה חופשית", ההבדלים בפועל נותרו סמנטיים בעיקרם. לכן לעיתים קרובות נהוג לקבץ את שני המושגים יחד ולכנות את התוכנה "תוכנה חופשית בעלת קוד פתוח" (באנגלית: Free and open-source software ובקיצור FOSS).[25]
במהלך השנים החלו להישמע ביקורות מסוגים שונים על תנועת התוכנה החופשית. רוב הביקורות עולות מצד אנשי מקצוע, מתכנתים ומדעני מחשב, שלרוב אינם מתנגדים לעצם הרעיון של תוכנה חופשית אך אינם מסכימים עם דרכה של התנועה. חלק מהביקורות, כמו זו של יוזמת הקוד הפתוח, מתמקדות בדגש הפוליטי הבלתי מתפשר של התנועה. לפי אנתרופולוג תרבות ההאקר אריק ס. ריימונד, על התנועה למצוא דרכים להתפשר באופן זמני עבור הישגים ארוכי טווח בתחום החקיקה.[26] גם מפתח ליבת מערכת ההפעלה של לינוקס, לינוס טורבאלדס, השותף לרעיונות היסוד של תנועת התוכנה החופשית, התבטא ברוח ביקורתית על הצורך בפרגמטיות בתנועה.[27]
עם התעצמות התנועה בראשית המאה ה-21, החלו להישמע הסתייגויות מתוצאות התפתחותה המהירה. אחד מעקרונות התנועה לתוכנה לחופשית הוא פתיחת התוכנה לעריכה ותיקון על ידי מתכנתים הפועלים ללא יד מכוונת. במאמרו "מאואיזם דיגיטלי", העוסק בבעייתיות הקיימת בחכמת ההמונים מזהיר מדען המחשב ג'רון לנייר גם מפני ההשלכות של שיטת תכנות זו. הוא מבחין בדמיון הקיים לטענתו בינה לבין שיטת העריכה בוויקיפדיה (שאמנם נשענת על מנוע קוד פתוח), ומוצא ש"מחסור בקול אחיד והיעדר רגישות לאסתטיקה" הופכים תוכנות חופשיות ל"חסרות אונים בהגיעם ליצור ממשק משתמש אלגנטי או חוויית משתמש בכלל".[28]
בהתייחס במיוחד לוויקיפדיה, לנייר גם מביע דאגה לניצול עבודתם של רבים ללא מתן קרדיט. לדעתו בעיה זו אינה מתרחשת בהקשר לתוכנה חופשית, בה מתכנתים אינם פועלים באנונימיות ושואפים להטביע חותם אישי על עבודתם.[29] אולם ביקורת חוזרת שעולה בהקשר להתפתחות התוכנה החופשית היא התגמול ההולם למתכנתים. ריצ'רד סטולמן בעצמו הודה בראיון רדיו כי בעיה זו מקשה על מימון פרויקטים שבמרכזם תוכנה חופשית.[30] אולם לטענתו ישנם מספר מודלים המאפשרים למתכנתים להתפרנס גם ללא שימוש בתוכנה קניינית כלל.[9]
תנועת התוכנה החופשית תומכת בתוכנית הפצת הרישיונות של Copyleft (הנקראת לעיתים בשם הביקורתי "רישיון ויראלי"). בצורתה הטהורה, רישיון Copyleft קובע כי כל עבודה נגזרת מתוכנה חייבת להיות אף היא נתונה לרישון הפצה זה. תנאי רישיון אלה יכולים להיאכף רק באמצעות הצהרת זכויות יוצרים.[31] המבקרים של רישיון זה רואים בכך הגבלה של היכולת לשנות תוכנות, שאינה עולה בקנה אחד עם הדגש המושם בתנועת התוכנה החופשית על "חירויות" מסוימות, במיוחד בהשוואה לרישיונות תוכנה חופשית חלופיים ומתירניים יותר, כמו רישיון BSD, רישיון MIT ורישיון אפאצ'י.[32] המצדדים ברישיון זה טוענים כי הוא אינו תקף לכול שימוש אך מצד שני מבטיח שעבודתם לא תתמזג לתוך תוכנות קנייניות.
כיום המוסד לתוכנה חופשית ויוזמת הקוד הפתוח מחזיקות ברשימה של עשרות רישיונות להפצת תוכנה חופשית ובעלת קוד פתוח.[33] ריבוי הרישיונות בתחום התוכנה החופשית הוא בעצמו מקור לדאגה בקרב אוהדי ומבקרי התנועה. המורכבות הגוברת של הרישיונות השונים והפיצול הקיים בהעדפותיהם של מתכנתים, מקשה על שיתוף פעולה בין תוכנות המופצות תחת רישיונות שונים.[34] ככלל ישנה הסכמה בקרב רוב תומכי התנועה כי רצוי להקטין את כמות הרישיונות החדשים וכי כתיבתם צריכה להתאים לרישיונות המרכזיים הקיימים. הגרסה השלישית של הרישיון הציבורי הכללי של גנו עוררה בשל כך מחלוקת רבה, כיוון שחלקים בה אינם תואמים את הגרסאות הקודמות של הרישיון.[35][36] מספר יוזמות תוכנה חופשית, ובפרט לינוקס, החליטו שלא לעדכן רישיונן.[37]