דף הבית  >> 
 >> 

הרשם  |  התחבר


למה לבחור בקוד פתוח? 

מאת    [ 02/04/2008 ]

מילים במאמר: 1055   [ נצפה 4110 פעמים ]

מהו קוד/קוד מקור - Source Code?

לפני שמתחילים לדבר על קוד פתוח, יש להבין מהו קוד או קוד מקור. קוד המקור הוא למעשה ה-DNA של התוכנה, המרשם הבסיסי ליצירת אותה תוכנה, הכתוב בשפת תכנות כמו C/C++, Java וכיוב'. אחרי שהתוכניתן מסיים לפתח את התוכנה, היא עוברת תהליך של הידור (compilation). תהליך זה הופך את שלל שורות הקוד לתוכנה מוגמרת וסגורה. אחרי שהתבצע תהליך ההידור, המשתמש לא יכול לגשת או לראות את הקוד שעל בסיסו פותחה התוכנה. המשמעות היא שלא מתאפשרת גישה ממשית למבנה התוכנה ולכן לא ניתן לבצע בה שינויים על-ידי גורמים חיצוניים. באופן מסורתי, תוכנות שפותחו על-ידי חברות לא אפשרו גישה לקוד המקור של המערכת. כך, אם רכשתם תוכנת Windows, אתם מחויבים לפי חוזה הרכישה שלא לבצע שינויים בתוכנה עצמה או לשנות את קוד המקור שלה. קוד המקור בתוכנות סגורות אלו הינו קניינם הבלעדי של החברות ולא ניתן לצפות בו או לשנותו. המשמעות הרחבה יותר היא שגם אם יש לכם רעיון ויכולת לשפר את המערכת (אף ללא מטרות רווח), אין יכולת להטמיע שינויים בתוכנה עצמה והלקוח תלוי באופן מוחלט בחברה שסיפקה לו את התוכנה לביצוע שדרוגים ושיפורים.

Open Source - מהו "קוד פתוח"?

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

מה ההיגיון הכלכלי העומד בבסיס הקוד הפתוח?

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

האם זה בטוח?

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

האינטרס של הלקוח בבחירת מערכת קוד הפתוח

כלקוח של חברת בניית אתרים, קיים אינטרס מובהק בבחירת פלטפורמת קוד פתוח מכמה טעמים:

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

סיכום

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

אבישי שרון - צוות פיתוח עסקי, ג'י סייט

בניית אתרים


עיצוב אתרים



מאמרים חדשים מומלצים: 

חשבתם שרכב חשמלי פוטר מטיפולים? תחשבו שוב! -  מאת: יואב ציפרוט מומחה
מה הסיבה לבעיות האיכות בעולם -  מאת: חנן מלין מומחה
מערכת יחסים רעילה- איך תזהו מניפולציות רגשיות ותתמודדו איתם  -  מאת: חגית לביא מומחה
לימודים במלחמה | איך ללמוד ולהישאר מרוכז בזמן מלחמה -  מאת: דניאל פאר מומחה
אימא אני מפחד' הדרכה להורים כיצד תוכלו לנווט את קשיי 'מצב המלחמה'? -  מאת: רזיאל פריגן פריגן מומחה
הדרך שבה AI (בינה מלאכותית) ממלאת את העולם בזבל דיגיטלי -  מאת: Michael - Micha Shafir מומחה
ספינת האהבה -  מאת: עומר וגנר מומחה
אומנות ברחבי העיר - זרז לשינוי, וטיפוח זהות תרבותית -  מאת: ירדן פרי מומחה
שיקום והעצמה באמצעות עשיה -  מאת: ילנה פיינשטיין מומחה
איך מורידים כולסטרול ללא תרופות -  מאת: קובי עזרא יעקב מומחה

מורנו'ס - שיווק באינטרנט

©2022 כל הזכויות שמורות

אודותינו
שאלות נפוצות
יצירת קשר
יתרונות לכותבי מאמרים
מדיניות פרטיות
עלינו בעיתונות
מאמרים חדשים

לכותבי מאמרים:
פתיחת חשבון חינם
כניסה למערכת
יתרונות לכותבי מאמרים
תנאי השירות
הנחיות עריכה
תנאי שימוש במאמרים



מאמרים בפייסבוק   מאמרים בטוויטר   מאמרים ביוטיוב