|
מהו קוד/קוד מקור - Source Code ? לפני שמתחילים לדבר על קוד פתוח, יש להבין מהו קוד או קוד מקור. באופן מסורתי, תוכנות פותחו שפותחו על-ידי חברות לא אפשרו גישה לקוד המקור של המערכת. קוד המקור הוא למעשה ה-DNA של התוכנה, המרשם הבסיסי ליצירת אותה תוכנה, הכתוב בשפת תכנות כמו C/C++, Java וכיוב'. אחרי שהתוכניתן מסיים לפתח את התוכנה, היא עוברת תהליך של הידור (compilation). תהליך זה הופך את שלל שורות הקוד לתוכנה מוגמרת וסגורה. אחרי שהתבצע תהליך ההידור, המשתמש לא יכול לגשת או לראות את הקוד שעל בסיסו פותחה התוכנה. המשמעות היא שלא מתאפשרת גישה ממשית למבנה התוכנה ולכן לא ניתן לבצע בה שינויים על-ידי גורמים חיצוניים. כך, אם רכשתם תוכנת Windows, אתם מחויבים לפי חוזה הרכישה שלא לבצע שינויים בתוכנה עצמה או לשנות את קוד המקור שלה. קוד המקור בתוכנות סגורות אלו הינו קניינם הבלעדי של החברות ולא ניתן לצפות בו או לשנותו. המשמעות הרחבה יותר היא שגם אם יש לכם רעיון ויכולת לשפר את המערכת (אף ללא מטרות רווח), אין יכולת להטמיע שינויים בתוכנה עצמה והלקוח תלוי באופן מוחלט בחברה שסיפקה לו את התוכנה לביצוע שדרוגים ושיפורים.
Open Source - מהו "קוד פתוח"? הקוד הפתוח הינו דיסיפלינה המורכבת מכללים ומנהגים לפיה ראוי שמפתחי תוכנה לא יגבילו את הגישה לקוד המקור של התוכנות, ושהתכלית של קידמה והרחבת הידע האנושי המצרפי הינה עליונה אל מול השיקולים הכלכליים הצרים של תאגידי התוכנה. באופן פרדוקסלי, קוד פתוח אינו עומד בסתירה להיגיון כלכלי אלא אף מלווה אותו, וזאת נראה בהמשך. תנועת הקוד הפתוח נוצרה בתגובה למצב שתואר לעיל בו חברות פיתוח תוכנות מתוך שיקולים כלכליים טהורים ולא אפשרו גישה לקוד עצמו. התנועה, שהחלה עוד ב-1988, קיבלה תאוצה משמעותית עם חדירת האינטרנט ב-1998 כאשר מיליוני מפתחים קיבלו גישה למערכות ותוכנות שעמיתיהם פיתחו תחת "קוד פתוח" ושאותן הם יכלו לשפר ולהוסיף עליהן. ברמה הבסיסית, "קוד פתוח" מתאר סוג של הסכם בין מפתח התוכנה לבין קהל המשתמשים והמפתחים לפיו, המפתח מאפשר לציבור הרחב גישה לקוד המקור של המערכת, הוא מאפשר לשנותה תוך השארת קרדיט למפתח בקוד עצמו, ולפתח שיפורים ושדרוגים למערכת עצמה. המשמעות היא, שלאחר שתוכנת קוד פתוח משוחררת לעולם, היא יכולה לקבל חיים משל עצמה, לייצר אפליקציות נלוות, ולעבור אבולוציה בידיהם של מיליוני מפתחים מרחבי העולם. כך, המוצר ממשיך להשתפר, ונוצרות קהילות המתמחות במערכת ופועלות לשם שיפורה. אם נשווה את התהליך לתהליך הפיתוח של מערכת קוד סגור, נראה את היתרונות הבולטים של הקוד הפתוח: חברה תשקיע מספר מסוים של תוכניתנים לפיתוח המערכת. המערכת תשוחרר לעולם עם לא מעט בעיות ותדרוש הקצאת משאבי פיתוח נוספים מצד החברה. שיפורים בתוכנה יהיו אפשריים רק אם תגיע דרישה/מימון מהלקוחות ואפליקציות נלוות יכולות להיות מפותחות רק על-ידי החברה עצמה, עובדה המגבילה את ההיצע של תוכנות נלוות. מה ההיגיון הכלכלי העומד בבסיס הקוד הפתוח? לכאורה, קיימת סתירה בין מתן אפשרות הפצה חופשית של תוכנה לבין האינטרס הכלכלי של המפתח. הלא הוא עמל שעות על כתיבת תוכנה, והינה היא מופצת חינם לכל דורש. אכן, ניתן לטעון שבטווח הקצר, קיים חסרון כלכלי בעובדה שלא נגבה תשלום עבור התוכנה אולם אפליקציות קוד פתוח מבוססות על מודל כלכלי שונה. ההנחה היא שאפליקציה טובה תהפוך פופולרית ותייצר דרישה לשירותים נלווים כגון תמיכה, ספרות מקצועית, רכיבים נלווים, וכיוב'. המפתח יכול לדרוש תשלום על רכיבים מסוימים או שירותים מקהל משתמשים רחב הרבה יותר מקהל התוכנה שהיה לו אם היה מפיצה בקוד סגור. העובדה שתוכניתנים מכל העולם יכולים לשפר את המערכת תשפר את האטרקטיביות שלה בעיני המשתמשים והם ייטו להעדיף אותה על פני מערכות סגורות בהן קיים חוזה מחייב וסגור בין המשתמש לבין החברה. באינטרנט קיימים מודלים עסקיים וספים ליצירת רווח מתוכנות קוד פתוח. פרסום, למשל, באתר המרכזי של התוכנה, יכול לחולל רווחים גבוהים לאור היקף התעבורה הגדול שמגיע לאתר כדי להתעדכן ולהוריד את האפליקציה. האם זה בטוח? קיימת פרופוזיציה לפיה חינם משמעו לא איכותי. גם כאן טמון פרדוקס כיוון שדווקא לאור העובדה שקיימת אפשרות למפתחים מכל העולם לשפר ולשדרג את המערכת הבסיסית ששוחררה לעולם תחת רישיון קוד פתוח, התוצר הינו איכותי יותר, וחשוב מכך, ממשיך להשתדרג. כדוגמא לבטחון במערכות קוד פתוח, ניתן להציג את המעבר של ממשלות ברחבי העולם (וגם בחינה רצינית של הנושא בישראל) לתוכנת Open Office, תוכנת קוד פתוח המהווה אלטרנטיבה חופשית לחבילת ה-Office של מיקרוסופט. זוהי דוגמא אחת למשקל הגובר של אפליקציות קוד פתוח בעולם ולנכונות של גופים גדולים, חברות וממשלות לעשות את המעבר שבטווח הארוך יאפשר חסכון אדיר של משאבים וכלי עבודה אפקטיביים יותר. במקום לחכות שחברת מיקרוסופט תוציא עדכון חיוני לתוכנת Word, יוכל הארגון לפנות לאחת ממספר גדול של חברות להצעת מחיר לעבודה המבוקשת או אף לעשות זאת בעצמו על-ידי הקצאת תוכניתנים ייעודיים לנושא. האינטרס של הלקוח בבחירת מערכת קוד הפתוח כלקוח של בניית אתרי אינטרנט קיים אינטרס מובהק בבחירת פלטפורמת קוד פתוח מכמה טעמים:
סיכום מרבית הלקוחות אינם אנשי מקצוע בתחום האפליקציות לרשת ולכן הם נדרשים לסמוך על חברת בניית האתרים שתיקח את השיקולים הנכונים בבחירת המערכת ורכיביה. העלות שגובה החברה בעבור התקנה והתאמה של מערכת קוד פתוח לצורכי הלקוח משקפת את הזמן שמושקע מצידה בבחינת האלטרנטיבות השונות הקיימות, בחירת המערכת והרכיבים הראויים והאמינים ביותר מתוך המגוון הרחב, וביצוע שיפורים והתאמות לרכיב הבסיסי וכן את הזמן המושקע בתהליך ההתקנה עצמו. גילוי נאות - ג'י סייט עוסקת בניית אתרי אינטרנט, בין היתר, על בסיס פלטפורמות קוד פתוח ומספקת שירותים לאפליקציות קוד פתוח, ביניהן מערכות ממבו, ג'ומלה (joomla), דרופל (drupal), ורכיביהם השונים. אנו מאמינים בקידום הקוד הפתוח גם מתוך ראייה שטובת הלקוח מחייבת בחירה באלטרנטיבה זו ואנו דואגים לתרום לקהילת הקוד הפתוח בעולם על-ידי שחרור רכיבים שפותחו על-ידי תוכניתני ג'י סייט תחת רישיון קוד פתוח (GNU/GPL) לשימוש חופשי. |