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.
Proses pengembangan perangkat lunak
Proses pengembangan perangkat lunak (Software development process) adalah suatu struktur yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem melalui tahap demi tahap. Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain adalah proses iteratif, "Extreme Programming", serta proses air terjun ("waterfall").