Açıq mənbəli layihəyə töhfə: İlk addımlar

Açıq mənbəli layihələr bu illər ərzində bir sıra faydalı proqramlar istehsal etmişdir. Bu gün istifadə etdiyimiz bir çox möhtəşəm texnologiyalar açıq mənbəli təkamüldən qaynaqlanır! Android, Firefox, VLC media pleyerləri, MongoDB, Linux, Docker və Python, bunlardan bir neçəsini adlandırmaq olar.

Texnologiya nəhənglərindən bir çoxu da faydaları dərk edir və işçilərinə bir gün tətil etməyə və vaxtlarını açıq mənbəli layihələrə sərf etməyə imkan verir. Əslində, bir çoxunun özləri açıq mənbəli layihələri var.

Bununla birlikdə, açıq mənbəli layihə müəlliflərinin böyük əksəriyyəti texnoloji nəhəngləri üçün işləmir. Hər kəs açıq bir proqramın vacib bir hissəsində iz buraxa bilər və ya özünün "növbəti böyük şey" i yarada bilər. Açıq mənbə layihəsində iştirak etmək bacarıqlarınızı inkişaf etdirməyinizə, yeni bir şey öyrənməyinizə, mentorluq almanıza və ya ömürlük dost qazanmanıza kömək edə bilər. Açıq mənbəli layihələrə töhfələr həm qısa, həm də uzun müddətdə qarşılıqlı fayda verməlidir. Bir çox şirkət, bir layihəyə ən çox töhfə verənlərdən aktiv olaraq tam işləyən işə götürür. Bu yenilərini öyrənərkən bacarıqlarınızı göstərmək üçün əla bir yol ola bilər.

Bu məqalədə MindsDB haqqında öyrənmək istəyənlərlə bölüşdüyümüz bəzi tövsiyələr öz əksini tapmışdır. Hər bir layihə fərqli olsa da, inşallah bu fikirlər açıq mənbəli layihələrdə iştirak etməyə kömək edəcəkdir.

MindsDB-nin GitHub səhifəsi

İlk töhvənizi verməzdən əvvəl

1. Özünüzü qiymətləndirin:

İlk addım, inkişaf etdirmək istədiyiniz və ya inkişaf etdirmək istədiyiniz texniki və ya qeyri-texniki bacarıqlarınızı qiymətləndirməkdir. Ən çox əlavə dəyəri haradan alacağımı merak edirsiniz? Bu birbaşa kod yazmağa, hataları sınamağa və ya digərlərinin proqramı daha səmərəli istifadə etməsi üçün sənədləri yaxşılaşdırmağa kömək edə bilər.

2. GitHub ilə tanış olun

Demək olar ki, bütün açıq mənbəli layihələrdə yeni kodların layihəyə (əsas "anbar") birləşdirilməsinə kömək edən bir vasitə olan bir versiya nəzarət sistemi istifadə edildi. Tipik olaraq, əməkdaşlıq mərkəzi deponun yerləşdiyi bir veb sayt ətrafında baş verir. Bu veb saytlara Github, Bitbucket və Gitlab daxildir. Github bu günə qədər ən populyar və burada MindsDB-də istifadə etdiyimiz biridir.

Ümumiyyətlə, versiya idarəetmə sistemləri birdən çox fayl saxlamadan bir layihədəki bütün dəyişiklikləri izləməyə imkan verir. Github'da bir hesab yaradın, daxil olun və veb saytın yuxarı hissəsindəki müxtəlif sekmələrə baxın. Burada Github, inkişaf təlimatları, açıq mənbəli layihələr, tədbirlər, konfranslar və s. Haqqında məlumat tapa bilərsiniz. Bu təlimata əməl etsəniz, GitHub-un əsaslarını öyrənəcəksiniz.

3. Müvafiq layihələri tapın və cəmiyyətə qoşulun

