Вы заказчик, под ваши хотелки разрабатывают софт (ПО)... ПО это инструмент позволяющий решать определенные задачи, поэтому формулируйте задачи, пишите с исполнителем ТЗ, где исполнитель изложит то, как можно все это реализовать и какие инструменты/технологии использовать и т.д.... так вам станет более менее понятна техническая сторона вопроса, далее остается все это формализовать но у же на юридическом языке, тут немного сложнее... можете самостоятельно поизучать данную тему (будет полезно, но затратно по времени) и используя онлайн-сервисы создать договор, либо привлекайте юриста...
Главное в вашем случае думать над постановкой вопроса - задач, т.е. понимание что вы хотите решить, зачем и какой результат вы от этого получите... без этого понимания вас можно будет долго раскручивать на реализацию ненужных вам функций в вашем ПО, соответственно сделать вас зависимым...