ฉันจะสนับสนุนโครงการ GitHub ที่ถูกทอดทิ้ง (ส่วนใหญ่) ได้อย่างไร


43

เมื่อเร็ว ๆ นี้ฉันได้พยายามเข้าร่วมการทำงานร่วมกับโอเพ่นซอร์สใน GitHub และได้พบกับสถานการณ์ที่ฉันอยากรู้ว่าวิธีที่ต้องการดำเนินการต่อไปคืออะไร

ประมาณหนึ่งเดือนที่ผ่านมาฉันพบโครงการบน GitHub สำหรับห้องสมุดที่ฉันใช้มาระยะหนึ่งแล้วและที่ฉันได้พบ (และแก้ไข) ข้อบกพร่องบางอย่าง

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

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

นั่นเป็นเพียงเดือนที่ผ่านมาและคำขอดึงได้นั่งอยู่ที่นั่นไม่มีใครแตะต้องนับตั้งแต่ ผู้ใช้ที่ repo ที่ฉันเคยแยกดูเหมือนจะไม่กระตือรือร้นมากมีเพียง 7 ผลงานทั้งหมดใน GitHub ในปีที่ผ่านมาและ repo นั้นไม่มีภาระผูกพันตั้งแต่คำขอดึงครั้งแรกที่ฉันทำ

ดังนั้นคำถามของฉัน:

ใครจะดำเนินการต่อในสถานการณ์นี้? ตามหลักการแล้วฉันต้องการหลีกเลี่ยงการสร้างการแยกส่วนของห้องสมุดโดยออกไปและทำการเปลี่ยนแปลงทั้งหมดใน repo ของฉันซึ่งไม่ได้รวมเข้ากับ repo หลัก อย่างไรก็ตามฉันต้องการดำเนินการแก้ไขข้อบกพร่องและเพิ่มคุณสมบัติต่อไป แต่ถ้าฉันรวมทุกอย่างไว้ในสาขาหลักของฉันและยึดการแก้ไขใหม่ทั้งหมดออกจากสาขานั้นถ้าผู้ดูแลระบบของ repo ที่ฉันแยกกลับมาฉันชนะ ไม่สามารถแยกการเปลี่ยนแปลงทั้งหมดออกเป็นคำขอดึงแยกต่างหากสำหรับแต่ละคุณสมบัติ / แก้ไขข้อบกพร่อง (ฉันอ่านแล้วว่าคำขอดึงข้อมูลควรเป็นคำขอดึงหนึ่งครั้งต่อคุณลักษณะหรือแก้ไขข้อบกพร่อง)

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

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


4
เมื่อคุณพบว่าคำถามนี้น่าสนใจคุณอาจสนใจข้อเสนอสำหรับไซต์stackexchange โอเพนซอร์สใหม่
ฟิลิปป์

สนใจที่จะแบ่งปันสิ่งที่เกิดขึ้นจากการสนทนาทางอีเมลเพียงเพื่อเราผู้เข้าชมที่อยากรู้อยากเห็น? :)
winkbrace

@winkbrace จนถึงตอนนี้ไม่มีอะไร ฉันไม่ได้รับการตอบกลับ แต่ฉันส่งอีเมลเพียงสองวันที่ผ่านมา ฉันจะให้คุณทุกคนรู้ว่ามีอะไรพัฒนา
JLRishe

คำตอบ:


39

ฉันยังไม่ได้สถานการณ์นี้ แต่นั่นคือสิ่งที่ฉันจะลอง:

ลองติดต่อเจ้าของ

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

แต่บางทีพวกเขาอาจกำลังยุ่งอยู่กับสิ่งอื่น (งานวันหยุดพักผ่อนความเจ็บป่วยโครงการอื่น ๆ ) และไม่มีเวลาจัดการกับงานประชาสัมพันธ์ของคุณ แต่วางแผนที่จะทำในภายหลัง

หรือบางทีพวกเขาอาจหยุดทำงานในโครงการอย่างถาวรด้วยเหตุผลใดก็ตาม

คุณจะไม่พบมัน

ติดต่อกับชุมชน

แน่นอนมีคนอื่น ๆ ที่มีส่วนร่วมหรืออย่างน้อยก็ใช้โครงการ ตรวจสอบผู้ที่แยกโครงการ (แม้ว่าพวกเขาจะไม่ได้ทำการเปลี่ยนแปลงใด ๆ พวกเขาอาจยังสนใจที่จะเห็นโครงการนี้เฟื่องฟู) ตรวจสอบผู้ที่ได้รายงานปัญหาหรือแสดงความคิดเห็นเมื่อพวกเขา อาจมีชุมชนนอก GitHub เช่นรายชื่อผู้รับจดหมายฟอรัมหรือสมาชิก StackOverflow

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

ทำการร้องขอการดึงที่ดีต่อไป

สิ่งนี้แสดงทั้งเจ้าของและชุมชนที่คุณจริงจังและให้พวกเขาตัดสินการมีส่วนร่วมของคุณ


1
ขอขอบคุณ. หลังจากการค้นหามากขึ้นอีกนิดดูเหมือนว่าคำแนะนำนี้จะคล้ายกับแนวทางที่สามารถใช้ได้สำหรับชนิดของสถานการณ์นี้กับแพคเกจ NPM ฉันเพิ่งส่งอีเมลถึงเจ้าของและจะเห็นว่าเขา / เธอตอบอะไร
JLRishe

