Açık yazılım programcısı olun

Yazar: Morris Wright
Yaratılış Tarihi: 24 Nisan 2021
Güncelleme Tarihi: 1 Temmuz 2024
Anonim
Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu

İçerik

Açık yazılım yazmak ve kullanmak sadece bir programlama biçimi değil (programcıların dünyasında "hackleme" olarak da adlandırılır), bir tür felsefedir. Kod yazabilmek için sadece bir programlama dili bilmeniz yeterli olsa da, bu makale topluluğa nasıl katılacağınız, arkadaş edineceğiniz, harika projelerde işbirliği yapabileceğiniz ve başka yerde bulamayacağınız bir profille saygın bir uzman olabileceğiniz hakkındadır. Açık yazılım dünyasında, bir şirkette yalnızca elit, üst düzey programcıların yapmasına izin verilen görevler kolaylıkla atanabilir. Bunun size ne kadar deneyim getirebileceğini düşünün. Ancak, açık bir yazılım programcısı olmaya karar verdiğinizde, bu hedefe zaman ayırmaya istekli olmalısınız. Bu, zaten bir BT öğrencisiyseniz de geçerlidir. Unutmayın, bu makale nasıl bilgisayar korsanı veya korsan olunacağıyla ilgili değil.

Adım atmak

  1. İyi bir Unix dağıtımı indirin. GNU / Linux, programlama için en popüler olanlardan biridir, ancak GNU Hurd, BSD, Solaris ve (bir dereceye kadar) Mac OS X de yaygın olarak kullanılmaktadır.
  2. Komut satırını nasıl kullanacağınızı öğrenin. Komut satırını kullanırsanız Unix benzeri işletim sistemlerinde çok daha fazlasını yapabilirsiniz.
  3. Aşağı yukarı tatmin edici bir seviyeye ulaşana kadar bazı popüler programlama dillerini öğrenin. Aksi takdirde, açık yazılım topluluğuna koda (herhangi bir yazılım projesinin en önemli parçası) katkıda bulunamazsınız. Bazı kaynaklar aynı anda iki dille başlamayı önerir: bir sistem dili (C, Java veya benzeri) ve bir komut dosyası dili (Python, Ruby, Perl veya benzeri).
  4. Daha üretken olmak için NetBeans veya benzer bir entegre geliştirme ortamına ihtiyacınız var.
  5. Vi veya Emacs gibi gelişmiş bir düzenleyici kullanmayı öğrenin. Daha yüksek bir öğrenme eğrisine sahipler, ancak onlarla çok daha fazlasını yapabilirsiniz.
  6. Sürüm kontrolü hakkında bilgi edinin. Sürüm kontrolü, muhtemelen paylaşılan yazılım geliştirme için işbirliğinin en önemli aracıdır. Yamaların nasıl oluşturulacağını ve uygulanacağını anlayın. Topluluktaki açık yazılım geliştirmenin çoğu, çeşitli yamaların oluşturulması, tartışılması ve uygulanması yoluyla yapılır.
  7. Deneyim kazanmak için kolayca katılabileceğiniz uygun, küçük bir açık yazılım projesi bulun. Bu tür projelerin çoğu bugünlerde SourceForge.net'te bulunabilir. Uygun bir proje şunları içermelidir:
    1. Bildiğiniz programlama dilini kullanın.
    2. Son sürümlerle aktif olun.
    3. Zaten üç ila beş geliştiriciden oluşuyor.
    4. Sürüm kontrolünü kullanmak için.
    5. Mevcut kodu çok fazla değiştirmek zorunda kalmadan hemen başlayabileceğiniz bir parçaya sahip olun.
    6. Kodun yanı sıra, iyi bir proje ayrıca aktif tartışma listelerine, hata raporlarına, iyileştirme isteklerini alır ve uygular ve benzer aktiviteler içerir.
  8. Seçilen projenin yöneticisi ile iletişime geçin. Birkaç geliştiricinin olduğu küçük bir projede, yardımınız genellikle hemen kabul edilir.
  9. Projenin kurallarını dikkatlice okuyun ve aşağı yukarı bunlara uyun. Programlama stilinin kuralları veya değişikliklerinizi ayrı bir metin dosyasında belgeleme ihtiyacı ilk bakışta saçma görünebilir. Ancak, bu kuralların amacı ortak çalışmayı mümkün kılmaktır ve çoğu proje bunlarla çalışır.
  10. Bu proje üzerinde birkaç ay çalışın. Yöneticinin ve diğer proje üyelerinin söylediklerini dikkatlice dinleyin. Programlamanın yanı sıra öğrenecek çok şeyiniz var. Ancak bir şeyi gerçekten beğenmezseniz, durun ve başka bir projeye geçin.
  11. Yeraltı projesine çok uzun süre takılıp kalmayın. Kendinizi o takımda başarılı bir şekilde çalışabilecek bulduğunuzda, daha ciddi bir şey aramaya başlama zamanı.
  12. Ciddi, üst düzey bir açık yazılım veya açık kaynak projesi arayın. Bu tür projelerin çoğu GNU veya Apache kuruluşlarına aittir.
  13. Burada ciddi bir adım attığımız için, çok daha az sıcak bir karşılamayı hesaba katmalısınız. Büyük olasılıkla, ilk kez kod havuzuna doğrudan yazma erişimi olmadan çalıştırmanız istenecektir. Bununla birlikte, önceki yeraltı projesi size çok şey öğretmiş olmalıydı - bu nedenle, birkaç ay verimli bir katkı yaptıktan sonra, sahip olmanız gerektiğini düşündüğünüz hakları talep edebilirsiniz.
  14. Ciddi bir görevi üstlen ve onu çöz. Zamanı geldi. Korkma. Görevin başlangıçta düşündüğünüzden çok daha zor olduğunu fark etseniz bile devam edin - bu adımda pes etmemek önemlidir.
  15. Mümkünse, bu maceraya biraz para yatırmak için Google'ın "Summer of Code" programına başvurun. Ancak, gerçekten iyi programcılardan çok daha az finanse edilen pozisyona sahip oldukları için başvuru kabul edilmezse endişelenmeyin.
  16. Yakınlarda gerçekleşecek uygun bir konferans bulun ("Linux günleri" veya benzeri) ve projenizi orada sunmaya çalışın (tüm projeve sadece programladığınız kısım değil). Ciddi bir özgür / açık kaynak projesini temsil ettiğinizi belirttikten sonra, organizatörler sizi genellikle konferans ücretinden tazmin edeceklerdir (aksi takdirde, konferans yine de uygun olmayacaktır). Linux dizüstü bilgisayarınızı getirin (eğer varsa) ve bazı demolar çalıştırın. Proje yöneticisine sunumunuzu veya posterinizi hazırlamak için kullanabileceğiniz materyalleri sorun.
  17. Yakındaki bir kurulum etkinliğiyle ilgili duyurular için İnternet'te arama yapın ve önce bir kullanıcı olarak katılmaya çalışın (ortaya çıkan tüm sorunları ve bilgisayar korsanlarının bunları nasıl düzelttiğini not edin) ve bir dahaki sefere programları yüklemeyi teklif edin.
  18. Görevi tamamlayın, işinizi otomatik testlerle kontrol edin ve projeye katkıda bulunun. Bitirdiniz! Emin olmak için, projedeki bazı programcılarla şahsen tanışmaya çalışın ve sonuç üzerine birlikte bir bardak bira kaldırın.
  19. Daha iyi bir anlayış için, bir açık yazılım projesinin geliştirme geçmişinin gerçek bir örneğine bakın (yukarıya bakın). Yükselen her eğri, tek bir geliştiriciden gelen bir katkıyı (kod satırları) temsil eder. Geliştiriciler yaşla birlikte daha az aktif olma eğilimindedir, ancak proje genellikle yeni insanlar katıldıkça bile hızlanır. Dolayısıyla, cebinizde bazı yararlı becerilerle gelirseniz, ekibin sizi davet etmemesi için hiçbir neden yoktur.

