มารยาทที่เหมาะสมสำหรับการปล่อยการเขียนที่สมบูรณ์ของโครงการที่มีอยู่คืออะไร?


12

ฉันใหม่สำหรับโลก opensource โครงการที่ฉันกำลังทำงานอยู่กับ Github (สำหรับการอ้างอิงเท่านั้น) โครงการที่ฉันกำลังดำเนินการอยู่เป็นปลั๊กอินสำหรับ Plex Media Server ฉันวางแผนที่จะส่งปลั๊กอินของฉันไปที่ Plex เพื่อที่จะรวมอยู่ใน "app store" ของพวกเขา ตอนนี้คำถามของฉัน

เมื่อฉันเริ่มแรกฉันพบปลั๊กอินที่ถูกทอดทิ้งแบบเก่าที่ทำในสิ่งที่ฉันต้องการ แต่ไม่ค่อยดี ฉันเริ่มต้นด้วยการมีส่วนร่วมในการซื้อคืน ฉันได้ทำงานร่วมกันโดยทันทีที่มีสิทธิ์เต็มรูปแบบในการซื้อคืนเนื่องจากเจ้าของปัจจุบันบอกว่าเขายุ่งเกินกว่าที่จะยุ่งกับมันอีกต่อไป อย่างไรก็ตามในขณะที่ฉันเริ่มขุดลึกลงไปในรหัสฉันรู้ว่ามันไร้ประโยชน์ ฐานรหัสที่มีอยู่แย่มากและไม่มีวิธีแก้ไขที่มีประสิทธิภาพ ฉันลงเอยด้วยการเริ่มจากศูนย์ รหัสเดียวที่ฉันใช้ในปลั๊กอินใหม่ของฉันคือรหัสที่ฉันยืนยันตอนแรก

ตอนนี้โครงการพร้อมที่จะเปิดตัว อย่างไรก็ตามฉันไม่แน่ใจว่าจะทำสิ่งนี้ได้อย่างไร ฉันเห็นตัวเลือกของฉันดังนี้:

  1. สร้าง repo ใหม่และลืมเกี่ยวกับที่มีอยู่เดิม ฉันไม่แน่ใจว่าฉันควรพูดถึง repo ก่อนหน้าและหรือผู้มีส่วนร่วม ฉันไม่ได้ใช้รหัส / แหล่งข้อมูลใด ๆ และได้สร้างฐานรหัสใหม่ทั้งหมด ในขณะที่ปลั๊กอินทำสิ่งเดียวกันกับที่เคยทำมา แต่มันทำในรูปแบบใหม่ทั้งหมดและมีประสิทธิภาพมากขึ้น

  2. ฉันแยก repo ที่มีอยู่แล้วลบรหัสที่มีอยู่และส่งรหัสใหม่ของฉัน ฉันใหม่กับ Git จริงๆฉันไม่แน่ใจว่ามันจะเป็นไปได้หรือไม่

  3. ฉันยอมรับการเปลี่ยนแปลงของฉันกับ repo ที่มีอยู่และดูว่าผู้ให้ข้อมูลปัจจุบันต้องพูดอย่างไร

ในสามตัวเลือกฉันเอนตัวไปทางแรก แต่! ฉันใหม่กับโอเพ่นซอร์สและฉันต้องการให้แน่ใจว่าฉันทำสิ่งต่าง ๆ ตามมารยาทที่เหมาะสม ฉันไม่ต้องการให้โครงการแรกของฉันระเบิดในหน้าของฉันและกลายเป็นหายนะ ตัวเลือกที่สองนั้นฟังดูไม่ดี แต่ฉันไม่แน่ใจว่าควรจะทำเช่นนั้นหรือไม่ ฉันไม่แน่ใจว่าประวัติศาสตร์และความแตกต่างจะทำงานอย่างไร เรากำลังพูดถึงโค้ดประมาณ 500 - 1,000 บรรทัดเท่านั้น ดังนั้นจึงไม่ใช่ฐานรหัสขนาดใหญ่

ขอบคุณสำหรับการป้อนข้อมูลใด ๆ ที่คุณสามารถให้!


10
เนื่องจากเป็นรหัสใหม่ทั้งหมดฉันจึงมักจะใช้หมายเลข 1 เพราะประวัติของโครงการเก่านั้นไม่เกี่ยวข้องจริงๆ แต่มันจะเป็นการดีถ้าเพิ่มบางอย่างใน README ตามแนวของ "อิงจากแนวคิดจาก .... "
Peter Rowell

2
@ PeterRowell กรุณาใส่ความคิดเห็นในคำตอบเพื่อให้ฉันสามารถลงคะแนนได้!
MattDavey

@ PeterRowell ขอบคุณสำหรับคำแนะนำ เป็นความคิดที่ดีมาก.
Matt Keller

1
สำหรับ 2 ไม่จำเป็นต้องลบที่เก็บข้อมูลที่มีอยู่ ไม่ว่าคุณจะทำอะไรฉันมั่นใจว่าผู้พัฒนาดั้งเดิมจะขอบคุณที่คุณบอกเขาว่าคุณกำลังทำโปรเจ็กต์นี้
James

คำตอบ:


13

เนื่องจากมันเป็นรหัสใหม่ทั้งหมดฉันจึงมักจะไปกับอันดับที่ 1 เพราะประวัติความเป็นมาของโครงการเก่านั้นไม่เกี่ยวข้องจริงๆ แต่มันจะเป็นการดีถ้าเพิ่มบางอย่างใน README ตามแนวของ "อิงจากแนวคิดจาก .... "

ฉันเป็นแฟนตัวยงของการยอมรับว่าเรา (หรืออัลกอริทึมของเรา) มาจากไหน หากคุณมองกลับไปที่หมอกแห่งประวัติศาสตร์คุณจะเห็นว่าเราทุกคนยืนอยู่บนไหล่ของผู้ที่มาก่อน - เราทุกคน ตัวอย่างเช่นฉันพัฒนาและทำการตลาดเครื่องมือค้นหาความคล้ายคลึงกันย้อนกลับไปในปี 1980 และดูเหมือนว่าจะค่อนข้างรุนแรงสำหรับบางคน (บูลีนเป็นราชาตั้งแต่นั้นมา) แต่หัวใจของอัลกอริทึมที่ฉันใช้นั้นขึ้นอยู่กับงานที่เริ่มโดยGerard Saltonที่ Cornell 20 ปีก่อนฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.