Açık Kaynak Projesine Katılma [kapalı]


19

Bilgisayar mühendisliğindeki son yılına giriyorum ve bu yaz ve sonbahar için staj yaptım. Ödev vermeyeceğim için bu fırsatı bir çeşit açık kaynaklı projeye dahil etmek isterim. C, C ++, Java ve Python konusunda uzmanım. Ayrıca şu anda dizüstü bilgisayarımda Linux ve bu dönem tüm derslerim üzerinde yoğunlaştı.

Android veya Ubuntu'ya bakmayı düşünüyordum ama geçmişte biraz bunalmış hissettim. Kimsenin tavsiyesi var mı? Neyin üzerinde çalışılacağı, nereden başlanacağı ve gerçekten çok katkıda bulunup bulunamayacağım konusunda iyi bir proje.

Ve sonuçta halk değişiklikleri ne sıklıkta kabul ediliyor? Ne kadar sıklıkla reddedilmesi için ne sıklıkla kod yazardım?

tl: dr Açık kaynaklı bir projeye katkıda bulunarak daha fazla programlama deneyimi aramak. Sahneye yeni tavsiye gerekir.


Buraya inişin kesinlikle faydalı olduğunu söyleyebilirim!
squillman

6
Kulağa iyi bir fikir gibi geliyor, ancak staj yaptığınız şirketteki "ay ışığı" kurallarını kontrol edin. Bazı yerler, özellikle yazılım mağazaları ise, kendi zamanınızda ve kendi bilgisayarınızda bile yapabilecekleriniz konusunda çok kısıtlayıcı olacaktır.
Steve

1
belki de bahsettiğiniz dillerden daha bildirimsel olan yeni bir programlama dili öğrenmeyi düşünebilirsiniz. Haskell veya scala gibi. Sonra açık kaynaklı bir proje üzerinde çalışın.
mrsteve

Yanıtlar:


15

Ay ışığından bahsettiği için Steve Haigh'e +1.

Bir yazılım mağazasında çalışıyorsanız, kendinizi işvereninizin üzerinde çalıştığınız yazılımın sahibi olduğunuzu iddia ettiği bir durumda bulabilirsiniz. Başlamadan önce, şirketinizdeki ay ışığı politikasını netleştirmek için işvereninize danışın.

Başlamak için iyi bir yer OpenHatch olabilir . İnsanların Açık Kaynak projelerine katılmalarına yardımcı olmaya adanmış bir web sitesidir. Onlarla kaydolduğunuz projelerin herhangi birine başlamak için size "ısırık büyüklüğünde" hataların bir listesini verebilecekler ve size, proje ve / veya seçtiğiniz dilde.

Yamalarınızın yukarı doğru kabulü yamanın ve neredeyse her zaman yamanın kalitesine ve eşlik eden test durumlarına sahip olup olmadığına bağlıdır. Aslında birçok proje yamayı doğrulayan bir test içermedikçe yamaları kabul etmeyecektir.
Kodunuzun kalitesi sübjektif olarak değerlendirilecek bir şey olduğundan, kodunuzu iyileştirmek için yukarıdan bakıcıların yapıcı eleştirisiyle çalışmaya hazır olun.


1
Onların ay ışığı politikası benim düşünmediğim bir şey. Ayrıca OpenHatch.org oldukça havalı görünüyor. Kontrol etmek için hemen kaydolun.
Tarmon

2
Eğer ek iş hakkında başka not, do işvereniniz sormak, kağıt izi için e-posta yoluyla bunu yapmak isteyebilir. Aksi takdirde, daha sonra fikrini değiştirmelerini ve projenize ilişkin iddialarını asla reddetmediklerini söyleyecek ne var? Sadece bir düşünce.
Jeff Welling

Bu sorunun kapatıldığına inanamıyorum, özellikle de çok büyük "cevapları" olduğu için, görüşe dayalı ya da değil!
Dave Kanter

7

Açık kaynaklı bir projenin (FireBreath) yöneticisi olarak, sadece kullandığınız veya ilginizi çeken bir proje bulmanızı ve yardımcı olabileceğiniz yolları aramanızı öneririm. Herhangi bir kod yazmadan yapabileceğiniz birçok şey var. Projemizde, yardımcı olacak insanlara ihtiyacımız var:

  • Hataları test etme ve bildirme
  • Web sitesindeki belgeleri güncelleyin
  • İkincil araçların yazılmasına yardımcı olun
  • IRC odasında takılın ve yeni kullanıcılara yardımcı olun
  • Yeni kullanıcıların bakması için FireBreath kullanarak örnek eklentiler oluşturun

