“Açık kaynak, yama gönderin” ifadesini arkadaşça olması için nasıl ifade edersiniz?


18

"Bu açık kaynak, bir yama gönderin" için kanonik karşılık nedir? Birçok insan, insanlardan sadece bir yama göndermelerini istemenin kibirli ve kaba olduğu görüşünü dile getirdi.

Ancak bana öyle geliyor ki, herhangi bir açık kaynak projesinde bir geliştirici olarak, posta listesinde gerçekleştirebileceğinizden çok daha fazla özellik isteği göreceksiniz. Bir kullanıcı "X özelliğini görmek istiyorum" dediğinde, konunun gerçeği genellikle bir yama göndermedikçe, uygulama şansının oldukça düşük olmasıdır. Ayrıca, bir kullanıcıyı katılımcıya dönüştürmek için gereken tek şey biraz teşvik olabilir.

Öte yandan, katkıda bulunanları kaba olarak korkutup (potansiyel) korkutmak istemezsiniz.

Peki, "özellikler istemek yerine lütfen yamaları gönderin" ifadesini dostane bir şekilde nasıl söylerdiniz?

Güncelleme: Tüm öneriler için teşekkürler! Birçoğunun oldukça uzun açıklamalar gerektirdiğini görüyorum. Ancak (a) her gün aynı şeyi açıklamaktan (sadece çok fazla zaman alır) veya (b) e-postaya yapıştırdığım parçacıkları kullanmaktan (kişisel olmayan gerçek hızlı olur) kaçınmayı tercih ettiğim için, merak ediyorum: bağlayabileceğim bir belgeye yazmış olan var mı?

