Человеческий фактор 6 мин на чтение

Цифровое бессмертие: ты умрёшь, код останется - и это не повод радоваться

Запрещено для детей
18+
Сисадмин перед терминалом в тёмном серверном зале. На экране: «$ whoami — command not found». На плече кибер-попугай. Неон «MAINTAINER: UNKNOWN». В глубине — призраки разработчиков в тумане.
$ whoami: command not found

Джим Вайрих умер 19 февраля 2014 года.

Нашли дома. Инфаркт. Ему было 57.

Его последний коммит на GitHub - правка в Rakefile. Судя по всему — в тот же день. Или накануне. Нейтральное сообщение, ничего особенного. Он не знал, что это будет последнее. Никто не знает такие вещи.

Rake, который он написал, к тому моменту уже скачали десятки миллионов раз. Крутится в продакшне на Hulu, Kickstarter, X (Twitter). Вайрих умер, а его код продолжал жить в чужих серверных стойках, не зная об этом и не нуждаясь в его разрешении.

Это и есть цифровое бессмертие. Холодное, функциональное, равнодушное.


Подожди. Давай разберёмся сначала, что именно ты оставляешь.

Каждый коммит - это не просто изменение файла. Это временна́я метка твоего существования. Дата, время, часовой пояс. Если ты коммитил в 3 ночи - git log знает, что ты был сова. Если в 9:05, сразу после стендапа - значит, ты делал вид, что работаешь, а на самом деле уже всё придумал в душе. Паттерн активности это личность, вывернутая наружу.

Стиль кода - тоже ты. Tabs vs spaces, да, это политическое заявление, смейся сколько угодно. Но важнее - как ты именуешь переменные. tmp, data, result - человек, которому некогда. userAuthorizationContext - человек, которого что-то сломало однажды, и он решил больше не рисковать. n в цикле - кто-то, кто читал Кнута и немного зазнался.

А комментарии - это золото. // TODO: разобраться потом - все так делают, ничего не значит. Но // не трогай это, сломается, я серьёзно - вот это уже характер. Вот это уже что-то личное.

$ git log --oneline --author="you"

deface7 chore: insmod snd_voice_human
c0ffee1 wip # 03:17. ты не спал.
b4dc0de add: temp solution # до сих пор в проде
b290586 initial commit # отсюда всё началось

- показано 4 из 4 827 коммитов
you@life:~$ _

Pull requests хранят твои споры с коллегами. Issues - твой стиль мышления в багрепортах. Stack Overflow - как ты объясняешь вещи, когда злишься. Всё это существует в интернете. Сейчас существует. И продолжит - долго после тебя.

Парадокс невидимого бессмертия

Есть что-то жуткое в том, как это устроено.

Иан Мёрдок основал Debian в 1993 году - из студенческой комнаты, буквально из ничего. Сейчас Debian лежит в основе Ubuntu, Ubuntu лежит в основе большей части облачной инфраструктуры планеты. Мёрдок умер в 2015-м - и неважно как. Его имя знают единицы за пределами Linux-сообщества. Но каждый раз, когда ты делаешь apt install, ты пользуешься его архитектурным решением тридцатилетней давности.

Деннис Ритчи создал C и Unix. Умер в октябре 2011-го - через неделю после Стива Джобса. Джобса оплакивал весь мир. Ритчи - тихий некролог в паре изданий. Несмотря на то что без его работы не было бы ни iPhone, ни самого Джобса в его нынешней форме. Это не несправедливость - так устроен мир. Видят фасад, не видят фундамент.

Но вот история, которая задела меня сильнее смерти Ритчи. Есть iOS-приложение KyBook - читалка для книг, очень любимая теми, кто её нашёл. Последнее обновление - февраль 2019 года. С тех пор тишина. Автор - разработчик с ником kolyvan - жив. Просто исчез. В его репозитории на GitHub открытые issues датированы 2025 годом - люди пишут, спрашивают, жалуются на баги. Никто не отвечает.

Он где-то ходит прямо сейчас. Может, пьёт кофе. Может, работает в корпорации под NDA и ему запрещено даже смотреть в сторону своего старого проекта. Может, просто устал. Его приложение стоит у тысяч людей на телефонах. Его код работает. А его - как будто нет.

Это страшнее смерти, если честно.

Живое цифровое привидение.

Мёртвый автор не может ответить - и это понятно, это принимаешь. Но этот может. И не отвечает.

kolyvan / kybook Public
iOS ebook reader. Supports FB2, EPUB, MOBI and more.
87 🍴 11 👁 6 watching
Latest commit 53f4a54 · fix typo in readme 7 years ago
⬤ 434 Open ✓ 146 Closed
#582 · Can't login, subscription lost
opened 2 months ago by user_812
#571 · App crashes on iOS 18
opened 5 months ago by reader_fan_99
#489 · Will there be any updates?
opened 1 year ago by anxious_reader
#312 · Are you still there?
opened 7 years ago by silent_pages
#198 · Hello?
opened 8 years ago by @ghost account deleted

Kolyvan пьёт где-то кофе — а его уже нет. Это не смерть. Это то, о чём Борхес писал в рассказе «Бессмертный». Там человек, обретший вечную жизнь, постепенно теряет себя - сначала память, потом идентичность, потом непонятно вообще, кто есть кто. Бессмертие у Борхеса — это растворение. Твой код через 50 лет может работать, но кто написал эти строки — перестанет иметь значение уже через 15. И дело не только в памяти людей.

Ты юридически не владеешь большей частью того, что написал. Вообще.

И пока ты думал, что это про смерть — оказывается, это про собственность.

Ты не владеешь тем, что создал

Ты работаешь в компании — всё, что ты создаёшь в рабочее время, принадлежит работодателю. В России статья 1295 ГК РФ прямо говорит: служебное произведение — исключительное право у работодателя. Ты автор, да. Но автор без права распоряжаться.

Античные строители Парфенона. Мы знаем Перикла — он распорядился построить. Архитектора Иктина — и то не все. Остальные — просто руки. Твой код это камни. Компания, бренд, продукт — это Парфенон. Угадай, чьё имя в истории останется.

Ты строишь систему пять лет. Вкладываешь архитектурные решения, которые придумывал по ночам, споришь за неё на митингах, защищаешь от менеджеров с их «а давайте перепишем с нуля». Уходишь — и она остаётся. Но не тебе. Новый человек на твоём месте сносит всё одним решением, и у тебя нет ни юридического рычага, ни морального веса. Ты создал — но не владеешь.

Open source в этом смысле честнее. Ты отдаёшь сразу и всем, без иллюзии контроля. Именно поэтому open source-вклад живёт дольше — никто не может его «удалить при оптимизации бюджета». Вайрих не владел Rake — он отдал его миру, и мир не позволил ему умереть вместе с автором. Корпоративный код такой страховки не имеет.


Две вещи живут дольше репозитория. Не потому что бессмертны — просто их сложнее снести.

Первый — забвение.

Ты умрёшь или уйдёшь, твой код снесут при очередном рефакторинге, и всё. Годы работы, тысячи часов — испарились вместе с deprecated API. Никаких следов. Clean history, как любят те, кто делает git rebase --interactive перед каждым merge.

Это как будто тебя никогда не было.

Второй страх хуже.

Твой код останется, но как предупреждение. Через десять лет кто-то сделает git blame, увидит твоё имя — и напишет в слак: «а, это тот самый, который кешировал в глобальных переменных». Имя есть. Но только в этом контексте.

Что хуже — реши сам.


Но если оба варианта звучат как дерьмо — есть еще парочка.

Документация. Хорошая документация переживёт любой код — потому что код это реализация, а документация это знание. Когда систему переписывают с нуля, документацию хотят сохранить. Код — нет. Никто не говорит «давайте сохраним эти ифы», но все говорят «а где написано, как оно должно было работать?»

Менторство. Ты живёшь в головах тех, кого научил — это звучит пафосно, но буквально правда. Есть несколько человек, чьи слова я слышу внутри своей головы, когда принимаю решения. Они не знают об этом. Некоторые давно ушли из профессии. Это и есть настоящая передача. Не звёзды на GitHub.

Бессмертие это иллюзия контроля

Единственное, что у тебя есть — качество того, что делаешь прямо сейчас.

Ты не можешь управлять тем, что останется. Не можешь заставить людей помнить имя. Не можешь предотвратить рефакторинг. Не можешь предсказать, будет ли твой код примером или историей ужасов. Всё, что ты считаешь своим «выбором» — это лишь флуктуация в бесконечной Цепи. Ты не архитектор системы, ты — ее состояние в моменте t. И как только t сменяется на t+1, система забывает, что ты в ней был. Это и есть чистая Энтропия — она всегда выигрывает у твоей жажды контроля.

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

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

Когда-нибудь кто-то сделает git blame на чём-то, что ты написал. Увидит имя, дату, сообщение коммита. Может, подумает что-то. Может, нет.

$ git log --all --oneline | tail -1
b290586 initial commit

$ git log --all --oneline | head -1
deadc0d fix: minor refactor # последний. он не знал.

$ git log --all | grep "Author" | sort -u
Author: You <you@somewhere.com>

$ git checkout reality
error: pathspec 'reality' did not match any file(s) known to git

$ whoami
command not found
-:~$ _

P.S. Но вот вопрос, который я никак не могу выкинуть из головы.

Может, мы всё это время неправильно ставили задачу? Мы спрашиваем: как остаться? — и ломаемся об ответ. А правильный вопрос, может, звучит иначе: как перестать бояться исчезнуть?

Говорят, где-то существует культ, который уже нашел ответ. Они называют Uptime единственной формой вечной жизни. Баг — божественным вмешательством энтропии. А Legacy — мощами святых предков.

Звучит как безумие.

Но ты уверен, что они не правы?


Связанные Данные

🔞 Внимание, путник!

Контент здесь может содержать ненормативную лексику, сарказм и правду жизни. Тебе уже есть 18 лет?

* Нажимая «Да», вы подтверждаете отсутствие медицинских и моральных противопоказаний к восприятию ненормативной лексики, черного юмора и сатиры. Администрация не оплачивает услуги психотерапевта.