İpuçları

  • Projedeki pratik gereksinimler hakkında bir soru sormadan önce, proje belgelerinde ve posta listesi arşivlerinde cevabı arayın.
  • Başladığınız herhangi bir programlama işini her zaman bitirmeye çalışın. İnşa edilemiyor, çalıştırılamıyor, sistem çöküyor mu? Orada olmak her şeyin nedenleri ve kaynak kodunuz varsa, bu genellikle sisteme sahip olduğunuz anlamına gelir. iyi özellikle bazı çevrimiçi araştırmaların yardımıyla sizi istediğiniz her şeyi yapmaya zorlayabilir. Bu kuralın elbette sınırları vardır, ancak asla çok kolay pes etmemek gerçekten önemlidir.
  • Kendinize ancak gerçek hacker topluluğunun bir kısmı tarafından bu şekilde tanındıktan sonra bir programcı (veya hacker) olarak adlandırın.
  • Başlangıçta, şu anda kimsenin çok aktif olarak çalışmadığı bir sınıf, modül veya başka bir birim seçin. Aynı sınıfta veya hatta bir pozisyonda birlikte çalışmak, her yönden daha fazla beceri ve özen gerektirir.
  • Bazı bilgisayar korsanlarının / programcıların işverenleri, çalışma saatleri içinde katkılara izin verecek kadar motive olmuş görünmektedir (genellikle kurum, programcının geliştirmekte olduğu ücretsiz / açık kaynak programı kullandığı için). Düşün, belki de en azından bu şekilde ihtiyaç duyulan zamanın bir kısmını alabilirsin.
  • Hala kendinize yeterince güvenemiyorsanız, kodun eksik olduğunu ve sıfırdan yazılabileceğini düşündüğünüz bir kısmından başlayın. Mevcut kodda yapılan değişikliklerin eleştirilme olasılığı çok daha yüksektir.