Bacarıqlarınıza əsaslanan Github-da müvafiq layihələrə baxın. Bunu etmək üçün hər gün fərqli bir mövzuda e-poçt almaq üçün Github keşfedin və ya Kod Triage-a daxil ola bilərsiniz. Bir layihə seçərkən, aktiv olaraq saxlanılan (çox öhdəlikli) və bir çox problemi olan bir layihəyə baxın. Müvafiq layihələrinizi tapdıqdan sonra Star & Fork layihəsinə abunə ola və poçt siyahısına və Slack kanalına abunə ola bilərsiniz. Layihəni qura bilmədiyiniz təqdirdə və ya ilk töhfənizi almanız üçün kömək almağın ən yaxşı yoludur.

İlk töhfənizi verin

1. Proqramla oynayın: Hata tapın

Əvvəlcə proqramı sınayın, quraşdırın və oynayın, sındırmağa çalışın və qutuda dediklərini edib etmədiyini görün. Bura tapdığınız hər hansı bir problemi bildirərək asanlıqla dəyər əlavə edə biləcəyiniz əla bir yerdir. Hər bir layihənin, ehtimal ki, hesabat məsələləri üçün bir az fərqli bir şablonu olacaq, lakin əslində hamısı oxşar məlumatlar ehtiva edir. (MindsDB buraxılış şablonunu burada tapa bilərsiniz.)

2. Mövcud problemləri araşdırın

Hansı layihəyə qatqı vermək istədiyinizi başa düşdükdən sonra Github deposunu axtarın, sənədləri oxuyun və Məsələlər nişanına gedin. Burada işləyə biləcəyiniz bütün açıq sualları tapa bilərsiniz. Bu problemlər başlanğıcdan inkişaf etmişə qədər görünə bilər. Anbar düzgün idarə olunarsa, problemlər "təcrübəsiz", "ilk dəfə", "köməyə ehtiyac duyan" və s. Etiketlənir ki, layihə ilə güvən və təcrübə qazanmaq üçün ən sadə tapşırıqlar üzərində işləyə biləsiniz.

3. Sənədləri yaxşılaşdırmağa kömək edin

Lakin, dərhal kod yazmağa ehtiyac yoxdur. Sənədləşməyə töhfə verə, geliştirici təlimatını yarada, digər insanların problemlərini həll etməsinə kömək edə və s. Sənədləri oxuyun və bir şeyin əskik olduğunu düşünürsünüzsə, bu başlamaq üçün yaxşı bir yerdir. Ya bir problem gündəmə gətirə bilər, ya da kifayət qədər özünüzü hiss edirsinizsə, itkin parçaları özünüz əlavə edə bilərsiniz. Burada MindsDB sənədlərinə baxa bilərsiniz.

4. Yeni xüsusiyyətlər təklif edin

Layihəni bəyənirsinizsə və faydalı hesab edirsinizsə, onu yaxşılaşdırmaq üçün yeni xüsusiyyətlər də tələb edə bilərsiniz. (Şablonumuza burada baxa bilərsiniz) Və ya daha yaxşısını özünüz əlavə etməyə cəhd edə bilərsiniz.

Katedral və bazar

OSS-də klassik bir kitab Katedral və Bazardır. Söhbət bazar tərzi inkişafından, həm inkişaf etdiricilərə həm də istifadəçilərə imkan verən aşağıdan yuxarıya doğru bir yanaşmadan gedir. Gücün menecerlər və məhsul sahiblərinə aid olduğu yuxarıdan aşağıya doğru bir yanaşma ilə "dom" üslubunu müqayisə edin.

Çevik manifestdə izah edildiyi kimi iş yanaşmalarına səbəb olan bu fikirlərdir. Nə qədər şirkət inkişafa "bazar" yanaşmasını təqlid etməyə çalışsalar da, bunu açıq mənbəli layihələr kimi edə bilməzlər.

Korporativ layihələr dünyasında memarlar, menecerlər və məhsul sahibləri liderdir. Açıq mənbə dünyasında istifadəçilər və inkişaf etdiricilər spesifikasiyaları müəyyənləşdirirlər.

