איך מוצאים פרויקט קוד פתוח לתרום לו?

לעתים קרובות שואלים אותי מפתחים ומפתחות, לרוב בתחילת דרכם המקצועית, איך למצוא פרויקט לתרום לו. השאלה גם עולה הרבה פעמים בקרב משתתפי מפגשי הפיתוח של העמותה. יש כמה עצות שאני נותן לרוב:

  • השיקול הכי חשוב בעיני - עניין. קשה להתמיד בתרומה לפרויקט מבלי שהוא יהיה מעניין. כאן טמון גם האתגר העיקרי עם הפניה לאתרים כמו code triage, פרויקטים כמו Hacktoberfest או חיפוש ישיר בגיטהאב - לפעמים צריך להקדיש שעות של חיפושים אחר פרויקט מעניין לתרום לו, והרבה פעמים מתיאשים קודם.
  • במידה ומדובר במי שכבר עובדים בתחום, שווה לבדוק ספריות המשמשות במהלך העבודה. כך יש היכרות מוקדמת עם עולם הבעיה, לרוב השפה מוכרת והכניסה יחסית יותר קלה.
  • גודל הפרויקט - כדאי למצוא פרויקט בגודל בינוני. מצד אחד, לא ספריה של 50 שורות שאין מה לעשות בה, ומצד שני לא הייתי ממליץ על פרויקט ענק שדורש שבוע רק כדי להרים סביבת פיתוח ולהתחיל לצלול לקוד.
  • פעילות הפרויקט - יש מעט דברים מבאסים מלהרים סביבת פיתוח, לתקן באג, לפתוח PR ולקבל בתמורה צרצרים. כדאי לבדוק שהפרויקט פעיל - יש קומיטים מהשבועות האחרונים, PRים מקבלים התייחסות, יש יותר ממפתח אחד שמכניס שינויים וכו’.
  • בפרויקטים רבים יש סימון של באגים שמתאימים למצטרפים חדשים - למשל תגיות “good first issue” או “easy”. כדאי לנסות להתחיל מאחד מהם אם אפשר.
  • האם לקהילת הפרויקט יש אמצעי תקשורת? לפעמים יהיה ניתן לשוחח עם המפתחים באמצעות IRC, סלאק, רשימת תפוצה ועוד. שווה להצטרף לערוצים הללו כדי שיהיה אפשר לשאול שאלות וללמוד עוד על הפרויקט.

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

3 לייקים

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

לייק 1

אני רוצה להדגיש את הסעיף האחרון של תומר: לפני שמתחילים להשקיע בעבודה על פרוייקט, כדאי לבלות קצת זמן בערוצי התקשורת שלו. בסופו של דבר, כדי לתרום לפרוייקט, תצטרכו לעבוד עם האנשים האלה, וחשוב לראות שיש התאמה בסיסית בין הציפיות שלכם לבין מה שקורה שם בפועל.
וזה לא רק ערוצי התקשורת ה„כלליים” (פורום, גוגל־גרופ, וכולי), דרך טובה לדעת מראש איך יתייחסו אליכם היא לבדוק את מערכות מעקב הבאגים וה־PR־ים, שבהן בד״כ מתקיימים דיוני עבודה קונקרטיים.

לייק 1

שמי יהושע, והייתי רוצה מאוד להתחיל לתרום לפרוייקט קוד פתוח.
אפילו התחלתי לבדוק את האפשרות לתרום לmongoDB, אבל אני מאוד מסתבך עם איך להתחיל… האם מישהו יכול להדריך אותי בנושא? או לחלופין להפנות אותי למדריך טוב על איך להתחיל?

שלום יהושע, וברוך הבא!

כל אחד מוצא את דרכו שלו להתחיל לתרום; מה שמתאים לך, לא בהכרח יתאים לי או למישהי אחרת. אני יכול לחלוק מה שמתאים לי, ואולי זה יעזור לך למצוא את הדרך שלך.

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

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

כך או כך, באיזשהו שלב מגיעים ל־issue במערכת הניהול של הפרוייקט (לכולם יש; אם אין, אז מומלץ לא רק להפסיק לנסות לתרום, אלא גם להפסיק להשתמש). או שאתה פותח בעצמך, או שאתה מוצא אחד קיים ורואה מה צריך לעשות כדי לקדם אותו הלאה. בשלב הזה, אם אתה מרגיש תקוע, בד״כ אנשי הפרוייקט ישמחו להדריך אותך, להפנות אותך למקומות רלוונטיים בקוד וכולי.

דרך אחרת שכנראה עובדת להרבה אנשים היא למצוא issue שמסומן כמתאים לתורמים מתחילים. לפי https://github.com/mongodb/mongo/wiki אצלם מסמנים נושאים כאלה מסומנים בתווית neweng, והנה רשימה שלהם בפרוייקט השרת: https://jira.mongodb.org/browse/WT-5045?jql=labels%20in%20(neweng%2C%20NewEng%2C%20new-eng)

בהצלחה,
שי

לייק 1