Свободное программное обеспе́чение, свободный софт — программное обеспечение, пользователи которого имеют права («свободы») на его неограниченную установку, запуск, свободное использование, изучение, распространение и изменение (совершенствование), а также распространение копий и результатов изменения. Если на программное обеспечение есть исключительные права, то свободы объявляются при помощи свободных лицензий.
Открытое программное обеспечение — программное обеспечение с открытым исходным кодом. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет убедиться в отсутствии уязвимостей и неприемлемых для пользователя функций, принять участие в доработке само́й открытой программы, использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода, если это позволяет совместимость лицензий, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов.

Исхо́дный код — текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочтён человеком. В обобщённом смысле — любые входные данные для транслятора. Исходный код транслируется в исполняемый код целиком до запуска программы при помощи компилятора или может исполняться сразу при помощи интерпретатора.
Разрабо́тка програ́ммного обеспе́чения — деятельность по созданию нового программного обеспечения.
Тести́рование програ́ммного обеспе́че́ния — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом.
Бе́та-тести́рование — интенсивное использование почти готовой версии продукта с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом продукта на рынок, к массовому потребителю.
Взлом программного обеспечения — действия, направленные на устранение защиты программного обеспечения (ПО), встроенной разработчиками для ограничения функциональных возможностей. Последнее необходимо для стимуляции покупки такого проприетарного ПО, после которой ограничения снимаются.

Дра́йвер — компьютерное программное обеспечение, с помощью которого другое программное обеспечение получает доступ к аппаратному обеспечению некоторого устройства. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для некоторых устройств могут потребоваться специальные драйверы, обычно предоставляемые производителем устройства.
Бесплатное программное обеспечение — программное обеспечение, лицензионное соглашение которого не требует каких-либо выплат правообладателю. Бесплатное программное обеспечение обычно распространяется в готовом к исполнению виде и является проприетарным программным обеспечением.
RAD — концепция организации технологического процесса разработки программных продуктов, ориентированная на максимально быстрое получение результата в условиях сильных ограничений по срокам и бюджету и нечётко определённых требований к продукту. Эффект ускорения разработки достигается путём использования соответствующих технических средств и непрерывного, параллельного с ходом разработки, уточнения требований и оценки текущих результатов с привлечением заказчика. RAD создана в конце 1980-х как альтернатива более ранним каскадной и итеративной моделям. С конца XX века RAD получила широкое распространение.
Запла́тка, или патч — информация, предназначенная для автоматизированного внесения определённых изменений в компьютерные файлы. Применение патча иногда называется «пропатчиванием».
Документа́ция на программное обеспечение — печатные руководства пользователя, диалоговая (оперативная) документация и справочный текст, описывающие, как пользоваться программным продуктом.
Процесс разработки программного обеспечения — процесс, посредством которого потребности пользователей преобразуются в программный продукт. Процесс разработки программного обеспечения является составной частью программной инженерии.

В разработке программного обеспечения, стадии разработки используются для описания степени готовности программного продукта. Также стадия разработки может отражать количество реализованных функций, запланированных для определённой версии программы. Стадии либо могут быть официально объявлены и регламентируются разработчиками, либо иногда этот термин используется неофициально для описания состояния продукта.
Анализ требований — часть процесса разработки программного обеспечения, включающая в себя сбор требований к программному обеспечению (ПО), их систематизацию, выявление взаимосвязей, а также документирование. В англоязычной среде также говорят о дисциплине «инженерия требований». В процессе сбора требований важно принимать во внимание возможные противоречия требований различных заинтересованных лиц, таких как заказчики, разработчики или пользователи.
Свободное программное обеспечение (СПО) — это продукты, распространяемые по условиям либеральных лицензий, которые предоставляют пользователю больше возможностей, чем традиционные лицензии на программное обеспечение. Не следует путать свободное программное обеспечение с бесплатным. Лицензия Freeware содержит ограничения на коммерческое использование, модификацию и т. д.

Открытое проектирование — способ разработки и сопровождения эксплуатации физических изделий, а также машин и систем, путём использования публичной совместно используемой информации о конструкции. Процесс, как правило, идёт с использованием глобальной сети Интернет, лицензий Creative Commons и часто выполняется без монетизации вознаграждения. Цели и философия идентичны политике открытого кода, но применимо к разработке физических изделий, а не программного обеспечения.
Feature driven development — итеративная методология разработки программного обеспечения, одна из гибких методологий разработки (agile). FDD представляет собой попытку объединить наиболее признанные в индустрии разработки программного обеспечения методики, принимающие за основу важную для заказчика функциональность (свойства) разрабатываемого программного обеспечения. Основной целью данной методологии является разработка реального, работающего программного обеспечения систематически, в поставленные сроки.
Разработчик видеоигр — это разработчик программного обеспечения, специализирующийся на разработке видеоигр — процессе и связанных с ним дисциплинах из области создания видеоигр. Разработчиком игр может быть как единственный человек, который берёт на себя все задания, так и большое предприятие с разделением обязанностей между сотрудниками по областям деятельности — программирование, дизайн, художественная составляющая, тестирование и т. д. Большинство компаний — разработчиков видеоигр имеют финансовую поддержку издателей и обычно маркетинговую поддержку. Разработчики, существующие за счёт собственных ресурсов, известны как независимые или инди-разработчики и обычно создают инди-игры.