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

"Open source" handwritten with white chalk on a blackboardבעולם הטכנולוגי והאינטרנטי שבו רוב המפתחים משקיעים משאבים רבים בהגנה על תוכנות שהם פיתחו או בניסיונות למכור את התוכנה שלהם, ישנה גם חלופה בדמות תוכנות קוד פתוח, כלומר תוכנות שכל אחד יכול לקבל לידיו בחינם, לשנות את קוד התוכנה לצרכיו האישיים ולהפיץ גירסה שונה של התוכנה שהוא יצר בעצמו, או להצטרף לצוות מפתחים המנסים לשדרג את התוכנה עבור כלל הציבור.

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

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

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

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

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

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


נכתב על-ידי נדב ברגר.