Bunlar benim projeme özgüdür, elbette (ve yardım etmenizi bekliyoruz! ;-) ancak tüm projelerde yeni kullanıcıların katkıda bulunabileceği şeyler var. Başka bir projeye en son katkım, gitolit üzerindeki joker karakter depo izinlerinin daha iyi yönetilmesi için bir araç eklemekti. İlginç bulduğunuz veya kullanabileceğiniz projelere sadık kalın!

İyi şanslar!


Böyle şeyler hakkında düşünmedim bile. Önerileriniz için teşekkürler. Bu tür şeylere ihtiyaç duyan yeni bir proje için biraz araştırma yapacağım.
Andrew

Belgeler için +1. SharePoint SUSHI koordinatörü olarak, yazmanın en sıkıcı ve en zor şeylerinden biri dokümanlardır, ancak yeni kullanıcılar için de en önemlisidir. Orada yardımcı olmak, projenin özelliklerini ve nasıl çalıştığını da öğrenmenizi sağlayacaktır.
Ryan Hayes

3

Hangi projeyi seçmeniz gerektiğini söyleyemem - bu aslında size kalmış. Ancak, nasıl katılacağınızı söyleyebilirim: eğer bir proje için bir tutku hissediyorsanız, yani uygulamayı bir süredir kullanıyorsanız (işletim sistemi için bu kadar kolay olmayabilir), her zaman önerilen değişikliklerle (geliştirmeler, hata düzeltmeleri) ve proje sahiplerinden inceleme / entegre etmelerini isteyin.
GitHub'daki projelerle bu oldukça kolaydır - sadece yamanızı oluşturun ve çekme isteğinizi gönderin.
Her neyse, ne kadar değerli yamalar gönderirseniz, sizi çekirdek takıma davet etme olasılıkları o kadar yüksek olur.


2

Belirli bir dilde uzman değilseniz, hala çok değerli olan birçok etkinlik vardır. Bunlar test, yazı yazma, API belgeleri yazma, projeler için web sitesi yapma vb. İçerir. Özel bir ilginiz varsa o alanda bir proje bulun ve etki alanı bilgisine katkıda bulunun. (Örneğin aktif bir kimya işletim sistemi projeleri topluluğumuz var).


2

Açık Kaynak projelerine girmek için, OpenHatch'da bir adım atın - tüm görevleri bu:

açık kaynak katkısına giriş önündeki engelleri azaltmak ve çeşitliliği artırmak amacıyla açık kaynaklı bir proje. Bu hedeflere çeşitli girişimlerle ulaşıyoruz ...


2
ne yaptığını ve neden sorulan soruya cevap vermesini öneriyorsunuz? "Yalnızca bağlantı yanıtları" Stack Exchange'de pek hoş karşılanmıyor
gnat

1

Örneğin, Mozilla projelerini geliştirmek ve test etmek için daima C ++ programcılarını arar. Yeni bir gelen için büyük kod tabanını indirmek ve onu inşa etmek için saatler harcamak ezici. Daha sonra, altı aylık bir mahallede, haftada ortalama 10 saatten fazla zaman geçirip, bir hatayı ya da kusuru ya da böyle bir şeyi anlamanız gerekir. Daha sonra, nasıl çoğaltılacağını, izole edileceğini, düzeltileceğini, test edildiğini, regresyon testinin nasıl uygulanacağını anlamanız gerekir. Bunu daha fazla yaptığınızda, kod tabanına doğrudan yazma erişimi elde edebilir, bir özelliği denetleyebilirsiniz. Bunun, üzerinde çalışan birçok insanla olgunlaşan her proje için geçerli olduğuna inanıyorum.

Öte yandan, birçok proje ölüyor çünkü onları geliştirecek kimse yok. Size yardımcı olabilecek kişileri veya bu tür belgelerle ilgili belgeleri bulmak zor olabilir.

Bu uç noktalar arasında bir denge kurmak için, sık sık veya her gün kullanmanız gereken bir program bulabilirsiniz. Yakında özellik setini en üst düzeye çıkaracak kadar kullanmaya devam edin. Belki de diğer seçeneklere göre bir tür yakınlık geliştirin. Ardından, bir özellik isteği gönderebilir veya teklif ettiğiniz özelliği en çok anlayan kişi olma ihtimaliniz yüksek olabilir. Yüzeyde, bu seçenek sizi hiçbir zaman bir programın özelliklerini en üst düzeye çıkaramayacağınızı hissettirir. Onunla yeterince uzun kalırsanız, programın gerçekte yapabileceğinden daha fazlasını yapması gerekir. Bir güvenlik / gizlilik düzeltmesi ya da ince bir şey veya kullanılabilirlik iyileştirmesi olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.