在软件开发中，上游通常是指拥有软件源代码的原作者或是维护者，他们通常也较容易发现程序错误及使用Patch程式来修复。举例来说，一个修补程式被送到上游即为提供给软体的原作者或是维护者。如果被接受了，作者或维护者就会包含该部份的修补程式到他们软体中，可能是立即释出或包含在未来的版本中。如果被拒绝了，提交修补程式的人就不得不继续维护自他们自己的版本。 上游开发将会使其他衍生版本在未来的释出中受益。这个词也涉及到程式错误－最终所有程式错误仍需由上游修复而不是由其他衍生版本进行移植及整合。