21-08-2015, 18:47
|
|
|
חבר מתאריך: 16.07.14
הודעות: 402
|
|
ישנן סיבות ביורוקרטיות, טכנולוגיות וטכניות
מעבר לסיבות הפוליטיות והעסקיות המובנות של מניעת תחרות, ישנן סיבות ביורוקרטיות, טכנולוגיות וטכניות.
נתחיל בביורוקרטיות. לקח שנים רבות להסכים על תקן ה-USB והייתה רק סיבה אחת למה זה הצליח - ללא תקן, שוק מוצרי המעטפת לא היה גדל. משתמשים פחדו לקנות כי היה קשה לחבר (זוכרים התקנת כרטיס הרחבה סקאזי עבור סורק???), היה צריך להתקין דרייבר ולקוות שתצליח לקנפג. בעולם הנשק אין כזה דבר, אתה לא קונה מטוס+פצצה ו"מסתדר" לבד. זה תמיד בא עם תמיכה, כמו רכישת מחשב מותג. יותר יקר, אבל הכרחי לגופים גדולים. שוק הנשק לא תלוי בנוחות השימוש של המוצר, ולכן אין בהכרח לחץ חזק מהלקוחות. בנוסף היה את מיקרוסופט ואינטל שפשוט כפו על אחרים. בעולם הנשק אין הגמוניה כמו בעולם המחשבים של שנות ה-90'. ועדיין היה לא מעט תקנים שכשלו (בעצם הרוב כשל) למרות שנולדו בתנאים דומים.
סיבות טכנו-עסקיות. תקן בסגנון USB ולשליטה בפצצות הוא כפול: חומרה ותוכנה. החומרה מאוד פשוטה ואין לאף יצרן כל יתרון ממשי בתחום. ההתקנים מאוד ברורים יחד עם הדרישות שלהם מהבסיס, ולכן אין אינטרס לסטות ממנו. אבל אם נזוז לתחום תחרותי כמו אחסון ותקשורת, אזי אין USB ויש תקנים יותר מורכבים, ואם נמשיך למובילים בתחום כמו אינפיניבנד, אזי מגיעים לפרוטוקולים מאוד ייחודיים ללא כל תקן כאשר כל יצרן סוחט את הטרנזיסטור האחרון. ב-USB גם צד התוכנה פשוט וידוע, גם אם המוצרים שונים קיים מנגנון הרחבה בסיסי. אבל נלך לתחום התחרותי של כרטיסי מסך/פיזיקה ומגיעים לפרוטוקולים מנוגדים של כל חברה. שם הסודיות כל כך גבוהה שאין אפילו תיעוד למה יש וכיצד עובד (בלינוקס בלובים אטומים במקום קוד פתוח כמקובל) ורק חבילות שימוש.
ישנו מאמץ אדיר של הלקוחות לכפות תקן, לפחות בצד התוכנה. בחומרה זה קשה כי ליצרניות המובילות עדיין יש יותר כוח, ובתגובה נכנסים רעיונות כמו רשתות מנוהלות תוכנה וכדומה. בתוכנה ישנם את DirectX, OpenGL, OpenCL, OpenMP שרוב הלקוחות משתמשים בהם. אבל אם אתה בונה מחשב על או צביר חישובים במיליונים אתה תעבוד דרך חבילת היצרן כדי לנצל עד הסנט האחרון ששילמת. זה תואם לתעשיית הנשק היקרה - שילמת מיליונים על המוצר הכי טוב ואתה רוצה לנצל אותו עד תום. בנשק הסודיות כמובן עוד יותר גדולה בגלל נושאי ביטחון לאומי. למשל אתה רוצה להגדיר תקן למכ"מים. התקן חייב לתמוך בכל הסוגים האפשריים וכל היכולות, ובשביל זה כל היצרנים חייבים לגלות הכול. אף יצרן לא הולך לספר שבדגם AESA האחרון שלו יש יכולת תקשורת בפס רוחב גבוה בדילוג רנדומאלי מבוסס גבישי קריפטונייט שנחצבו במאדים. לכן מסכמים שבתקן ישנו מנגנון הרחבה ליכולות מיוחדות, ואז אחרי שנתיים מגלים שכולם עוברים רק דרך מנגנון ההרחבה והתקן הפך לחסר ערך (מה שקרה כמעט לכל תקן).
בקצרה על סיבות טכניות. עולם תוכנות הבקרה והשליטה מפגר מאחורי עולם התוכנה המודרני בהרבה ומסיבות טובות. ראשית תחילתן של מערכות אלו בשנות ה-60' עם שפות התכנות והמתודולוגיות של אז. ומאז רק משדרגים, כי אף אחד לא רוצה בטעות להרוס משהו כי אין תיעוד מספק והאנשים בפנסיה או בקבר. לכן הבנקים עדיין מריצים קובול ופורטרן, וכל האפליקציות והאינטרנט הן מעטפות דקות בגרוש. המתודולוגיות הותיקות לא התלהבו מפתיחות, פיתוח משותף/מקבילי ואינטגרציה. זה לא היה נחוץ ואף פוגע (למרות שרעיונות ה-Agile נולדו כבר אז, הן לא התאימו תרבותית ותקופתית). חברות פיתחו שפות תכנות משלהן כי זה העניק להן יתרון (לרוב דימיוני), היה שימוש במודלי זיכרון ייחודיים ומותאמים לחומרה מה שמונע אינטגרציה עם חומרה מתחרה ו/או אף שפת תכנות אחרת. כמענה לבעיות אלו משרד הביטחון האמריקאי כפה את שפת עדה על היצרנים. זה הביא ליותר אחידות, איכות, בטיחות ופתיחות. אבל זה היה רק אמריקאי, התמסמס עם השנים, והיום כמעט ולא ניתן לגייס כוח אדם מתאים. בסופו של דבר מחובת שימוש זה הידרדר להמלצה ובסוף בדרך להיזנח לתמיד.
עבודה מול מערכות נשק לרוב דורשת יכולות מיוחדות מובנות לשפה כדי לתמוך בתגובות זמן אמת - כאשר אתה יורה אתה לא רוצה באמצע להיתקע בקריאה מהדיסק. זה כבר זורק 99% מהשפות הקיימות לפח. ישנם פתרונות כמובן בדמות הפרדת מערכות ועוד שלל ז'רגון טכני שבטח כבר נמאס לקרוא. הרעיון הוא שבמה שהולך כיום תקן טכני הוא מאוד מורכב מסיבות היסטוריות ותרבותיות. מצד אחד צריך משהו חדש, אבל בו-זמנית מוכח ויציב.
אך כידוע עוד לא אבדה תקוותנו. למשל משרד ההגנה הבריטי החל לדרוש open systems בתוכניות הרכש שלו, ה-F-35 מכיל ארכיטקטורה פתוחה לשליטה (חלקית) במערכות הנשק, ה-Typhoon דורש בכלי נשק עתידיים יתמכו מראש בחיבוריות מסוימת ועוד. אני לא חושב שנראה תקן אוניברסלי גדול בסגנון USB, אבל תקנים קטנים ועצמאיים לחומרה מסוגים שונים בהחלט יבואו. כיום הרבה חיבורים פיזיים כבר מתוקננים, ונשאר לטפל באלקטרוניקה. בשנים האחרונות ישנו מעבר לפרוטוקולים סדרתיים על חשבון מקביליים משיקולי פשטות, יעילות, בטיחות ועלות ואותם גם הרבה יותר קל לתקנן. בצד התוכנה יותר מורכב משיקולי גילוי יכולות, אבל אפילו אותו מנגנון הרחבה שהשמצתי יכול להוות צעד ראשון. הסכמה על מודל חישובי כבר יפשט ויקל על פיתוח ואינטגרציה.
ככל שנשק מתוחכם יהפוך למוצר בסיס (מחשבה מפחידה בפני עצמה), הלחץ מלמטה מהלקוחות יגבר ויביא למאמצי תקנון.
|