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