Mevcut bir projenin tam bir yeniden yazımını yayınlamak için uygun görgü kuralları nedir?


12

Açık kaynak dünyasında yeniyim. Üzerinde çalıştığım proje Github'da. (Sadece referans için) Üzerinde çalıştığım proje Plex Media Server için bir eklentidir. Eklentimi "uygulama mağazasında" yer alacak şekilde Plex'e göndermeyi planlıyorum. Şimdi soruma.

İlk başladığımda, istediğim şeylerden bazılarını yapan ama çok iyi olmayan eski, yarı terk edilmiş bir eklenti buldum. Bu repoya katkıda bulunarak başladım. Şu anki sahibi artık onunla uğraşmak için çok meşgul olduğunu söylediğinden hemen repo'ya tam haklara sahip bir ortak çalıştım. Ancak, kodun derinliklerine inmeye başladığımda bunun boş olduğunu fark ettim. Mevcut kod tabanı korkunçtu ve düzeltmenin etkili bir yolu yoktu. Ben sadece sıfırdan başlayarak sona erdi. Yeni eklentimde kullandığım tek kod başlangıçta işlediğim koddu.

Artık proje piyasaya sürülmeye hazır. Ancak bunu nasıl yapacağım konusunda emin değilim. Seçeneklerimi aşağıdaki gibi görüyorum:

  1. Yeni bir repo oluşturun ve mevcut olanı unutun. Önceki repodan ve / veya katkıda bulunanlardan bahsetmem gerekip gerekmediğinden emin değilim. Bu kodu / kaynakları kullanmadım ve tamamen yeni bir kod tabanı oluşturdum. Eklenti eskisiyle aynı şeyleri yaparken, bunu tamamen yeni ve daha verimli bir şekilde yapıyor.

  2. Mevcut repoyu çatallıyorum, mevcut kodu siliyorum ve yeni kodumu taahhüt ediyorum. Git için gerçekten yeniyim, bu yüzden bunun mümkün olup olmadığından emin değilim.

  3. Mevcut repoda yaptığım değişiklikleri taahhüt ediyorum ve mevcut katkıda bulunanların nasıl söylemek zorunda olduklarını görüyorum.

Üç seçenekten birincisine doğru eğildim. FAKAT! Açık kaynak kodunda yeniyim ve işleri uygun görgü kurallarına göre yaptığımdan emin olmak istiyorum. İlk projemin yüzüme patlamasını ve bir felaket olmasını istemiyorum. İkinci seçenek kötü gelmiyor ama bunu yapmam gerekip gerekmediğinden emin değilim. Tarihin ve farkların nasıl çalışacağından emin değilim. En fazla 500 - 1000 satır koddan bahsediyoruz. Yani büyük bir kod tabanı değil.

Sağlayabileceğiniz herhangi bir giriş için teşekkürler!


10
Tamamen yeni bir kod olduğundan, # 1 ile devam etme eğilimindeyim, çünkü eski projenin tarihi gerçekten alakasız. Ancak README'ye, ".... 'den gelen bir fikre dayanarak" çizgisi boyunca bir şeyler eklemek iyi olurdu.
Peter Rowell

2
@PeterRowell lütfen bu cevabı bir cevaba yazınız, böylece onu oylayabilirim!
MattDavey

@PeterRowell Tavsiye için teşekkürler. Bu güzel bir fikir.
Matt Keller

1
2 için mevcut depoyu silmenize gerek yoktur. Ne yaparsanız yapın, eminim orijinal geliştirici size projeyi çatalladığınızı söylemekten memnun olur
James

Yanıtlar:


13

Tamamen yeni bir kod olduğundan, # 1 ile devam etme eğilimindeyim, çünkü eski projenin taahhüt tarihi gerçekten alakasız. Ancak README'ye, ".... 'den gelen bir fikre dayanarak" çizgisi boyunca bir şeyler eklemek iyi olurdu.

Ben (veya algoritmalarımızın) nereden geldiğini kabul etmenin büyük bir hayranıyım. Eğer tarihin sisleri geri bakarsanız, hepimiz önce-geldi olanların omuzlarında duran ve göreceğiniz tüm birimiz. Örneğin , 1980'lerde benzer bir arama motoru geliştirdim ve pazarladım ve bazı insanlar için oldukça radikal görünüyordu (o zamanlar Boolean King'di). Ancak kullandığım algoritmanın kalbi, Gerard Salton tarafından 20 yıl önce Cornell'de başlatılan işe dayanıyordu .

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.