Uyarılar

  • Topluluk projesindeki hacker statünüz, geçmişinizden çok bugününüzün bir yansımasıdır.Proje liderinden bir tavsiye veya benzer bir tavsiye almak isterseniz, lütfen hala aktif olarak katkıda bulunup bulunmadığınızı sorun.
  • Küçük kod optimizasyonlarına, ekstra yorumlara, kodlama stili iyileştirmelerine ve diğer benzer "küçük ölçekli" şeylere girmeyin. Bu, ciddi bir katkıdan çok daha fazla eleştiriyle karşılaşabilir. Bunun yerine, bu değişiklikleri tek bir "temizleme" yamasına dahil edebilirsiniz.
  • Açık yazılım korsanlarıyla yüz yüze görüşmeyi planlıyorsanız, Windows dizüstü bilgisayarınızı evde bırakın. Mac OS biraz daha tolere edilir, ancak bu da pek hoş karşılanmaz. Dizüstü bilgisayarınızı getirirseniz, Linux veya "açık yazılım" olarak kabul ettikleri başka bir işletim sistemi çalıştırıyor olmalıdır.
  • E-posta istemciniz HTML mesajlarını destekliyorsa, bu özelliği devre dışı bırakmalısınız. Yalnızca ticari yazılımların (Microsoft Word gibi) düzgün şekilde açabileceği belgeleri asla eklemeyin. Hackerlar bunu saldırgan olarak görüyor.
  • Onaylı bir açık kaynak lisansı kapsamında olmayan bir şirketin projelerinde gönüllü olmayın. Bu gibi durumlarda, projenin gerçekten önemli kısımları büyük olasılıkla mal sahibinden kapalı kapılar ardında kalacak ve yararlı bir şey öğrenmenizi engelleyecektir.
  • Programlama veya programlama araçlarının temelleri hakkında soru sormaktan kaçının. Açık bir yazılım programcısının zamanı değerlidir. Bunun yerine, amatör veya yeni başlayan programcı gruplarında programlamanın temellerini tartışın.
  • Yerleşik ve son derece başarılı projeler, çalışmanıza asla geri ödeme yapmama konusunda yazılı veya yazılı olmayan politikalara sahip olabilir (para yok, kendinizi tanıtma yeteneği yok, katkınız ne olursa olsun yüksek statü yok, vs. - bkz: Do_not_expect_reward Wikipedia). Buna katılamazsanız, böyle bir tavrı kaldıramayan daha yaygın projelere bağlı kalın.
  • Her zaman gururlu bir yalnızlık içinde geçirmek istemiyorsanız, kendi projenize başlamayın. Aynı nedenden ötürü, önceki ekibinin kaybettiği halihazırda terk edilmiş bir projeyi yeniden canlandırma girişimine girişmemek daha iyidir.
  • Hiçbir kodla katkıda bulunmadığınız proje hakkında gayri resmi bir toplantı yapmanız durumunda, tamamen göz ardı edilmek gibi tatsız bir duyguya sahip olacaksınız. Endişelenmeyin, bazı bilgisayar korsanları kendi kodunuzla saygılarını kazandıktan sonra iyi arkadaş olabilirler.
  • Büyük açık yazılım projeleri, özellikle GNU alanı etrafındakiler, işinizi kişisel işiniz olarak görmez. Yazılımla ilgili bir şirkette işi aldıktan sonra, işvereninizden şirketin imzalayıp imzalamayacağı belirli anlaşmaları [1] imzalamasını istiyorlar. Bu, sizi daha az katı gereksinimleri olan bir proje seçmeye zorlayabilir.

