מה ההבדל בין RHEL ל-CentOS?

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

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

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

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

המוצרים גם נתמכים לאורך שנים רבות יותר מהפרויקטים שעליהם הם מבוססים. למשל כל גרסת RHEL נתמכת במשך עשר שנים, עם אפשרות לרכוש תמיכה גם מעבר לזה. ז"א למשל, אם מתגלה היום פרצת אבטחה חמורה בקרנל 2.6.32, שזו הגרסא שהיתה ב-RHEL 6, אז למרות שרשמית קרנל 2.6.32 הגיע לשלב EOL (סוף החיים) שלו מבחינת הפיתוח כבר ב-2016, רד הט תספק ללקוחות שלה תיקונים עד 2020, תוך מחויבות לשמור על תאימות בינארית מלאה - כלומר שתוכנות שקומפלו על הקרנל הזה ימשיכו לעבוד בלי בעיות.

במקרה של RHEL, רד הט בשיתוף עם יצרני חומרה ותוכנה אחרים עושה לו גם תהליך של certification - כלומר אישור רשמי לכך שהם תואמים ועובדים ביחד כראוי. זאת אומרת שאם תקנה certified hardware היא תעבוד בוודאות עם RHEL, ואם תתקין certified software אז בוודאות התוכנה תעבוד כראוי על RHEL. במקרים מסוימים זו גם סיבה מספקת לרכוש מנוי אפילו אם אין צורך בשירותים האחרים - כי למשל ספק תוכנה מוכן לתמוך בתוכנה שלו רק אם היא רצה על פלטפורמה “מאושרת”.

הפצת CentOS למעשה, לפחות בעבר, היתה הפצה שלקחה את כל קוד המקור של RHEL (שהוא פתוח וחופשי כמובן), הסירה ממנו את כל הסימנים הרשומים של רד הט, וקימפלה מחדש את כל ההפצה בכל פעם שיצאה גרסא חדשה. התוצאה של זה הוא שמדובר בתהליך שלוקח זמן - וכך למשל כדי לקבל תיקונים צריך לחכות לקימפול מחדש של הקוד לאחר שהוא שוחרר, מה שיכול לחשוף למשל מי שמשתמש בסנטוס לפרצות אבטחה שכבר תוקנו לפרק זמן מסוים.
ב-CentOS 8 יש שינוי מסויים בתהליך הזה שנקרא CentOS Stream - בעצם במקום לחכות לשחרורים חדשים של סנטוס, אפשר לצרוך מעין “centos unstable” שמקבל עדכונים שוטפים כל הזמן מהקודבייס של RHEL ולא רק כשיוצאת גרסא חדשה - כלומר, עדכני יותר אבל פוטנציאלית פחות יציב. למידע נוסף על השינוי הזה - https://www.redhat.com/en/blog/transforming-development-experience-within-centos

2 לייקים

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

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

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

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

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

ושוב תודה על ההסבר לעיל!

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

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