TL;DT: однозначно
Я фрилансер в Германии и раньше работал в небольшой студии веб-дизайна. Однако у них был не такой уж маленький сайт электронной коммерции. Я получил работу через друга в типичной манере: «Эй, у нас небольшая проблема, не могли бы вы взглянуть?». Поэтому я посмотрел и исправил ошибку. Они остались довольны моей быстрой работой, и вскоре появились другие мелкие мысли. Потом покрупнее и так далее, пока я не стал постоянным болельщиком их команды. Ну, поддержка здесь не то слово, я был их единственным программистом (а также единственным, кто знал HTML и CSS, но это, наверное, не так важно в этом бизнесе). Мы всегда говорили, что нам действительно нужен контракт, но на самом деле мы его так и не заключили.
Последнее, что я для них сделал, — это новую систему новостной рассылки. Старый представлял собой просто php-скрипт, который нужно было запускать в открытом окне браузера. Он обработал несколько адресов, а затем перезагружал страницу для обработки следующих нескольких. Поначалу это было нормально, но в то же время им нужно было доставить более 750 000 писем, поэтому версию на основе страниц браузера пришлось заменить заданием cron. Проблема была в том, что я не знал, как долго будет выполняться сценарий. Таким образом, он выполнялся каждые несколько минут, проверяет, был ли еще запущен сценарий, просматривая список активных процессов (используя ps
) and terminates if it found the script to be running. It worked on my machine. I insisted on testing this more thoroughly, but the management decided to put it on for production. Production in this case meant: the same server where the database and apache ran on.
Итак, произошел баг. Вновь выполненный скрипт найдет старые экземпляры только в том случае, если pid работающего экземпляра будет меньше, чем у новых. Это была глупая ошибка, и это была моя вина. Сценарий был запущен в производство в пятницу, а меня уведомили только в понедельник. Тем временем наш хостер отключил весь сервер, поскольку он вел себя как зараженная машина, отправляя десятки одинаковых писем на одни и те же адреса. Магазин не работал целые выходные. В остальные выходные объем продаж составил около 100 000 евро. Я был студентом.
Если вы работаете в компании в Германии, вы не можете нести ответственность за такого рода ущерб (возможно, если в вашем контракте указано иное, но я предполагаю, что это даже невозможно с юридической точки зрения). Однако быть фрилансером – это совсем другая история. По умолчанию я был ответственным. Теперь я не согласился запускать это в производство, и я также - давно - сообщил им, что запускать все на одном сервере, особенно почтовую систему, - не лучшая идея. Но я не мог этого доказать. У нас не было контракта, и, конечно, мы никогда не документировали подобные вещи.
В конце концов мне очень повезло, и они не пытались привлечь меня к ответственности. До их решения у меня было еще несколько бессонных дней.
Имейте договор, проверяйте обязательства. Также подумайте о таких вещах, как лицензирование. Разрешено ли им использовать вашу работу любым способом? Могут ли они перепродать мысли? Могут ли они использовать его в других странах? В других контекстах? Нужно ли им ваше разрешение, хотите ли вы (и заслуживаете, конечно) дополнительных денег за это?
Возможно, тебе станет лучше спать ;D