มันยากมากที่จะหาใครสักคนที่มีความสามารถในการอนุมัติ PRs สำหรับ repo เฉพาะเมื่อ "เจ้าของ" ของ repo นั้นเป็นองค์กรที่มีผู้ใช้หลายสิบคน
cowlinator

15

หากเจ้าของ repo ดั้งเดิมไม่พบที่ใดก็ได้และขาดไปมากฉันจะเผยแพร่พื้นที่เก็บข้อมูลของฉันเป็นเวอร์ชันอื่นของโครงการ

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


1
ใช่เพียงแค่forkโครงการและในREADME.mdออกจากการอ้างอิงและ "ขอบคุณ" ให้กับเจ้าของเดิม
Jared Burrows

ขอบคุณสำหรับคำตอบ (+1) คุณทำคะแนนได้ดีอย่างแน่นอน ในที่สุดฉันก็อาจใช้วิธีนี้ แต่ตอนนี้ฉันจะทำตามคำแนะนำของ oefe และดูว่าฉันสามารถติดต่อกับเจ้าของ repo ได้ทางอีเมลหรือไม่
JLRishe

แน่นอนว่าอย่าปล่อยให้พื้นที่เก็บข้อมูลหลงลืมไป รหัสที่ดีจำนวนมากจะต้องถูกซ่อนอยู่ที่ไหนสักแห่งใน Github ที่ลึกล้ำทำให้เจ้าของเดิมไม่อยู่อีกต่อไป
cllamach

ฉันอยู่ในสถานการณ์ที่คล้ายกันและอาจต้องใช้ตัวเลือกนี้ - เจ้าของโครงการเดิมไม่ตอบกลับการพยายามติดต่อซ้ำ เป็น kosher หรือไม่ที่จะรักษาชื่อของโครงการและเพิ่มหมายเลขรุ่นต่อจากรุ่นทางการล่าสุด ฉันกังวลว่าถ้าฉันเปลี่ยนชื่อมันจะยากสำหรับผู้ใช้ที่มีอยู่ของโครงการเพื่อค้นหา
pericynthion

1
ฉันอาจอยู่ในสถานการณ์เช่นนั้นเช่นกัน แต่โครงการเดิมได้ลงทะเบียนกับ Bower แล้ว การรักษาชื่อนั้นหมายถึงต้องให้ผู้แต่งดั้งเดิมยกเลิกการลงทะเบียนให้คุณหรือติดต่อผู้ดูแล Bower และขอให้พวกเขาเข้ามาแทรกแซง ฉันไม่สนใจที่จะทำอย่างหลังแม้ว่า การเปลี่ยนชื่ออาจเป็นตัวเลือกที่ดีที่สุด
Lawrence I. Siden

0

เนื่องจากโปรเจ็กต์ฟรีและโอเพนซอร์สขนาดเล็กและขนาดกลางส่วนใหญ่ในปัจจุบันมีโฮสต์บน gitHub, gitlab หรือที่คล้ายกันจึงเป็นไปได้ที่จะทำให้กระบวนการบางอย่างเป็นอัตโนมัติโดยใช้เว็บ API ของพวกเขา

สมมติว่า repo ดั้งเดิมอยู่ที่https://github.com/someUserX/projectY/กระบวนการอาจมีลักษณะเช่นนี้:

  1. ("คู่มือ") ติดต่อผู้เขียนต้นฉบับด้วยวิธีที่ต่างกันอย่างน้อยผ่านทางอีเมลคอมมิทเตอร์ของเขาและปัญหา (ถ้าเปิดใช้งาน)

    ในกรณีที่ได้รับอนุญาตหรือไม่ตอบกลับภายในเวลาไม่กี่สัปดาห์ผู้ใช้สามารถเรียกใช้สคริปต์ซึ่งจะใช้ hosters Web API เพื่อทำตามขั้นตอนดังนี้:

  2. สร้างองค์กรใหม่ (GitHub) ที่เรียกว่าprojectYและในนั้นแยก repo ดั้งเดิม ->https://github.com/projectY/projectY/

  3. เพิ่มผู้แต่งดั้งเดิมและผู้เขียนคำขอดึงทั้งหมด (รวมแล้วและยังคงเปิดอยู่) เป็นผู้ดูแลระบบขององค์กร
  4. สร้างคำขอดึงทั้งหมด (เปิด) ใหม่จาก repo ดั้งเดิมในทางแยกใหม่
  5. ทำเช่นเดียวกันกับปัญหา (เปิด)
  6. แจ้งผู้ดูแลระบบของ repo ใหม่ทั้งหมด
  7. สร้างคำขอดึงครั้งสุดท้ายไปยัง repo เก่าเพิ่มการแจ้งเตือน "ละทิ้ง" / "เก็บถาวร" และเชื่อมโยงไปยัง repo ใหม่ที่ด้านบนของ README

ปัญหาหลักที่ผมเห็นด้วยกับแนวทางนี้คือบางส่วนร่วมสมทบ "เลวร้าย" อาจจะได้รับการเข้าถึงผู้ดูแลระบบ แต่เป็นซอฟแวร์ฟรีศาสนาปีเตอร์ฮินเ์เจนส์อธิบาย(ตัวอย่างเช่นในการพูดคุยนี้) , กระทำที่ไม่ดีก็สามารถหวนกลับและก่อให้เกิดความไม่ด้าย โครงการที่ยังมีชีวิตอยู่และอาจช่วยผู้ที่ไม่ดีให้เป็นคนดีเมื่อเวลาผ่านไป
hoijui
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.