Нужно смотреть что уже есть на рынке и понимать какой именно вам функционал нужен. Если готового ничего не подходит, что мало вероятно, то придется обращаться к разработчикам. Не вижу здесь никакой проблемы, так как взяв готовое решение, вы все так же зависите от разработчиков, либо интеграторов. Последних менять можно, но если именно разработчик решит внести кардинальные изменения - можно вполне придти к второму варианту.