(Test yazma, kodu derleme ve yamayı gönderme gibi projeye özgü şeyler hala belgelenmelidir, ancak bu teknik sorunların yine de CONTRIBUTING.txt'ye girmesi gerektiğini düşünüyorum.)


10
Çok önemli, yamaları kabul etmek istemiyorsanız talep etmeyin! Yani, "Yama gönderin" derseniz, temiz ve iyi yazılmış bir yamayı kabul etmeye istekli olmalısınız.
edA-qa mort-ora-y

1
@ edA-qa - mutlaka her temiz, iyi yazılmış yama - ancak yeni özellikleri veto etme olasılığınız varsa, muhtemelen insanların çok fazla yatırım yapmadan önce muhtemelen bu / muhtemelen cevaplamayacakları bu özellikleri önerebileceği bir yolunuz olmalıdır. onları geliştirmek için zaman.
Steve314

@Steve, istenmeyen yamalar demek istemiyorum , bunlar farklı bir hikaye. Birine bir yama göndermesini söylerseniz, özellikle sorudaki gibi.
edA-qa mort-ora-y

"Bu iyi bir fikir olabilir ya da olmayabilir, git buradan" demek istediğinizde sadece kibirli ve kaba. Dürüst olmak gerekirse, bunun kötü bir fikir olduğunu söylüyorsanız, söyleyin. Eğer uygulamak için zamanınız olmadığı gerçekten iyi bir fikir demek istiyorsanız, söyleyin. Ve bu özelliği uygulayan bir yamayı kabul etmek istediğinizi belirtin. (Bu şekilde, belki birileri gerçekten bir yama gönderecektir.) Sadece "bir yama gönderin" demenin sorunu belirsiz ve küçümseyici olmasıdır.
David Schwartz

Yanıtlar:


8

Yapmazsın.

Yaşadığım kadarıyla, aday katılımcılar tamircilerdir ve yalnızca talep ederek bir özellik isteği göndermezler. Genellikle bunu zaten bir miktar katılımla talep ederler:

  • [...] güzel olmaz mıydı? A, B ve C yapmak mümkündür. (Bunun için yem: Zamanım yok ama işte böyle bir fikir var.)
  • İşte yapmak için bir yama / burada [...] için bir düzeltme.
  • Yapmak için bir yama yazmayı düşünüyorum [...] ve geribildirim kullanabilirsiniz / yardım isteyen herkes var.
  • Vb.

Bir özellik isteği açıkça gönderen kodlayıcılar genellikle bunu bir nedenden dolayı yaparlar. Bazıları şunları içerir (ve son iki örneğin WordPress'te gerçekleştiğini biliyorum):

  • Diğer açık kaynaklı projelerde boyun derinler, yani zamanları yok.
  • Onlar özgür binicilerdir ve işleri bu şekilde tutmaya niyetlidirler.
  • Beceri seviyelerinin çok ötesinde / hakkında hiçbir şey bilmedikleri bir dilde yazılmış.
  • Yazılımı daha iyi bir seçenek eksikliğinden kullanıyorlar ve kötü kokulu bir batsh * t ^ \ b kodu yığınıyla uğraşmak istemiyorlar.
  • Önceki yamaları yok sayıldığı / reddedildiği için artık rahatsız edilemezler, yani zamanlarını boşa harcayacaklarını düşünürler.

Daha tipik olarak, özellik istekleri, isteseler bile düzeltme ekine katkıda bulunamayan son kullanıcılardan gelecektir. Özellikle bilet sisteminin dışında gönderildiğinde.


En önemli önceliğinizin potansiyel / mevcut katılımcıları ertelemek değil, yenilerini aktif olarak almaya çalışmak olması gerektiğini düşünüyorum. Bu çok önemli ve bunu deneyimlerden söylüyorum. Yeni bir kod tabanı almak için garip bir yolum var, bunu anlamak için kodun el yazısı okumasını, biletleme sistemine atlamayı ve iç kısımları derinlemesine (ve dosyalamayı öğrenmek için kolay görünen hataları düzeltmeyi) test ettikçe yenileri). Yıllar boyunca düzinelerce bilet ve düzeltme eki içeren birkaç projeye su bastım. Çoğu zaman bu biletler çok az dikkat çekmeyecek ya da hiç dikkat çekmeyecek (hatta bir onay bile yok, örneğin devam ettirin!) - belgelenmiş teşhis adımları ve ekli ünite testleri de dahil olmak üzere.


1
Daha fazla anlaşamadım. F / OSS projeleri arasında, bir özellik isteği gönderen herkesin tembel olduğu ve bu özelliği gerçekten istedikleri takdirde bir yama gönderebileceği / kendi kurulumunu değiştirebileceği konusunda genel bir fikir var gibi görünüyor . Nasıl programlanacağını bilmeyen ya da başka projelerde yer aldıkları için vakti olmayan herkese son derece rahatsız edici. Bu "kaba bir yama gönderin" kelimeleri değil, ancak kullanıcının plakalarında başka bir şey olmadığı varsayımıdır.
Shauna

9

Kısacası, işlerini ücretsiz yapmak için sınırsız zamanınız olmadığını açıklarsınız. ('Ücretsiz' bit'i atlayabilirsiniz) ve istedikleri zaman katkıda bulunabilecekleri, bu sizin “projeniz” değil, herkesin projesi değildir.

"Gerçekten üzgünüz, bu harika bir fikir, ancak devam eden diğer tüm çalışmalarla çok meşgulüz, listeye ekleyeceğiz, ancak bunu gerçekten almak istiyorsanız, ve projeye katkıda bulunarak bize yardımcı olmak istersiniz, bu harika olurdu.İnsanların projede değişiklik yapmalarına yardımcı olacak bazı belgelerimiz var, buradalar, eğer becerileriniz ve zamanınız varsa ve bize yardımcı olmak istiyorsanız, lütfen bir değişiklik yapın ve değişikliklerinizle birlikte bize bir yama gönderin.Bunu aldığımızda bazı modlar yapmak zorunda kalabiliriz, böylece projenin standartlarına uyuyor, ancak bize bir en azından bu çalışma için bize bir ayak bağı vererek büyük bir iyilik ve bize yardımcı olduğunuz için seveceğiz ".

Tabii ki, yamaları sormaya başladığınızda, onları asla bilet sisteminizde çok uzun süre bırakamazsınız, çok fazla alırsanız, eskiden yaptığınız işi yapmaktan daha fazla entegre edeceksiniz. Bunu beğenmeyebilirsiniz, ancak yamaların gelmesini istiyorsanız gereklidir.


Bunu severim. Belki de bu, belgelere en iyi şekilde konan bir şeydir, bu yüzden bunu her açıklamanız gerektiğinde kopyalayıp yapıştırmazsınız. Sonra da "Would bir yama katkıda bulunmak ister http: //.../#contributing?" Demek
Jo Liss

@JoLiss: Kişisel olmayan sesler için verdiğim cevabı eleştiriyordun; SSS'ye bir köprü kopyalayıp yapıştırmanın daha iyi olduğunu nasıl anlarsınız? Hazır bir yanıt kullanacaksanız, empati gösteren veya profesyonel (veya her ikisi de) gelen bir yanıt kullanın. Bu kısayol fikri de değildir; Aslında bu kadar kesin orijinal soru hakkında şikayetçi oldu edepsizlik tür.
Aaronaught

Hah, ilginç. Bir bağlantı gönderirseniz insanların mutlaka bulabileceğini fark etmedim. Öte yandan, hazır yanıtların çok kişiliksiz olduğunu görüyorum. Bu yüzden belki de bu tür açıklamaları ortaya çıktıklarında yazmak en iyisidir.
Jo Liss

6

Kibar kalın ve durumu net bir şekilde açıklayın. Peki ya şöyle bir şey:

Geri bildiriminiz için teşekkür ederiz. Özelliklerinizi çok ilginç buluyoruz, ancak ürünümüzde en çok istenen özellikleri uygulama çabalarımıza rağmen, hepsini uygulamak için yeterli zamanımız yok. Bir geliştiriciyseniz, açık kaynak olduğu için projeye katkıda bulunarak bize katılabilirsiniz.

Bakın, sadece "Neden isteklerinizle beni rahatsız ediyorsunuz? Sizin için ücretsiz çalışmak için burada değilim; bu özelliği istiyorsanız, gidin ve kendiniz uygulayın" diyemezsiniz. Kişi geliştirici olmayabilir, ürünü geliştirmek için kullanılan dili bilmeyebilir, vb.

Bu nedenle, kaba olmak yerine , projeye katılmayı önerebilir ve ayrıca özelliği neden kendiniz uygulayamayabileceğinizi açıklayabilirsiniz.


Kaba olmamanın bir başka yolu da hiçbir şey söylemek zorunda kalmamaktır. Uygulamanızın kullanıcılarının yeni özellikler önerebileceği ve hataları bildirebileceği bir web siteniz varsa, öğeleri önceliklerine göre sıralamak isteyebilirsiniz: örneğin bir özellik 10.000 kullanıcı tarafından istenirse ve başka bir özellik yalnızca 10 tarafından istenirse , önce birincinin uygulanması ihtimali vardır.

Böyle bir web sitesinde, birkaç gün veya hafta sonra diğer kullanıcılardan yeterince oy almayan özellikler için her zaman bir "kendiniz uygulayın" önerisi koyabilirsiniz.


5

İsteğin için teşekkürler. Proje birikimimize ekledik ve kısa süre içinde gözden geçireceğiz.

Taleplerin hacmi nedeniyle, her birinin uygulanacağını garanti edemeyeceğimizi lütfen unutmayın. Gönüllülere güveniyoruz, bu nedenle bir geliştiriciyseniz, lütfen biraz zaman ayırmayı ve bir yama göndermeyi düşünün . Aksi takdirde, birikmiş işlerin üstesinden gelmek için çok çalıştığımızı ve isteğinize en kısa sürede ulaşacağımızı lütfen unutmayın.

Gerçekten, bu çok zor muydu?


+1 mükemmel; güzel, profesyonel yanıt. @Jo Liss: çoğu insanın yaşamlarını ona adamak yerine sadece yazılımı kullanmak istediğini unutmayın .
Steven A. Lowe

Özünü seviyorum, ama kişisel olarak tonun biraz fazla kişiliksiz olduğunu düşünüyorum. Genellikle müşteri hizmeti veren bir şirket değilsiniz, sadece bir meslektaşınızla konuşan bir geliştiricisiniz. 37 işaretindeki insanlar bile bu tür bir dilden kaçınırlar .
Jo Liss

@JoLiss Sen edilmektedir sen ister inan ister inanma isteyip, müşteri hizmetleri yapıyor. Ve "akranlar" hakkında hiçbir şey söylemediniz. Konuştuğunuz kişinin bir geliştirici olması mümkündür, ancak bir gerçeği bilmiyorsanız, bunun uygun bir varsayım olduğunu düşünmüyorum (geliştirici araçları üzerinde çalışmadığınız sürece, ancak bu soruda). Son olarak, 37 yaşındaki adamlar saçmalık neyi oluşturduğundan bahsediyorlar ... en azından söylemek gerekirse ironiktir.
Aaronaught

Hm. Müşteri hizmeti yaptığım izlenimini vermek istediğimden emin değilim ... Kullanıcıların mutlaka akran olmadığı fikriniz iyi karşılanıyor. Yeniden 37signals, burada ton hakkında konuşan başka bir blog yazısı - bence nokta o kadar çok değil ki saçmalık değil, meçhul bir şirket gibi çıkmamalısınız. Bence bu iyi bir stratejidir ve açık kaynak projeleri için daha da doğrudur.
Jo Liss

2
@JoLiss: Bundan daha kişisel olmak istiyorsanız , harika, tüm gücünüz - bu benim için, nezaket açısından karşılamanız gereken minimum standarttır. Sadece "yama gönderin" demeyin - tembel veya ilgisiz değil meşgul olduğunuzu açıklayın; aslında bir yama sunamayacaklarını ve öyle olsalar bile, size zorunlu olarak bir iyilik yapacaklarını kabul edin.
Aaronaught

4

Sadece "bir yama gönderin" demek yerine, biraz daha ayrıntıya girmelisiniz.

  • Açıkça belirtin, şu anda veya öngörülebilir gelecekte bunun için zamanınız yok, bu nedenle başkaları yakında uygulanmasını istiyorsa, bir yama sağlamaktan başka bir yol yoktur.
  • Özelliği değerlendirmek için zaman ayırın. Eğer içtenlikle seviyorsanız, bunu söylemenin bir zararı yoktur. Insanları teşvik etmek. Ya da özelliğin gerçekten kötü olduğunu düşünüyorsanız, bunu açıklamak için zaman ayırın.
  • Başlangıç ​​yardımı sağlayın. Kod tabanını sizin gibi kimse bilmiyor. Bunu yapmak için zamanınız yok, ama muhtemelen tam olarak nasıl yapacağınızı ve nereden başlayacağınızı biliyorsunuz. 5-10 dakika içinde başkalarının anlaması için saatlere ihtiyaç duyacağı bilgisini paylaşabilirsiniz. Ayrıca bu, büyük resminizin hakim olmasına yardımcı olur. Yabancı özelliklerin projenize cıvatalanması yerine, katkıda bulunanları güzel bir entegrasyona yönlendirebilirsiniz.

Buna katılıyorum, ancak bir yamadan ne beklediğiniz konusunda çok net kurallara ihtiyacınız olduğunu ekleyeceğim. (örn. kod standartlarına uygunluk, test edilen, belgelenen). Bu önemlidir, çünkü özelliği desteklemesi gereken kişi olmanız muhtemeldir - yama göndericileri hataları düzeltmek veya kitaplığınızın diğer kullanıcılarına destek sunmak için nadiren kalırlar.
Mark Heath

3

Tipik olarak söylediklerim ...

"Bu ilginç bir öneri ve FooBarLib'in bunu yapabilmesi harika olurdu. Maalesef, FooBarLib benim için sadece boş bir zaman projesi, bu yüzden yakın gelecekte bunu yapmaya alışmam pek olası değil. FooBarLib'e başvurular hoş geldiniz. bu yüzden bunu kendiniz uygulayabiliyorsanız, bir yama göndermekten çekinmeyin (önce "FooBarLib'e nasıl katkıda bulunulur" yönergelerimizi okuyun).


2

"Bir yama gönderin" demenin güzel yollarına ek olarak, geliştiriciye yönelik dokümantasyon da sağlayın, böylece diğerleri neden özelliğin gerçekten projenizi hızlandırmasını isterler. Pek çok proje geliştirici dostu değildir ve doğru olması için binlerce satır kod ve tonlarca küçük test senaryosunu okumak için minimum gün gerektirir.

Olası geliştiricilere yardım sağlarsanız, yardım sağlamaktan daha istekli olacaklardır. Bu, iyi kod dokümantasyonu, akışı açıklayan iyi wiki sayfaları (veya iyi bir UML / beyaz tahta şeması) ve yamaların kabul edilmesinin kolay bir yolu anlamına gelir.


-2

Github'un başkalarını projeyi çatallamaya teşvik etme şeklini gerçekten çok seviyorum. Farklı kullanıcı hesapları altında aynı projenin birden çok sürümü bulunabilir. Yönü beğenmediyseniz projeyi lütfen çataldan daha fazla alıyorum. Çekme isteklerini kolayca gönderebilirsiniz, ancak kabul etmemi beklemiyorsunuz.

Yani cevabım genellikle, sadece çatalla.

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.