> ## Content Index
> Fetch the complete content index at: https://www.rozhkov.me/llms.txt
> Use this file to discover other available public pages before exploring further.

# Вендор-лок наоборот
- URL: https://www.rozhkov.me/reversed-vendor-lock/
- Published: 2019-11-12T09:19:40.000Z
- Updated: 2019-11-12T09:19:40.000Z
- Author: Vova Rozhkov

Для тех, кто не знает, "вендор-лок" — это такая тема, когда вы подвязываетесь (в чем угодно) закрытую технологию какого-нибудь производителя, делаете на его платформе какое-то решение, а дальше не можете с него слезть. Самый распространённый пример — использование, например, базы данных Oracle или облака AWS. Вначале может быть все хорошо и радужно, но чем дальше в лес тем толще партизаны, и вот уже весь ваш бизнес завязан на кучу технологических решений, которые в любой момент по желанию вендора могут изменить свое поведение или ценовую политику. В общем больно и неприятно, используйте опенсорс и вендор-агностик решения и всё будет хорошо. Но я не об этом.

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

Но выхода нет — никто кроме вас не умеет с этим работать, деньги платят, надо делать.

У меня есть пара таких проектов, один из которых написан на PHP и не обновлялся уже года два (а существует 4 года), другой на Java+Rails и живет без существенных изменений два года. Я очень-очень хочу от них избавиться, но никак не могу придумать хороший способ это сделать (и ладно бы только придумать, проблема тут как раз заключается в "сделать").

По-большому счёту, это конечно же не мои проблемы — заказчик сам должен был думать о рисках работы с одним и тем же исполнителем, приглашать внешних аудиторов, проявлять инициативу для повышения качества кодобазы и тд, а у меня нет никаких договоров о пожизненной поддержке за копейки. Вдруг завтра мне окончательно всё надоест и я уеду в горы, где нет интернета, что тогда делать?

Личные проблемы и комплексы не позволяют мне просто так всё бросить, или хотя бы даже начать диалог о том, что я уже не хочу заниматься старыми вещами за мелкий прайс и вообще мне это все конкретно надоело, ищите кого хотите а я сваливаю в закат. Путь успешного социопата для меня, увы, неприемлем.

Мой бывший босс рассказывал похожую ситуацию — давным-давно, он, тогда руководитель собственной шлюпки, напилил проект а потом пару лет никак не мог от него избавиться, так что я не одинок в своих проблемах.

Хорошо, когда человек честный и ответственный, а то ведь я знаю не один случай, когда такая ситуация проворачивалась в пользу исполнителя, и заказчик вынужден был годами страдать и отваливать серьезное бабло за работу над своей системой, пока его нагло эксплуатировали.

Что еще хуже — я понимаю, что для того, чтобы полностью передать все дела, заказчику нужно найти не просто одного типа, который будет шарить в PHP или Java, а целую компанию в которой будут специалисты по куче платформ, облакам и так далее. Мне нужно будет подобрать хвосты, накопленные за 4 года и в каком-то виде всучить решение счастливчикам, которые подпишутся на поддержку этого софта. А подписаться на такое могут только глупцы или только за большие деньги (которые сильно удивят заказчика, потому что работая в одиночку и зная множество вещей я сделал всё дешевле минимум в 10 раз, нежели бы это делала отдельная контора, при сохранении качества).

В найме таких проблем нет. Ушел с работы, кое-как передав дела (или не передав, ничего страшного всё равно не случится) и всё. А тут уже не так просто. Но рано или поздно надо будет обрубить старое, иначе оно всё время будет тянуть назад, не давать развиваться, тормозить, жрать мыслетопливо, отвлекать и делать множество других нехороших вещей.