הפוך למתכנת תוכנה פתוחה

מְחַבֵּר: Morris Wright
תאריך הבריאה: 24 אַפּרִיל 2021
תאריך עדכון: 1 יולי 2024
Anonim
בוגר הנדסת תוכנה במכללת אפקה מספר על שגרת יומו
וִידֵאוֹ: בוגר הנדסת תוכנה במכללת אפקה מספר על שגרת יומו

תוֹכֶן

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

לדרוך

  1. הורד הפצה טובה של יוניקס. GNU / Linux הוא אחד הפופולריים ביותר לתכנות, אך בדרך כלל משתמשים גם ב- GNU Hurd, BSD, Solaris ו (במידה מסוימת) Mac OS X.
  2. למד כיצד להשתמש בשורת הפקודה. אתה יכול לעשות הרבה יותר עם מערכות הפעלה דומות ל- Unix אם אתה משתמש בשורת הפקודה.
  3. למד כמה שפות תכנות פופולריות עד שתגיע לרמה מספקת פחות או יותר. אחרת, אינך יכול לתרום קוד (החלק החשוב ביותר בכל פרויקט תוכנה) לקהילת התוכנה הפתוחה. יש מקורות שמציעים להתחיל בשתי שפות בו זמנית: שפת מערכת אחת (C, Java או דומה) ושפת סקריפטים (Python, Ruby, Perl או דומה).
  4. כדי להיות פרודוקטיביים יותר, אתה צריך NetBeans או סביבת פיתוח משולבת דומה.
  5. למד להשתמש בעורך מתקדם, כגון vi או Emacs. יש להם עקומת למידה גבוהה יותר, אבל אתה יכול לעשות איתם הרבה יותר.
  6. למד אודות בקרת גרסאות. בקרת גרסאות היא ככל הנראה הכלי החשוב ביותר בשיתוף הפעולה לפיתוח תוכנה משותפת. הבן כיצד ליצור ולהחיל טלאים. עיקר פיתוח התוכנה הפתוחה בקהילה נעשה באמצעות יצירה, דיון ויישום של תיקונים שונים.
  7. מצא פרויקט תוכנה פתוח קטן ומתאים, שתוכל להשתתף בו בקלות כדי לצבור ניסיון. ניתן למצוא את רוב הפרויקטים הללו בימים אלה ב- SourceForge.net. פרויקט מתאים צריך לכלול:
    1. השתמש בשפת התכנות שאתה מכיר.
    2. היה פעיל, עם מהדורות אחרונות.
    3. כבר מורכב משלושה עד חמישה מפתחים.
    4. כדי להשתמש בבקרת גרסאות.
    5. שיהיה לך חלק שתוכל להתחיל בו מייד, מבלי שתצטרך לשנות יותר מדי את הקוד הקיים.
    6. בנוסף לקוד, בפרויקט טוב יש גם רשימות דיון פעילות, דוחות באגים, קבלות ויישומי בקשות לשיפור ופעילויות דומות.
  8. פנה למנהל הפרויקט שנבחר. בפרויקט קטן עם מעט מפתחים, בדרך כלל העזרה שלך תתקבל באופן מיידי.
  9. קרא בעיון את כללי הפרויקט ופעל פחות או יותר אחריהם. כללי סגנון התכנות או הצורך לתעד את השינויים שלך בקובץ טקסט נפרד עשויים להיראות מגוחכים בהתחלה. עם זאת, מטרת הכללים הללו היא לאפשר עבודה משותפת - ורוב הפרויקטים עובדים איתם.
  10. עבוד על פרויקט זה מספר חודשים. הקשב היטב למה שיש למנהל ולחברי הפרויקט האחרים לומר. מלבד תכנות יש לך הרבה דברים ללמוד. אבל אם אתה ממש לא אוהב משהו, פשוט עצור ועבר לפרויקט אחר.
  11. אל תתקע בפרויקט התת קרקעי יותר מדי זמן. ברגע שתמצא את עצמך מסוגל לעבוד בהצלחה בצוות זה, הגיע הזמן להתחיל לחפש משהו רציני יותר.
  12. חפש פרוייקט תוכנה פתוחה ברמה גבוהה או קוד פתוח. מרבית הפרויקטים הללו הם בבעלות ארגוני GNU או אפאצ'י.
  13. מכיוון שאנחנו לוקחים קפיצה רצינית כאן, עליכם לקחת בחשבון קבלת פנים הרבה פחות חמה. סביר להניח שתתבקש לרוץ בפעם הראשונה ללא גישה ישירה לכתיבה למאגר הקוד. עם זאת, פרויקט המחתרת הקודם היה צריך ללמד אתכם הרבה - אז אחרי כמה חודשים של תרומה פרודוקטיבית, תוכלו לתבוע את הזכויות שאתם חושבים שיהיו לכם.
  14. קח על עצמך משימה רצינית ותעבוד אותה. הגיע הזמן. אל תפחד. המשך גם אם אתה מוצא שהמשימה הרבה יותר קשה ממה שחשבת בתחילה - בשלב זה חשוב לא לוותר.
  15. אם אתה יכול, הגש בקשה ל"קיץ הקוד "של גוגל כדי להכניס קצת כסף להרפתקה זו. אך אל דאגה אם הבקשה לא תתקבל מכיוון שיש להם הרבה פחות משרות ממומנות מאשר ישנם מתכנתים טובים באמת.
  16. מצא כנס מתאים שמתרחש בקרבת מקום ("ימי לינוקס" או דומה) ונסה להציג שם את הפרויקט שלך (הפרויקט כולו, ולא רק החלק שאתה מתכנת). לאחר שתזכירו שאתה מייצג פרויקט רציני של קוד פתוח / פתוח, המארגנים ישפיעו עליכם לעיתים קרובות מדמי הוועידה (אם לא, סביר להניח שהכנס יהיה לא מתאים בכל מקרה). הביאו את המחשב הנייד של לינוקס (אם יש לכם אחד כזה) והפעילו כמה הדגמות. שאל את מנהל הפרויקט לגבי החומרים שבהם אתה יכול להשתמש בהכנת המצגת או הפוסטר שלך.
  17. חפש באינטרנט הודעות על אירוע התקנה בקרבת מקום ונסה להשתתף כמשתמש תחילה (שים לב לכל הבעיות המתעוררות וכיצד האקרים מתקנים אותן) והציע להתקין תוכניות בפעם הבאה.
  18. השלימו את המשימה, בדקו את עבודתכם בבדיקות אוטומטיות ותרמו לפרויקט. אתה גמור! מה שבטוח, נסו לפגוש כמה מתכנתים בפרויקט באופן אישי ולהרים כוס בירה יחד על התוצאה.
  19. להבנה טובה יותר, עיין בדוגמה אמיתית להיסטוריית הפיתוח של פרויקט תוכנה פתוח (ראה לעיל). כל עקומה עולה מייצגת תרומה (שורות קוד) ממפתח יחיד. מפתחים נוטים להיות פחות פעילים עם הגיל, אך לעתים קרובות הפרויקט מאיץ גם כאשר אנשים חדשים מצטרפים. אז אם אתם מגיעים עם כמה כישורים שימושיים בכיס, אין שום סיבה שהצוות לא יזמין אתכם.

טיפים

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

אזהרות

  • מעמד ההאקר שלך בפרויקט הקהילתי משקף יותר את ההווה שלך מאשר את העבר שלך.אם ברצונך לקבל המלצה או דומה ממנהל הפרויקט, אנא שאל אם אתה עדיין תורם באופן פעיל.
  • אל תיכנס לאופטימיזציה של קוד קטן, הערות נוספות, שיפורים בסגנון קידוד ועוד דברים דומים "בקנה מידה קטן". זה יכול לפגוש הרבה יותר ביקורת מאשר תרומה רצינית. במקום זאת, אתה יכול לכלול שינויים אלה בתיקון "ניקוי" יחיד.
  • אם אתה מתכנן לפגוש את האקרים התוכניים הפתוחים באופן אישי, השאר את המחשב הנייד של Windows בבית. Mac OS נסבלת מעט יותר, אך גם היא לא ממש מבורכת. אם אתה מביא את המחשב הנייד שלך, הוא חייב להריץ לינוקס או מערכת הפעלה אחרת שלדעתם היא "תוכנה פתוחה".
  • אם לקוח הדוא"ל שלך תומך בהודעות HTML, עליך להשבית תכונה זו. לעולם אל תצרף מסמכים שרק תוכנה מסחרית (כגון Microsoft Word) יכולה להיפתח כראוי. האקרים רואים בכך פוגע.
  • אל תתנדב בפרויקטים של חברה שהקוד שלה אינו מכוסה ברישיון קוד פתוח מאושר. במקרים כאלה, החלקים החשובים באמת של הפרויקט עשויים להישאר מאחורי הדלתות הסגורות מהבעלים, ומונעים ממך ללמוד כל דבר מועיל.
  • הימנע מכל שאלה לגבי יסודות כלי התכנות או התכנות. הזמן של מתכנת תוכנה פתוח הוא יקר. במקום זאת, דן ביסודות התכנות בקבוצות מתכנתים חובבים או מתחילים.
  • בפרויקטים מבוססים ומצליחים מאוד עשויה להיות מדיניות כתובה או לא כתובה על כך שאינך מחזיר את עבודתך (אין כסף, אין יכולת לקדם את עצמך, אין מעמד מוגבה ללא קשר לתרומתך וכו '- ראה: Do_not_expect_reward Wikipedia). אם אינך מסכים עם זה, היצמד לפרויקטים נפוצים יותר שאינם יכולים להרשות לעצמם גישה כזו.
  • אל תתחיל פרויקט משלך אלא אם כן אתה תמיד רוצה לבלות בבדידות גאה. מאותה סיבה, עדיף לא לצאת לניסיון להחיות פרויקט שכבר נטוש שצוותו הקודם כבר איבד.
  • במקרה של פגישה בלתי פורמלית אודות הפרויקט שמעולם לא תרמת לו קוד כלשהו, ​​תהיה לך התחושה הלא נעימה להתעלם לחלוטין. אל דאגה, כמה האקרים יכולים להפוך לחברים טובים מאוחר יותר לאחר שתזכה בכבוד שלהם באמצעות הקוד שלך.
  • פרויקטים גדולים של תוכנה פתוחה, במיוחד אלה סביב תחום GNU, אינם מתייחסים לתפקידך כאל עסק אישי שלך. לאחר שתקבל את המשרה בחברה הקשורה לתוכנה, הם מבקשים מהמעסיק שלך לחתום על הסכמים מסוימים [1], עליהם תחתום או לא תחתום החברה. זה יכול לאלץ אותך לבחור פרויקט עם דרישות פחות מחמירות.

צרכים

  • לינוקס. פרויקטים רבים של תוכנה פתוחה מורכבים יותר לבניית חלונות, או כלל אינם בנויים כהלכה. הדבר נכון במיוחד עבור פרויקטים מתקדמים המוקדשים לתכנות של טלפונים סלולריים, מקשי USB ומכשירים אחרים.
  • מחשב עם חיבור אינטרנט טוב יחסית. אם אתה רוצה לשמור על אתחול כפול עם Windows אז כונן קשיח או מחיצה שנייה עבור לינוקס יכולים להיות פיתרון טוב.
  • ידע בסיסי בשפת תכנות אחת לפחות וכוונה חזקה ללמוד עוד. נראה שהשפות הפופולריות ביותר כרגע הן C ו- Java.
  • כמות משמעותית של זמן, לפחות חמש שעות בשבוע (מתכנת הארדקור טיפוסי תורם עצום של 14 שעות).
  • בעוד שחינוך רשמי ל- IT יקל על דרכך, זהו זה לֹא חובה חובה ואף קהילת האקרים אמיתית לעולם לא תשאל אותך על כך. מתכנתים / האקרים שופטים זה את זה לפי תכנות של מישהו, ולא לפי קריטריונים מזויפים כמו ציונים, גיל, גזע או מיקום. שימו לב, לפחות 60% מההאקרים בקוד פתוח שמעריכים את התיקונים שלכם הם בעלי תואר אקדמי "נכון" ולא יאפשרו לכם לתרום שטויות לפרויקט.
  • במהלך השלבים האחרונים (ועידה ו'מסיבת התקנות ') תוכלו ליהנות מהמחשב הנייד שלכם. אבל זה לא בסדר לעבוד על זה בבית, אז קנו רק אם תוכלו להרשות לעצמכם את המכונה השנייה.
  • הדרך שתוארה להיות "האקר" של תוכנת קוד פתוח נמשכת לפחות שנתיים.