יצא לי לראות הרבה מאוד הסברים על ההבדל בין מערכות ניהול תוכן שמבוססות על קוד פתוח לעומת מערכות ניהול תוכן שמבוססות על קוד סגור כשהתחלתי את דרכי בתחום, והאמת שאף אחד מהם לא באמת גרם לי להבין את ההבדל האמיתי בינהם. רק אחרי כמה שנים כשכבר הפכתי למקדם אתרים ויצא לי להתעסק עם כמה וכמה מערכות בסופו של דבר הצלחתי לחבר יחד את הנקודות… אז עכשיו אני אחסוך לכם את התהליך והארוך שאני עברתי ואת ההסברים במקורות אחרים שנראה שנכתבו רק עבור אלו שכבר שוחים טוב בחומר ואפשט לכם את ההבדל בין השניים תוך פחות מדקה.
קוד פתוח וקוד סגור בדוגמא שכולנו מכירים
בוא ניקח לדוגמא את תוכנת הword. כן כן, אני מדבר על מעבד התמלילים הזה של אופיס שאתם משתמשים בו לא מעט (ואני משתמש בו כרגע כדי לכתוב את המסמך הזה לפני שאעלה אותו לאתר שלי). כשאתם מעוניינים לערוך מסמך כלשהו, אתם פותחים אותו ובמסך שנמצא מולכם אתם יכולים לשנות את כל הדברים שנמצאים בתוך הדף עצמו בהמון צורות שונות. אתם יכולים להוסיף בתוך המסמך עוד שורות, עוד פסקאות, מספרים, הדגשות, קווים תחתיים, יכולים לסדר את הכיתוב משמאל לימין או הפוך…. אתם מבינים את הרעיון, יש לכם ים של אופציות לערוך את המסמך.
אבל מה אי אפשר לערוך?! אי אפשר לערוך את התפריט למעלה. כלומר אופציות העריכה שתוכנת הוורד נותנת לי לא ניתנות לשינוי. סתם לדוגמא, אני לא יכול פתאום לייצר בסרגל העליון בוורד את שורת הפונקציות שיש באקסל, לכתוב בה נוסחה ולצפות שתוכנת הוורד תבצע עבורי את החישוב. אני לא יכול להוסיף כפתור הצגה של המסמך כמו שיש בפאוורפויינט, ללחוץ עליו ואז לעבור למצב הצגה, ואני גם לא אוכל לייצר כפתור שליחת המסמך במייל כמו באאוטלוק ובלחיצה לשלוח את כל מה שאני כרגע כותב לחבר. למעשה, כאשר אני משתמש בוורד אני מוגבל בשימוש שלי רק לאופציות שהתוכנה מקצה עבורי.
טוב, סבבה, ואיך זה קשור למערכות ניהול תוכן ?!
הקשר הוא שהתיאור שנתתי על תוכנת הוורד הוא בדיוק אותו תיאור של בניית אתרים עם מערכת ניהול תוכן שעובדת עם קוד סגור. במערכת כזו לא ניתן לעשות שני דברים
– לא ניתן לשנות את סרגל הכלים ואופציות העריכה
– כתוצאה מהסעיף הקודם – אני מוגבל לעריכת המסמך/הדף רק לפי האופציות העריכה שהתוכנה נותנת לי
במערכת קוד פתוח לעומת זאת, זה עובד אחרת. במערכות אלו ניתן לשנות גם את אופציות העריכה. אם נחזור לדגמאת מסמך הוורד, במערכת קוד פתוח אני יכול (אם אני מתכנת) לשנות גם את הסרגל כלים העליון, להוסיף לו אופציות או להוריד ממנו אופציות (בדיוק כמו האופציות שתיארתי קודם לכן) וכך אינני מוגבל לאפשרויות העריכה שהתוכנה מציעה אלא יכול לשנות אותם בעצמי. וכך למרות שמערכות קוד סגור ניחנות במספר רב של אופציות עריכה הן עדיין לא יכולות להגיע לגיוון של מערכות קוד פתוח שבהן נוצרת לי אפשרות אינסופית לשינויים.
אוקיי, ובפועל איך מערכת ניהול המבוססת על קוד פתוח עוזרת לי ?
עכשיו, ברור שאם עד היום לא הבנתם את ההבדל בין מערכת ניהול תוכן שמבוססת על קוד פתוח לבין זו שמבוססת על קוד סגור, אף אחד לא יצפה ממכם להתחיל לערוך את מבנה סרגל הכלים שלכם בעצמכם. אז מי כן יעשה את זה?! אינספור מתכנתים שיושבים וכותבים תבניות ותוספים (פלאגינים) שאותם ניתן להוריד דרך ממשק הוורדפרס ולקבל את אפשרויות העריכה שחסרות לכם. תבניות ופלאגינים אלו, אגב, הם אלמנטים שלא קיימים במערכות ניהול תוכן המבוססות על קוד סגור מאחר ואלו מתיימרות לייצר מערכת טובה מספיק עבור הצרכים של המשתמש שלה כך שלא יהיה צורך בשום תוספת מבחוץ.
וזה כל העניין, אפשרות להוריד תבניות ופלאגינים שמשנים את המערכת ומוסיפים לה פונקציות נוספות היא ההבדל בין שני סוגי המערכות.