Açıq mənbə proqramı çox yaxşıdır, çünki inkişaf etdiricilərinin və istifadəçilərinin "kollektiv zəkasını" istifadə edir. Açıq mənbə layihəsindəki inkişaf etdiricilərin əksəriyyəti onun əsas istifadəçi bazasından gəlir; açıq mənbə layihəsindəki "liderlərin" əksəriyyəti sadəcə ən çox fikir və kod gətirən inkişafçılardır.

Bu "bazar" yanaşması mütləq "kafedral" yanaşmadan daha yaxşı deyil, lakin sınağa dəyər bir sistemdir. Təşkilatda yaş və ya staj kimi xarici meyarlardan asılı olmayaraq yeni inkişaf etdiriciyə proqram təminatı üzərində çox güc verə bilər. Yalnız mübadilə işarəsi koddur. Töhfə nə qədər dəyərlidirsə, dizayn üzərində o qədər çox təsir göstərəcəksiniz.

Əks təqdirdə, bu dizayn dizaynını aşağıdan yuxarıya doğru öyrənmək üçün bəzi açıq mənbəli layihələr üzərində işləməlisiniz.

Açıq mənbə inkişaf etdiricisi kimi növbəti hədəflər

1. Konfranslarda iştirak edin

Açıq mənbəli inkişaf etdirici olaraq kodlaşdırma və texnologiya ilə bağlı konfrans və tədbirlərdə iştirak edə bilərsiniz. Github Explore-da müxtəlif tədbirləri sınaqdan keçirə və yaxınlıqdakı bu tədbirlərdə iştirak etməyə çalışa bilərsiniz. MindsDB 2019-cu il ərzində görüşlərə ev sahibliyi edəcək. MIndsDB ilə əlaqəli hər şeydən xəbərdar olmaq istəyirsinizsə, poçt siyahımıza abunə ola bilərsiniz

2. Açıq mənbəli inkişaf üçün pul alın

Ümumiyyətlə, açıq mənbəyi inkişaf etdirdiyiniz üçün maaş almırsınız, çünki işlərin əksəriyyəti könüllü olaraq edilir. Bununla yanaşı, açıq mənbəli inkişafa ödənişsiz vaxt sərf edə bilməsəniz, işəgötürəninizlə danışa və işəgötürəninizi maraqlandıra biləcək bir layihə fikri irəli sürə və ya açıq mənbəli bir layihə tapa bilərsiniz. -İstehsalçı pullu. Daha çox məlumat üçün Github-un açıq mənbəli inkişaf üçün necə pul qazanacağına dair təlimatına baxın. Bir çox şirkət (MindsDB daxil olmaqla) eyni zamanda iş üçün yüksək səviyyəli insanları işə götürür və ya ödəyir.

3. CV-nizi, mentorunuzu nümayiş etdirin və açıq mənbəli yarışlarda iştirak edin

CV-də iştirak etdiyiniz hər hansı bir layihədən bəhs etməlisiniz və ya CV-də və ya cavab məktubunuzda GitHub hesabınıza keçid əlavə etməlisiniz. Əksər işəgötürənlər bu cür mükafatlardan təsirlənir və işə qəbul üçün bu cür namizədləri seçirlər.

Həm də açıq mənbəli inkişafa yeni başlayan insanlar üçün mentor ola bilərsiniz. Yenidən kilsəyə qayıtmaq və yeni başlayanlar üçün təlimat vermək vaxtı gəldi. Bir mentor olmaq üçün seçə biləcəyiniz bir neçə proqram var, bunlar: Google Summer Code, Google Rails Girls Summer Code, Google Outreachy və s. Və ya sadəcə poçt siyahılarında və ya StackOverflow-da insanların suallarını cavablandırmasına kömək etmək.

Adam Carrigan, layihələrinizə maşın öyrənməsi əlavə etməyə və məlumat problemlərini həll etməyə imkan verən istifadəsi asan bir vasitə olan MindsDB-nin həmtəsisçisidir. Məni Twitter-də izləyin

Layihəmizi GitHub və Twitter-də izləyə bilərsiniz