Paten perangkat lunak
FOLDOC mendefinisikan paten perangkat lunak sebagai "paten yang dimaksudkan untuk menghalangi orang lain untuk menggunakan suatu teknik pemrograman". Namun definisi ini belum diterima secara universal.
Metodologi pengembangan perangkat lunak
Dalam rekayasa perangkat lunak, metodologi pengembangan perangkat lunak atau "metodologi pengembangan sistem" adalah suatu kerangka kerja yang digunakan untuk menstrukturkan, merencanakan, dan mengendalikan proses pengembangan suatu sistem informasi. Banyak ragam kerangka kerja yang telah dikembangkan selama ini, yang masing-masing memiliki kekuatan dan kelemahan sendiri-sendiri.