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


