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.
Prototyping perangkat lunak
Prototyping perangkat lunak (software prototyping) atau siklus hidup menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep "model bekerja" (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat daripada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi adalah pengembang sistem ("system developer"), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.