İnsan bir açık kaynak projesine nasıl büyük katkıda bulunur?


10

Açık kaynak projeleri ve başlangıç ​​için varsayılan tavsiyenin hataları düzeltmeye başlamak olduğunu biliyorum. Ama bir projede hataların bir test / düzeltici olmak isteseydi almak isteyeceği yol olduğunu hissediyorum. Bir insan nasıl bir açık kaynak projesine aktif katkıda bulunur? [Yani mimarlık düzeyinde]


15
Adım 1 - Büyük katkıda bulunun. Adım 2 - biraz kesin.
psr

Yanıtlar:


10

Bu muhtemelen bir totoloji gibi gelecektir, ancak yeni özelliklerin önemli bir katkısı olmak istiyorsanız, ürünü bir süre kullanın, iyileştirecek yeni bir özellik bulun, özelliği uygulamak için kodu yazın ve katkıda bulunun.

İnsanlara hata düzeltmeleri ile başlamalarının tavsiye edilmesinin nedeni, onları kod tabanında kazmalarını ve işlerin çalışma şeklini öğrenmelerini sağlamasıdır. Bu aynı zamanda, projenin tartışma topluluğuna, ne olursa olsun, (genellikle bir posta listesi veya forum) katılmanızı sağlar, böylece projenin yönü hakkında bir fikir edinirsiniz. Yeni özelliğinizle yaptığınız yolun% 80'ini yalnızca başka birinin üzerinde çalıştığını ve bitirdiklerini bulmak için biraz aptal hissedersiniz!


Yeterince, bunun daha politik veya utanç verici bir taktik olduğunu söyleyebilir misiniz? [Diğer adıyla. taahhüt için izin almadan bir blogda bir yama reklam]
monksy

2
@monksy - normalde herkese açık hale getirmeyeceğiniz için, kod tabanına uygun olan herhangi bir mekanizma ile katkıda bulunacağınız için, ikisi de değildir . Paylaşılan deneyim sayesinde güven kazanmaya çalışıyorsunuz. Can sıkıcı insanlar tarafından özel taahhütler alamazsınız!
sdg

1
@monksy: Düzeltme ekinizi bir blogda tanıtmayın; projeden herhangi birinin bunu bile göreceğini nereden biliyorsunuz? Bir yamanız varsa, bunu tartışma topluluğuna götürün ve orada konuşun. En faydalı yanıtı bulabileceğiniz yer burasıdır. (BTW bir hata düzeltmeniz varsa, aslında bir hata olduğunu kanıtlamaya hazır olun. Bu, kodun ne yapması gerektiğini anladığınız anlamına gelir ve başka bir şey yaptığı yerde tekrarlanabilir bir durum gösterebilirsiniz. Arasındaki farkı bildiğinizden emin olun bir hata ve sevmediğiniz bir şey yapması gereken kod.)
Mason Wheeler

4

Kısayol yok. Açık kaynaklı projeler son derece değerlidir. Daha küçük görevleri yerine getirebildiğinizi gösterdiğinizde, sonunda daha büyük ve daha büyük görevlere güvenilirsiniz. Açık kaynak projeleri, bir ya da iki yamaya katkıda bulunan ve sonra bir ya da iki büyük ama eklenmemiş fikirlere "katkıda bulunan" daha fazla insanın devam etmesine katkıda bulunanlar tarafından çok fazla güce sahiptir. Daha büyük katkılar yapmak istiyorsanız, uzun mesafe için içinde olduğunuzu göstermeniz gerekir.

Bununla birlikte , özellikle büyük bir hata veya performans problemi çözüyorlarsa , artımlı mimari iyileştirmeler sıklıkla kabul edilir. Örneğin, birkaç yıl önce Cinelerra projesine katkıda bulunduğum birkaç yamadan biri, geri alma yığınında, geri alınamaz işlemler için bellek tüketimini ve gecikmeyi önemli ölçüde azaltan mimari bir değişiklikti.

Kişisel olarak karşılaştığınız bir sorunu çözdüğünüzde, sadece "açık kaynak kodlu bir projeye katkıda bulunmaya" başlamaktan daha başarılı olacaksınız. O yamayı Cinelerra'ya sunduğumda, rastgele seçilmiş bir açık kaynak projesine mimari bir değişiklik katmaya çalışmıyordum, videolarımı düzenlerken neden bir giriş / çıkış noktası taşımak için bu kadar uzun sürdüğünü anlamaya çalışıyordum.


Güzel! Her zaman Cinelerra'yı kullanmak istedim, ama her zaman kıçından gentoo üzerine yüklemek bir acıydı. Katkılarınız için teşekkürler. Ama bu tam olarak önerdiğim ve sorduğum bir değişiklik. Onun insanları endişelendirmek için yeterince büyük değişiklikler, ama onun değil bir hata düzeltme.
monksy

2

Bunu zaten o pozisyonda olanları tanıyarak ve onlara katılmak için bir ilgi göstererek yapabilirsiniz, bu da en iyi hataları düzelterek, hataları bularak ve geliştirmeye katılarak gerçekleştirilir.


Bu, mimari / tasarım kararları almak için uzun bir yol gibi görünüyor. [Çatalların kötü olduğu öncülünde çalışıyorum]
monksy

@monksy, belki de sorunuzun belirtilenden farklı bir öncülden başlıyormuşsunuz gibi görünüyor. Mevcut bir projeden çok daha iyi bir
yolunuz

5
@monksy merdiveni yukarı taşımak zaman alır, kendi merdiveni yapmazsan tepeden başlamaya karar veremezsin.
Ryathal
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.