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.
Teknik kebutuhan perangkat lunak
Teknik kebutuhan perangkat lunak (requirements engineering) atau sering juga disebut analisis kebutuhan perangkat lunak (Bahasa Inggris: "requirements analysis") mencakup kegiatan dalam menentukan kebutuhan-kebutuhan atau kondisi yang harus dipenuhi untuk suatu produk baru atau yang akan diganti, dengan mempertimbangkan kemungkinan terjadinya konflik kebutuhan dari berbagai macam "stakeholder".