ส้อมโครงการคืออะไร?

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

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

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

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

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