Lisensi perangkat lunak
Di luar pemberian hak dan penerapan pembatasan penggunaan perangkat lunak, lisensi perangkat lunak biasanya mengandung ketentuan yang mengatur kewajiban dan tanggung jawab masing-masing pihak. Dalam transaksi perangkat lunak perusahaan dan komersial, syarat-syarat ini (seperti pembatasan tanggung jawab, jaminan dan penyangkalan jaminan, dan ganti rugi jika perangkat lunak melanggar hak kekayaan intelektual pihak lain) sering dinegosiasikan oleh pengacara yang memiliki spesialisasi dalam lisensi perangkat lunak. Spesialisasi praktik hukum di bidang ini telah berkembang karena keunikan masalah hukum pada lisensi perangkat lunak, dan juga keinginan perusahaan perangkat lunak untuk melindungi aset yang, jika tak dilisensikan dengan baik, dapat menghilangkan nilai mereka.
Rekayasa perangkat lunak
Istilah "software engineering", pertama kali digunakan pada akhir tahun 1950-an dan sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan konferensi tentang "software engineering" di Jerman dan kemudian dilanjutkan pada tahun 1969. Meski penggunaan kata "software engineering" masukan konferensi tersebut menimbulkan debat tajam tentang aspek "engineering" dari pengembangan perangkat lunak, banyak pihak yang menganggap konferensi tersebutlah yang menjadi awal tumbuhnya profesi rekayasa perangkat lunak