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