5. קוד פתוח – טוב לכולם
מגמה עולה בארגונים לשימוש בקוד פתוח ומצד שלישי
ניהול רישיונות תוכנה כחלק מתהליכי איכות בפיתוח
התפתחות תהליכי ניהול איכות להכלת כל או חלק
מהצעדים הבאים ...
9. תהליך שמונת השלבים של OSSAP
OSSAP = Open Source Software Adoption Process
מבוסס על מחקר רוחב של תהליכים ארגוניים כיום ועל הניסיון
המעשי של מומחי חברת פרוטקוד בשנים האחרונות. חלק
מהניסיון הזה נרכש תוך כדי ביצוע שירותי בקרת קניין רוחני (IP
)Auditעבור מספר רב של ארגונים וחברות טכנולוגיות, כחלק
מתהליכי בדיקת נאותות ) (Due Diligenceעל סף פעילות רכישה,
ולעיתים של מוצר הכולל תוכנה לפני שחרור לשוק או ללקוח
10. שמונת השלבים – גרסה מקוצרת
1. הגדרת מדיניות שימוש ברישיונות
2. הגדרת תהליך אישור מראש לתוכנה
3. ניתוח מצב הרישיונות הקיימים
4. ניתוח קוד ממקור חיצוני
5. ניתוח והערכה תקופתיים
6. ניתוח בזמן-אמת, בזמן מסירת קוד לשרת ניהול גרסאות
7. ניתוח בזמן אמת, ברמת עמדת העבודה של המפתח
8. ניתוח התוכנה לפני שחרור הגרסה
12. 1. הגדרת מדיניות שימוש ברישיונות
( חובה) בשלב ראשון על הארגון להגדיר בצורה מסודרת ומרכזית
o
o
o
o
תנאי רישיון מקובלים עליו
תנאים אינם מתאימים
ספקים מורשים
מוצרי תוכנה או חבילות תוכנה הארגון מאשר לשימוש
המדיניות תגדיר
oתהליך לבקשה וקבלת אישור עבור חבילות תוכנה
oנקודות בקרה של התוכנה בשלבי הפיתוח השונים
oמה יש לבצע כאשר מתגלה הפרה של המדיניות
הגדרת "דיגיטלית" / ממוחשבת של המדיניות מאפשרת קישור
לכלים אוטומטיים לניהול הרישיונות אשר עשויים להיות מופעלים
כחלק מהתהליך הכולל
13. 2. הגדרת תהליך אישור-מראש לתוכנה
( רשות) בשלב זה מגדירים ומטמיעים תהליך לקבלת אישור
לשימוש בחבילת תוכנה חיצונית
oמבטיח שימוש עבור סט מוגבל ומבוקר היטב של חבילות שעברו ניתוח
ואשר תנאי השימוש מובנים היטב עבור גרסה ספציפית
תהליך זה כולל את השלבים הבאים:
o
o
o
o
המפתח מבקש אישור לשימוש בחבילת התוכנה החיצונית. הבקשה צריכה
להכיל כמה שיותר פרטים על החבילה (מקור, גרסה, אופן השימוש וכו')
הבקשה נרשמת ומתוייגת במאגר רלוונטי באופן שמאפשר מעקב
לאחר רישום הבקשה – בחינה ע"י גורם רלוונטי (ועדת אישורים) בארגון
הבקשה מאושרת או נדחית והמפתח מקבל הודעה על כך
14. 3. ניתוח מצב הרישיונות הקיימים
( חובה) ניתוח הפורטפוליו הקיים בארגון אל מול
המדיניות המוגדרת בשלב הראשון
מטרות הבדיקה
oוידוא שלא נעשה שימוש בתוכנה חיצונית שלא בהתאם
לתנאים המוגדרים ברישיון השימוש
oאו לבצע תיקונים במקרים שבהם התגלתה אי התאמה בין
תנאי הרישיון לשימוש בפועל
15. 4. ניתוח קוד ממקור חיצוני
( חובה) ניתוח ובקרת רישיונות של כל קוד ו/או חבילת
תוכנה שמקורם מחוץ לארגון
הארגון הוא זה שנושא באחריות עבור המוצר המוגמר
הכולל גם חבילות תוכנה מצד שלישי ולכן עליו לבצע
ניתוח של כל
o
o
o
o
o
תוכנה שסופקה ע"י צד שלישי
תוכנת צד שלישי הכוללת תוכנה שסופקה ע"י קבלן או מיקור-חוץ
תוכנה שהארגון בוחן לשם ביצוע החלטת רכישה
תוכנה שנרכשת מספק חיצוני
ואף תוכנות קוד פתוח
16. 5. ניתוח והערכה תקופתיים
( רשות) סקירה של כלל הקוד בתדירות קבועה מראש בכדי לבחון
את השינויים שבוצעו בתוכנה
בד"כ סקירה זו נעשית אחת לשבוע או אחת לחודש
oיש להימנע מביצוע סקירה חד פעמית לפני הוצאת גרסה או בהתאם
לבקשת לקוח בלבד
oמשום שעלות תיקון התוכנה בשלבים אלו גבוהה באופן משמעותי ביחס
לתיקונים שמתבצעים תוך כדי העבודה השוטפת
ניתן לדלג על שלב זה אך ורק-אם בארגון מתבצעות סקירות
אוטומטיות בשלבי מסירת הקוד לשרת ) (Library Check-inו/או
בזמן אמת בסביבות הפיתוח
ההמלצה היא להשאיר שלב זה בכל מקרה כמעגל בקרה נוסף
17. 6. ניתוח בזמן מסירת קוד לשרת SCM
(רשות) כל קובץ חדש או שעבר שינויים נבדק לפני הכנסתו
למערכת ניהול הקוד )(check-in
בכך מבטיחים שקוד חדש שנכנס למערכת, מאובחן ונבדקים סוגי
הרישיונות שהוא כולל
במהלך הבדיקה נעשית השוואה מהירה בין הרישיונות בהם נעשה
שימוש ובין ספריית הרישיונות המאושרים לשימוש בהתאם
למדיניות החברה
חוסר התאמה מדווח לגורם הרלוונטי בארגון לשם בדיקה ומתן
הנחיות בהתאם
18. 7. ניתוח ברמת עמדת העבודה של המפתח
( רשות) בדיקה קצרה ומהירה אשר מתבצעת באופן אוטומטי
ושקוף (ברקע), בעמדת העבודה של המפתח, תוך כדי פיתוח
הניתוח נותן מענה מיידי למפתח האם החבילה שבה עשה שימוש
באותו רגע מאושרת לשימוש בהתאם למדיניות החברה או לא
היזון חוזר מיידי למפתח המאפשר
oתיקון מהיר וקל של הבעיה הפוטנציאלית
oלחילופין הוספת הערה ע"י המפתח תוך המשך עבודה (אין פגיעה בשטף
תהליך הפיתוח). הערה זו נרשמת בלוג ומפוקחת ע"י מנהל הפרויקט ו/או
לאחראי על הקניין הרוחני
19. 8. ניתוח התוכנה לפני שחרור גרסה
( חובה) צעד זה הכרחי ומטרתו להבטיח שקיימת הבנה
מלאה של תכולת המוצר והמחויבויות הקשורות אליו, לפני
הוצאתו / שיחרורו לשוק וחשיפה ללקוחות
שלב זה כולל ניתוח של הקוד הנצרך בפועל כחלק
מתהליך בניית התוכנה מיפוי הרישיונות ומשמעות
השימוש בהם
שלב זה צריך להוות חלק
oמתהליך בקרת האיכות
oומרשימת התנאים לשחרור גרסה )(release check-list
21. כללי / סיכום
שילוב של מספר מעגלי בקרה ברמות שונות ובמספר נקודות
בקרה תוך כדי תהליך הפיתוח מאפשר רמה מקסימאלית של
בטחון תוך מינימום פגיעה בשטף תהליך הפיתוח
תהליך מסודר ומדיניות ברורה לגבי הכנסת קוד חיצוני/חדש,
יבטיחו זיהוי יעיל של בעיות פוטנציאליות בשלבים מוקדמים של
תהליך הפיתוח
איתור של קוד בעייתי, מוקדם בתהליך הפיתוח, מצמצם באופן
משמעותי את העלויות הכרוכות בתיקון הקוד (או החלפתו) לפני
שהוא שוחרר או גרוע מכך, לאחר ששוחרר
24. Protecode Solution Portfolio
Complete Portfolio
o
Advanced, Easy-to-adopt Solution
Workflow for license management
o
o
o
Intelligent: Scanned files will not be reanalyzed unless they are modified
Seamless interworking
Intuitive, fast
Real-time and on-demand analysis
o
Full implementation of Open Source Software
Adoption Process (OSSAP)
Unique in industry
Choice of
o
o
Global IP Signatures (GIPS) reference database
On-premises Enterprise IP Signature (EIPS)
database
24
25. חדשנות ואיכות בפיתוח תוכנה
Klocwork
– analyze your code to find
security issues & bugs
Metaforic
– protect your code against Tampering,
Reverse-Engineering & Code-Lifting
Codenomicon – intelligent fuzzing of protocols for
security & robustness
PlasticSCM
– the most advanced and flexible
SCM & ALM solutions