ทำไมฉันถึงต้องโฮสต์โค้ดที่ไหนสักแห่งเช่นนี้
จุดสำคัญของการพัฒนาซอฟต์แวร์โอเพ่นซอร์สคือการแบ่งปันรหัสต้นฉบับ มีหลายวิธีในการทำเช่นวางไฟล์ tar / zip บนเว็บหรือเซิร์ฟเวอร์ ftp บริการเช่นรหัส google (หรือ sourceforge.net, gitorious.org, bitbucket.org และอื่น ๆ อีกมากมาย) ทำให้คุณไม่จำเป็นต้องเรียกใช้เซิร์ฟเวอร์ของคุณเองเพื่อจุดประสงค์นี้
และนั่นหมายความว่าฉันต้องถอดไซต์ออกจากโฮสต์ปัจจุบันของฉันหรือนี่เป็นโฮสติ้งประเภทอื่นหรือไม่
บริการเหล่านี้ไม่ได้เป็นโฮสต์เว็บทั่วไป แต่ใช้บริการพิเศษมาก สิ่งเหล่านี้ไม่ได้หมายถึงเป็นหน้าแรกของผลิตภัณฑ์ แต่เป็นหน้าแดชบอร์ดสำหรับนักพัฒนา
ด้วยรหัส google คุณจะได้รับ
- วิกิ
- นักติดตามบั๊ก
- พื้นที่ดาวน์โหลดไฟล์ปกติ
- เซิร์ฟเวอร์ควบคุมเวอร์ชัน
แน่นอนคุณสามารถตั้งค่าซอฟต์แวร์เหล่านี้บนเว็บเซิร์ฟเวอร์ปกติ (สิ่งที่ควบคุมเวอร์ชันอาจมีความยุ่งยาก แต่ขึ้นอยู่กับรายละเอียดมาก) แต่ประโยชน์หลักของการใช้ hoster พัฒนาคือคุณไม่จำเป็นต้องดูแล ของระบบเหล่านี้เพื่อคุณเอง ข้อเสียเปรียบหลักคือคุณไม่สามารถควบคุมซอฟต์แวร์ที่ใช้บนเซิร์ฟเวอร์คุณต้องใช้ชีวิตกับสิ่งที่มีอยู่ในโฮสต์นั้น คุณต้องพิจารณาว่าจะเกิดอะไรขึ้นหากบริการไม่ทำงาน (ตกลง, google ไม่เคยล้มเหลว) และหากคุณสามารถนำข้อมูลจากโฮสต์ปัจจุบันไปยังเซิร์ฟเวอร์อื่นหรือเซิร์ฟเวอร์ของคุณเอง (คิดว่าเป็นการสำรองข้อมูล)
จะเกิดอะไรขึ้นเมื่อฉันสร้างเว็บไซต์ของฉันแบบโอเพ่นซอร์สฉันมีสิทธิ์ใด
นี่เป็นคำถามที่ยากเนื่องจากมันขึ้นอยู่กับกฎหมายของประเทศที่คุณอาศัยอยู่
ฉันให้สิทธิ์อะไร
ขึ้นอยู่กับลิขสิทธิ์ที่คุณให้กับผลิตภัณฑ์ มันสามารถเปลี่ยนจากโอเพนซอร์สที่เป็นกรรมสิทธิ์ (คิดว่าเป็น PGP) ซึ่งผู้ใช้โดยทั่วไปไม่สามารถทำอะไรกับโค้ดได้อีกด้านหนึ่งของสเกลคือโดเมนสาธารณะที่ทุกคนสามารถทำสิ่งที่เขาต้องการได้
มันใช้งานได้อย่างไรผู้คนเพิ่งมาและโยนรหัสมาให้ฉันฟรีหรือไม่?
สิ่งนี้ไม่น่าเกิดขึ้นเนื่องจากผลิตภัณฑ์ของคุณต้องการความนิยมเพียงพอเพื่อดึงดูดนักพัฒนารายอื่น
[... ] และตอนนี้ก็ขอให้ฉันถ้าฉันต้องการให้โครงการมีโฮสติ้งรหัส Git, Mercurial หรือ Subversion
เหล่านี้เป็นระบบควบคุมเวอร์ชันที่แตกต่างกันสามระบบโดยการโค่นล้มเป็นระบบรวมศูนย์ในขณะที่ Git และ Mercurial มีการกระจาย
มีสงครามศาสนาเกี่ยวกับสิ่งที่จะใช้ แต่ประเด็นหลักคือการใช้ ดูhttp://martinfowler.com/bliki/VersionControlTools.htmlสำหรับรายละเอียดเพิ่มเติม
เมื่อใดที่จะเลือกการโค่นล้ม:
- คุณมีไฟล์ไบนารีซึ่งไม่สามารถผสานได้อย่างง่ายดายและต้องการ lock-> modified-> commit-> unlock เวิร์กโฟลว์ซึ่งรองรับการโค่นล้ม¹
- คุณต้องตรวจสอบเพียงส่วนหนึ่งของโครงสร้างไดเรกทอรี
¹มีส่วนขยายแบบล็อคสำหรับ Mercurial แต่ฉันไม่มีประสบการณ์กับมันและไม่สามารถพูดได้ว่ามันใช้งานได้
เมื่อคุณไม่ต้องการคุณสมบัติเดิมมันจะดีกว่าถ้าใช้ Mercurial หรือ Git ทั้งสองมีข้อดีเหนือกว่าการโค่นล้ม: