ฉันพัฒนาไปมากในเวลาของตัวเอง โครงการเหล่านี้ที่ฉันทำมีทั้งหมดเพื่อความสนุกสนานและการเรียนรู้ (จนถึงตอนนี้) ฉันมักจะพัฒนา Java กับ Maven แต่ฉันก็รู้จักตะลุยใน. NET และ Python โครงการทั้งหมดที่ฉันทำงานเกี่ยวกับการอนุญาตให้ใช้งานโอเพ่นซอร์สแม้ว่าส่วนใหญ่จะไม่ได้อยู่ในที่เก็บรหัสสาธารณะใด ๆ
การพัฒนา Java / Maven ต้องการให้ฉันใช้โครงสร้างที่ไม่ซ้ำกันgroupId
(เช่น "com.mydomain") และpackage
โครงสร้าง (ไดเรกทอรี) ที่ไม่ซ้ำกันซึ่งโดยทั่วไปจะมีการgroupId
พัฒนาในขณะที่. NET สนับสนุนเฉพาะnamespaces
ในการใช้package
แนวคิดแบบเดียวกันกับแนวคิดJava เพื่อให้แน่ใจว่ามีลักษณะเฉพาะฉันมักจะใช้ชื่อโดเมนของฉันกับส่วนที่กลับรายการ (เช่น "ca.jessewebb") ฉันเชื่อว่านี่เป็นวิธีปฏิบัติทั่วไป
ฉันอยู่ในช่วงเริ่มต้นของการสร้างโปรเจ็กต์โอเพนซอร์สใหม่ Java / Maven (ลองเรียกมันว่า "newproj") และฉันต้องการที่จะวางมันบน GitHub ชื่อผู้ใช้ของฉันบน GitHub คือ "jessewebb" ดังนั้นนี้จะให้มันเหมือน https://github.com/jessewebb/newproj
URL: ฉันไม่ต้องการรบกวนการลงทะเบียนชื่อโดเมน "newproj.com" ดังนั้นฉันจึงตัดสินใจใช้ "ca.jessewebb" และ "ca.jessewebb.newproj" เป็นgroupId
และpackage
ตามลำดับ
มันเกิดขึ้นกับฉันว่าการมีตัวตนส่วนบุคคลของฉันในรหัสและเป็นส่วนหนึ่งของบ้านของโครงการ (ใน URL ของ GitHub) จะทำให้ผู้สนับสนุนที่มีศักยภาพคิดสองครั้งเกี่ยวกับการมีส่วนร่วมกับโครงการของฉัน นี่เป็นปัญหาฉันไม่ต้องการให้เป็นโครงการของฉัน ฉันต้องการถ้าฉันสามารถถ่ายทอดข้อความที่ฉันไม่ได้เป็นเจ้าของโครงการแทน ตอนนี้ในความซื่อสัตย์สุจริตทุกมันคือเรื่องจริงไม่ว่าใหญ่ของการจัดการเพราะผมสงสัยโครงการของฉันจะเก็บส่วนร่วมของชุมชนมาก แต่ฉันยังเห็นนี้เป็นแม้กระทั่งเพิ่มเติมของเหตุผลที่จะหลีกเลี่ยงการสกัดกั้นผู้ที่จะร่วมสมทบใด ๆ
อีกตัวอย่างหนึ่งฉันสร้างโครงการ Google Code เมื่อไม่กี่ปีที่ผ่านมา (เรียกว่า "oldproj") เมื่อฉันสร้างโครงการฉันรู้ว่าฉันกำลังจะโฮสต์มันบน Google Code ดังนั้นฉันจึงใช้groupId
และชื่อแพคเกจของ "com.googlecode.oldproj" ซึ่งเป็นสิ่งที่ตรงกันข้ามกับชื่อโดเมนเริ่มต้นที่ Google Code ให้ทุกโครงการใหม่ สิ่งนี้กลายเป็นความคิดที่ไม่ดีนัก หรือดังนั้นปีต่อมาผมย้ายรหัสที่จะซื้อคืนที่แตกต่างกันและผมก็มีการเปลี่ยนชื่อตัวบ่งชี้เหล่านี้ (ดีผมไม่ได้มีถึง แต่ ... ) ในตอนนั้นฉันไม่ได้เป็นเจ้าของชื่อโดเมนใด ๆ และฉันก็จบลงด้วยการซื้อชื่อโดเมน "oldproj.com" และฉันใช้มัน ฉันชอบสิ่งนี้เพราะมันทำให้โครงการมีเอกลักษณ์เป็นของตัวเองและฉันไม่ได้ปั๊มชื่อของฉันลงบนรหัสทุกที่ ฉันสามารถจดทะเบียนชื่อโดเมน "jessewebb.ca" ได้อย่างง่ายดายและใช้ "ca.jessewebb.oldproj" เป็นชื่อแพ็คเกจ แต่ฉันไม่ได้เพราะฉันมีข้อกังวลเดียวกันด้วยเช่นกัน
ดังนั้นคำถามของฉันคือ ...
ฉันจะหลีกเลี่ยงการใช้ชื่อ (โดเมน) ของตัวเองเมื่อสร้างโครงการโอเพ่นซอร์สในขณะที่ยังคงความเป็นเอกลักษณ์ของแพ็คเกจ / เนมสเปซได้อย่างไร
เมื่อโครงการได้รับแรงกระตุ้นมากขึ้นการลงทะเบียนชื่อโดเมน แต่ดูเหมือนว่าโง่และเสียเงินในการทำสิ่งนี้ก่อนหน้านี้ ฉันรู้ว่าฉันไม่จริงต้องเป็นเจ้าของชื่อโดเมนที่จะใช้ในรหัส แต่ที่รู้สึกผิดและสามารถนำไปสู่ถิ่นฐานในที่สาธารณะคว้ามันมาจากใต้คุณในขณะเดียวกัน คนอื่นทำอะไรเกี่ยวกับภาวะที่กลืนไม่เข้าคายไม่ออกนี้ มีตัวอย่างของโครงการโอเพ่นซอร์สที่เป็นที่นิยม (ใช้กันอย่างแพร่หลายชุมชนขนาดใหญ่ ฯลฯ ) ที่มีตัวตนของนักพัฒนาดั้งเดิมซึ่งเป็นส่วนหนึ่งของตัวระบุของมันเองหรือไม่?