מאמרים וכתבות

תוכנות קוד פתוח

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

1. מבוא

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

 

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

 

2. תוכנות קוד פתוח – הגדרה ועקרונות

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

 

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

 

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

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

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

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

 

3. תוכנות קוד פתוח – בעד ונגד

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

 

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

 

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

 

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

 

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

 

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

 

4. תוכנות קוד פתוח והעולם העסקי

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

 

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

 

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

 

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

 

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

 

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

 

5. סיכום

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

 

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

 

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

 

קישורים
חיפוש עו"ד :
משפחה
תחום עיסוק
אפליקציית
ספר עורכי הדין עכשיו להורדה לסמארטפון