כיצד ליצור תוכנית קוד פתוח
כאן, נדון בשיקולים המרכזיים ליצירת תוכנית קוד פתוח.
למה אנחנו מתכוונת ב"קוד פתוח?"
תוכנית קוד פתוח היא יותר מגישה ציבורית למסד קוד. זה על פתיחת פרויקט חי להשתתפות של כל מי שרוצה להיות מעורב. כאשר היא מבוצעת כראוי עבור פרוייקט מתאים, תוכנית קוד פתוח יכולה לסייע בשיפורים משמעותיים באיכות המוצר שלך.
אחת הסיבות העיקריות לכך שפרוייקטים של קוד פתוח של חברות היא שהם רוצים שהקהילה תסתבך. פרוייקטים פופולריים מקבלים תרומות משמעותיות מהקהילה, והם מקבלים אותה בחינם.
זה לא בהכרח מתוך אלטרויזם. אנשים וארגונים פרוייקטים מכיוון שהם רואים יתרון אישי או עסקי. כאשר הפרוייקט אינו עונה על הצרכים או הציפיות שלו, הוא עשוי להשתמש בהזדמנות לטפל באגים או להוסיף תכונות. במקום לשמור שיפורים אלה בחזרה במזלגות פרטיים, הם מחויבים לתרום שינויים אלה בחזרה במאגר המקור כדי להפוך לחלק מה הבסיסי של הפרוייקט. מחזור השיפורים המתמשך הזה הוא הסיבה לכך שעסקים מייצרים המשתמשת במודל קוד פתוח.
מטרות קוד פתוח
כדי לסיכום, קיימים שלושה ממדים להשתתפות בתוכנה של קוד פתוח:
- צרכנים, אשר לומדים או משתמשים מאגרים של אחרים.
- משתתפים, המעורבים באופן פעיל בשיפור המאגרים של אחרים.
- מפיקים, אשר בונים ומתחזקים מאגרים משלהם הפתוחים לאחרים.
מאחר שארגונים חושבים בצורה מעמיקה יותר על מה שהם רוצים להפיק מכל ממד, מומלץ לקחת חלק במקום שבו הם נמצאים כיום. קיימות חמש רמות תהליך בכל ממד.
- אד הוק, שאין להם תהליך בתהליך. ההצלחה תלויה במאמצים בודדים.
- מנוהל, שיש להם תהליך מסמכים חלקית. ההצלחה תלויה במשמעת.
- מוגדר, שיש להם תהליך מתועד, סטנדרטי ומ משולב. ההצלחה תלויה באוטומציה.
- נמדד, שיש להם תהליך מנוהל כמותי. ההצלחה תלויה במדידת מדדים כנגד מטרות עסקיות.
- ממוטבת, שיש לה תהליך המשתפר באופן רציף ומהימן הן באמצעות שינויים מצטברים והן דרך שינויים חדשניים. ההצלחה תלויה בהפחתת הסיכון לשינוי.
כדי להבין טוב יותר היכן עומד הארגון שלך, עיין בנושא ההערכות העצמיות של קוד פתוח.
מה צריך להיות קוד פתוח?
פרוייקטים רבים אינם מיועדים לגדולות קוד פתוח. בעוד שהקריטריונים עשויים להשתנות בהתבסס על המטרות ורמת התהליך של החברה שלך, הנה כמה קריטריונים מומלצים שיש לשקול לפני יצירת משאבים פתוחים בפרוייקט:
האם הפרוייקט שלך מכיל קניין רוחני שברצונך להגן עליו? אם כן, פתיחת המקור שלו תספק את הערך שלה. אל תפתח סוגים אלה של פרוייקטים אלא אם אתה חש שהיתרונות עולים על הסיכונים.
האם הפרוייקט נמצא במצב יציב עם איכות קוד טובה? הפרוייקט לא חייב להיות מושלם, אך משתתפים פוטנציאליים עשויים להתרחק אם הפרוייקט נמצא בצורה נוראית תחילה.
האם הפרוייקט שלך שימושי לאנשים מחוץ לחברה שלך? אם לא, סביר להניח שאינך מקבל השתתפות.
האם אנשים מחוץ לחברה שלך יכולים לתרום? הם זקוקים לגישה לכל יחסי התלות של הפרוייקטים, לבנייה של תהליכים ולפעולות אחרות הדרושות להפעלת הפרוייקט. אם הם לא יכולים להפעיל אותו, הם לא יכולים לתרום.
האם לצוות שלך יש רוחב פס לתמיכה בתוכנית קוד פתוח? אם לא, המתן עד שתשמע. אם אתה פותח פרוייקט ואינך תומך בו, אתה עלול לאבד את ההזדמנות שלך לבנות קהילה מהימנים.
שאלות אלה הן רק כמה מהשיקולים הנפוצים ביותר. ייתכן שלארגון שלך יש בעיות עסקיות או תאימות אחרות שיש לזכור.
עיצוב תוכנית קוד פתוח
הפעלת תוכנית קוד פתוח דומה להפעלת תוכנית InnerSource, אך עבור קהל ציבורי. כתוצאה מכך, ישנם כמה שיקולים נוספים.
הגדרת ציפיות הקהילה
קבצים כגון README.md ו- CONTRIBUTING.md חשובים אף יותר מכיוון שהם חשופים לאנשים שאין להם את ההקשר הארגוני שלך. יש להעריך אותם מנקודת המבט של מישהו מחוץ לחברה כדי להבטיח בהירות.
כמו כן, ההתנהגות שלך הוא חשוב לבטא. התקן הוא להוסיף קובץ CODE_OF_CONDUCT.md לבסיס המאגר ולהשתמש בו כדי להסביר את אופן הפעולה הצפוי מהמשתתפים בקהילה שלך. קבוצות מרובות בארגון שלך צריכות לסקור מסמך זה, כולל הצוות המשפטי שלך. למרבה המזל, ישנם קודים סטנדרטיים רבים של התנהגות זמינים מהם להתחיל. פרוייקטים רבים משתמשים בקודים as-is ללא שינוי. קבל מידע נוסף במדריך קוד קוד פתוח של התנהגות.
הכנת עובדים לתחזוקת מאגר
ייתכן שלעובדים אין ניסיון בעבודה עם קהילת קוד פתוח. כדי לעזור להם להתכונן, אנו ממליצים לחברה להציע ערכת מדריכים שמכסה את הדברים הראשונים שכולם צריכים לדעת לפני תחילת העבודה. יש לפרסם מדריכים אלה במאגר או בפורטל פנימיים המתוחזקים באופן קבוע ונגישים רק לעובדי החברה. המדריכים הבאים הם כמה מהחשובים ביותר:
מדריך "האם עלינו לפתוח קוד פתוח בפרוייקט זה?" המספק מסגרת החלטה אם פרוייקט מועמד צריך להיות פתוח או לא. ניתן ליצור מדריך זה כתרשים זרימה, כערכת שאלות או כרשימת שיקולים.
רשימת של הכוללת את כל פריטי העבודה שצוות צריך להשלים לפני ואחרי הפעלת פרוייקט מקור פתוח. רשימה זו אמורה לכלול קבלת אישור כדי לפתוח את הפרוייקט, ביקורות קוד כדי להבטיח שנתונים רגישים יוסרו לפני שהפרוייקט עולה לאוויר, סימן מסחרי או חיפוש פרוייקט קוד פתוח כדי לוודא שאין התנגשות מתן שמות וכן הלאה.
נדרשת קשר קשר עבור אנשים עיקריים בארגון שלך, שייתכן שיהיה צורך ליצור עמך קשר במקרה שתמיכה ישירה של המתחזקים נדרשת. רשימה זו צריכה לכלול אנשים מתוך אבטחת תוכנה, אבטחת אתר, משפטי, יחסי ציבור וכן הלאה.
קישור למאגר שניתן לשכפל כנקודת התחלה. עליו להכיל קובץ README, רשיון, קוד התנהגות, מדריך תרומה וכל קובץ תומך אחר שכל פרוייקט קוד פתוח בחברה שלך צריך להיות ברשותו. היא לא אמורה להכיל שום דבר שלא היית רוצה שנדחפו בטעות לקהל ציבורי.
מדריך המתחזק של שמסביר את האחריות שיש לתחזוקת המתחזק בשמירה על תקינים של המאגר. תחומי אחריות אלה כוללים תיעוד עדכני של המאגר, כדי להבטיח שבעיות ובקשות משיכה ימשוך את תשומת הלב של האנשים המתאימים בזמן וכן הלאה.
מדריך תקשורת מציע למאגר הנחיות עבור חלק מהנושאים שאתה מעדיף שלא לכלול בקבצים ציבוריים כגון
README.md,CONTRIBUTING.mdאוCODE_OF_CONDUCT.md. נושאים אלה עשויים להיות נושאים עסקיים רגישים, כגון לא דנים מתחרים; או נושאים כלליים יותר, כגון כיצד לזהות כראוי משתתפים מובילים.שאלות נפוצות פנימיות תשובות מאושרות לשאלות נפוצות. רשימה זו שימושית במיוחד אם קיימות עדינות משפטיות בנושאים שהחברה שלך עשויה לדון בהם במהלך ניהול תוכנית קוד פתוח.
מדיניות רשיון המפרטת אילו רשיונות אושרו או נדחו על-ידי המחלקה המשפטית לצריכה או תרומה של קוד פתוח.