Gereklilikler

  • Linux. Çoğu açık yazılım projesinin Windows üzerinde oluşturulması daha karmaşıktır veya hiç doğru şekilde oluşturulmamaktadır. Bu özellikle cep telefonlarının, USB anahtarlarının ve diğer cihazların programlanmasına adanmış gelişmiş projeler için geçerlidir.
  • Nispeten iyi bir internet bağlantısına sahip bir bilgisayar. Windows ile ikili önyüklemeyi sürdürmek istiyorsanız, Linux için ikinci bir sabit sürücü veya bölüm iyi bir çözüm olabilir.
  • En az bir programlama dili hakkında temel bilgi ve daha fazlasını öğrenmek için güçlü bir niyet. Şu anda en popüler diller C ve Java gibi görünüyor.
  • Haftada en az beş saat olmak üzere önemli bir süre (tipik bir sıkı programcı, 14 saate katkıda bulunur).
  • Resmi BT eğitimi sizi çok daha kolay hale getirecek olsa da, işte bu değil zorunlu bir gerekliliktir ve hiçbir gerçek hacker topluluğu size bunu sormaz. Programcılar / bilgisayar korsanları birbirlerini not, yaş, ırk veya konum gibi sahte kriterlere göre değil, birinin programlamasına göre yargılar. Unutmayın, yamalarınızı değerlendiren açık kaynak korsanlarının en az% 60'ı "doğru" üniversite derecesine sahiptir ve projeye saçma bir katkıda bulunmanıza izin vermez.
  • Son adımlar sırasında (konferans ve 'parti kur') kendi dizüstü bilgisayarınızdan yararlanabilirsiniz. Ancak evde bunun üzerinde çalışmak uygun değildir, bu nedenle yalnızca ikinci makineyi alabiliyorsanız bir tane satın alın.
  • Açık kaynak kodlu bir yazılım "hacker" olmak için açıklanan yolun tamamlanması en az iki yıl sürer.