Если вы не уверенны, что после получения результатов выполненной работы заказчик перечислит деньги, то, по крайней мере, сделаете эти результаты недоступными для использования до момента получения оплаты. При этом следует обеспечить подтверждение, что работа выполнена в полном объеме согласно требованиям заказчика. Задача эта не тривиальна и в каждом конкретном случае должна решаться своими методами. Чтобы понять общий принцип данного подхода, попробую привести несколько примеров:
* Если вы пишите веб-скрипты (CGI, PHP, ASP и др.), то для демонстрации размещайте их только на хостинге, принадлежащем вам. Это даст возможность работодателю протестировать их функциональность, работоспособность и защищенность, но до тех пор, пока вы не перешлете сами файлы скриптов (а вы это, разумеется, сделаете только после получения причитающегося вам вознаграждения), результаты вашей работы будут абсолютно бесполезны.
* При разработке веб-дизайна не спешите отправлять готовые страницы, а представляйте результаты в виде скриншотов. Качество изображения должно быть достаточно низким, чтобы его элементы не могли быть непосредственно использованы, и в тоже время достаточно высоким, чтобы не смазать впечатление от вашей работы. Конечно, в этом случае может быть украдена сама идея дизайна, но от воровства идей можно защититься только двумя способами: заключение договора (см. выше) или условиями частичной предоплаты (которая, является, по сути, оплатой за разработку идеи дизайна).
* При написании программы используйте директивы условной компиляции таким образом, чтобы можно было создать несколько версий программы. Первая и главная версия будет содержать все функциональные части, и, соответственно, будет отправлена заказчику только после оплаты. Остальные версии (число версий вы выбираете в зависимости от размеров проекта и вероятности того, что заказчик предпочтет мучиться, работая с отдельными исполняемыми модулями, чем оплатить вашу работу) должны реализовывать только часть функций, причем каждая из функций программы должна присутствовать хотя бы в одной из версий. Идеальным будет вариант, если каждая функция будет реализована только в одном исполняемом модуле, но это недостижимо. Например, функции чтения\записи, как правило, реализуются в большинстве версий. Эти версии вы и отправляете для демонстрации результатов. В итоге, заказчик имеет возможность оценить все функции программы (т.е. качество выполненной вами работы), но полноценно использовать результаты вашего труда не сможет и, конечно, не сможет эти результаты продать другому лицу.
* Весьма эффективным способом является архивирование с паролем части файлов, представляющих результат вашего труда. Для архиватора RAR пароль из 8 символов, включающий символы верхнего и нижнего регистров, цифры и специальные символы, является практически не взламываемым методом прямого перебора. Для других архиваторов пароль должен быть несколько длиннее. В этом случае заказчик видит наличие и объем имеющихся файлов, но без пароля их извлечь не может. Какие файлы должны быть закрыты, а какие — нет, решается в каждом конкретном случае. Критерий следующий: заказчик должен иметь возможность оценить качество и (или) объем выполненной работы, но не должен иметь возможности воспользоваться ими в требуемом ему объеме.
Обеспечение невозможности использования результатов работы или затруднение их использования
Рассказать друзьям: