זו תגובה לZull, שטען שמספר בעיות האבטחה שמתגלות הוא נגזר ממספר המשתמשים בקוד, לאחר שהשוותי בעיות אבטחה בפרוייקטי קוד פתוח מול מוצרי מייקרוסופט מקבילים.
בחרתי להגיב כאן כי פה מותר לי להכניס יותר מ1000 תווים (אהם).
בוודאי שכמות בעיות האבטחה שמתגלות קשורה לכמות השימוש בקוד, אבל זה לא הגורם המרכזי. באיזו שהיא רמה, זה כבר לא משנה אם משתמשים בקוד 10 מיליון אנשים 100 מיליון.
מה שיותר משפיע זה:
1. היציבות של הקוד: בעית אבטחה = באג, לקוד שלא משתנה לא נכנסים באגים חדשים, לכן כמות בעיות האבטחה (הקיימות, בלי קשר אם התגלו או לא) יורדת.
2. התכנון של המערכת:
במערכת עם תכנון לקוי, יש לך יותר בעיות אבטחה מפונקציות.
3. האיכות של הקוד.
4. כמות הביקורת שהקוד מקבל.
אם לתת דוגמאות:
חלונות XP בת 6, ועדיין מתגלות בה בעיות אבטחה.
הבעיות נובעות מאיכות קוד נמוכה ומבעיות תכנון, והן ממשיכות להתגלות למרות היציבות של המערכת (רובם המכריע של השינויים הם תיקוני באגים, לא תכונות חדשות).
בסיס הקוד של הקרנל של לינוקס מאוד מאוד לא יציב, שינויים מאסיביים ומהפכות קורות כל הזמן, ולמרות זאת כמות בעיות האבטחה שמתגלות בו נמוכה.
הסיבה היא שאיכות הקוד גבוהה, ויותר חשוב, התכנון טוב.
לגבי אפאצ'י, אתה יכול לראות שמספר בעיות האבטחה החדשות שמתגלות הוא קטן מאוד.
אפשר לומר שרובן נמצאו ותוקנו.
פה זה עניין של תכנון נכון, ושל יציבות של בסיס הקוד.
IIS לעומת זאת יציב לא פחות, וובכל זאת מתגלות בו בעיות אבטחה על ימין ועל שמאל.
הקוד של מוצרים סגורים מקבל מעט מאוד ביקורת.
של מוצרים פתוחים מקבל הרבה, אפילו ההאקרים שמנסים למצוא בו חורים עושים לו שרות.
זה לא אומר שאי אפשר לכתוב קוד פתוח רע, אפשר גם אפשר, אבל ההתכנסות שלו לכיוון קוד טוב ונקי היא הרבה יותר מהירה מאשר במוצרי קוד סגור, ולו בגלל שהמוטיבציות של המפתחים שונות לגמרי:
קוד סגור: "אני רוצה לסיים את הפיצ'ר המזויין, שלא היה בתוכנית המקורית ולכן ישתלב כמו פיל בחנות חרסינה בקוד שלי, שפעם היה יפה"
קוד פתוח: "מה? הפיצ'ר הזה לא היה בתכנון, אני לא עושה אותו. אם אתם נורא רוצים תפצלו את הפרוייקט ותעשו את זה בעצמכם, בהצלחה, ואל תבואו אלי בוכים אחר כך".