Sketchpad (Айвен Сазерленд)
Я не знаю, осознанно или нет, но теперь, переехав в Сан-Матео, я обнаружил, что слушаю много аудиокниг об истории компьютеров, видеоигр и Кремниевовой долины, от биографии Джобса до «классических» хакеров Стивена Леви, от «Console Wars» до «Bad Blood».
Все это мне нравится, даже если некоторые из них нужно принимать с большей долей скептицизма, чем другие, и с большей частью я получил одну или две интересные перспективы.
Хакеры, в частности, задели несколько струн моей души. Помимо истории и различных личностей, о некоторых из которых я не знал, резонировало одно: практический, прагматичный, аполитичный характер ранних хаков.
Статья переведена при поддержке компании EDISON Software, которая разрабатывает приложения и сайты, а также инвестирует в стартапы.
И нет, прежде чем мы продолжим, я не имею в виду, что мы не должны быть политиками в наших действиях сегодня. Мы социальные животные и должны заботиться об обществе и политике, ведь мне кажется, что единственная причина, по крайней мере, если верить словам автора книги, почему ранний взлом был аполитичным, это то, что хакерами были довольно подлые асоциальные люди.
Но это довольно интересно, ведь сегодня мы живем в том мире, где идеологии превосходят прагматические реалии, и, возможно, мы должны понять, почему и сделать шаг назад.
Чего хотели хакеры? Доступ к вычислениям. Компьютеры были захватывающими, завораживающими и скудными. Речь шла не о лицензиях на программное обеспечение, никого не волновали куски бумаги (или даже запертые двери), мы хотели иметь возможность прикоснуться к машине и повозиться с ней…
В золотой век компьютерного хакеризма все было сделано для того, чтобы быть удобным. Дети вроде меня могли поставить спрайты на домашний телевизор, прочитав руководство по эксплуатации c64 и играя с Basic.
Никого не волновало, что машина не с открытым исходным кодом, что основной интерпретатор был лицензирован от Microsoft.
Это было действительно огромное движение, если подумать на секунду, даже его инструменты были посвящены мгновенности, графике как средству прямой обратной связи, лайв-кодингу.
У нас был один мегагерцовый процессор (в мое время), работающий с оптимизированными по размеру (а не по скорости!) интерпретаторами.
Даже на идеологическом уровне, целью было предоставить доступ к таким системам, как Lisp и Smalltalk, которые были разработаны с явной идеей, что пользователь — творец, всегда способный остановить мир, осмотреть внутреннее устройство, внести некоторые изменения и продолжить работу.
У нас почти не было графики, но это был в некотором роде золотой век графики, потому что люди были зачарованы возможностями, особенно взволнованы наличием мгновенных циклов обратной связи, прямой манипуляцией, быстрой итерацией.
И теперь мы потеряли все это. Мы живем во времена, когда невозможно не взаимодействовать с компьютером, вычисления дешевы и невероятно мощны, но их почти невозможно понять и внести свой вклад.
Особенно интересно, как раньше у нас был святой Грааль лайв-кодинга на компьютерах, которые не могли были себе этого позволить, в то время как сегодня даже самые новые и модные языки сосредоточены в первую очередь на том, чтобы сожрать миллионы строк кода. в различных модулях, делая итерацию все более неэффективной.
Не имея прямого доступа, возможность остановить машину, вывести список кода, изменить и возобновить его было почти немыслимо. Отсутствие легкодоступного языка программирования на компьютере было немыслимо.
Сегодня все, что мы имеем, раньше звучало, в большинстве случаев, как научная фантастика. QBasic во многих отношениях все еще является средой, которая может очень многому научить…
И снова, что я нахожу особенно примечательным, это то, что у нас было столько абстракции и непосредственности на машинах, что мы не могли себе этого позволить. 80-е годы были своего рода золотой эрой для интерпретаторов и виртуальных машин.
Мы пошли по пути IBM и, вероятно, не осознали этого. Все, что мы делаем сегодня, построено для структурированных команд из тысяч инженеров. Мы отдаем предпочтение разработке больших партий по сравнению с индивидуальной продуктивностью.
Вероятно, поэтому у нас все еще есть терминал (отлично подходит для git и слияния) в более выразительных форматах или даже старая идея сериализации всего состояния виртуальной машины (опять же lisp, smalltalk), которая жертвует слиянием целиком, чтобы сделать hotpatching (динамическое обновление программного обеспечения) тривиальным.
Печальный и вдохновляющий проект TempleOS
Теперь, до некоторой степени, вполне разумно, когда что-то превращается в продукт, это просто еще одна вещь, которую нужно использовать, оно теряет свою привлекательность.
Мы покупаем машины и ездим на механике, верно? Теперь мы даже не знаем, как заглянуть внутрь движка…
Но что меня поражает, так это то, что эта идеология также полностью утрачена, заменена идеологией, которая ставит теоретические свободы над реальными.
Мы заменили Commodore 64, который был полностью закрытым, проприетарным и все же взломанным, на чудовище на основе Linux, такое как Raspberry-Pi с открытым исходным кодом, хотя можно было воспользоваться Windows, так как подавляющее большинство его применений останутся идентичными.
Конечно, это дешевая и забавная игрушка для программистов, но в основном (полностью?) Она не в состоянии сделать вычисления более доступными, что и было ее первоначальной целью.
В целом, кажется, что хакерство сегодня догматично, а не прагматично. Конечно, если бы все было с открытым исходным кодом… или распределенным… или основанным на блокчейне, неизменным и свободным от блокировок с функциональным программированием… написанным так или иначе, то у нас было бы лучшее, просвещенное общество.
И это не шутка, это не совсем ограниченное явление, есть огромные массивы инженеров, которые честно инвестируют в попытки изменить мир, но искренне думают, что решения должны быть найдены в технической инфраструктуре вещей. (кстати — хочешь увидеть что-то странное?)
Возможно, мы действительно не закончили наши асоциальные тенденции, возможно, мы правы, думая, что машины и технологии интереснее людей, групп и культуры…
Каковы бы ни были причины, у нас есть программные и аппаратные системы, которые стремятся быть полностью открытыми, и все же снова и снова являются закрытыми, которые становятся более доступными на практике, которые действительно ведут социальные революции.
Linux не изменил ни рабочий стол, ни способ создания программного обеспечения.
Посмотри на мою индустрию. Видеоигры. Что сделало игры пригодными для игры? Освободившееся индивидуальное творчество, искусство, даже способность зарабатывать на жизнь?
Steam, магазин приложений Apple, Microsoft XBLIG, Youtube, Twitch, Spotify, Patreon… Unity, Pico8, Dreams, проходящие через Minecraft и Roblox и сообщество моддингов игры… Не блокчейн, не linux, не торренты и так далее.
Даже Demoscene, одна из последних оплотов настоящего хакерства, совершенно не заинтересована в идеологии лицензий и контрактов на программное обеспечение.
Joseph White — Pico-8
Вышло так, что все новые влиятельные брокеры этой эпохи, Facebook и Amazons, Google и Twitters, и так далее, сегодня полностью охватывают стеки с открытым исходным кодом, сотни миллионов строк кодов, питающих ИИ, сети.
Новые IBM очень хорошо знают, что строки кода по большей части бесполезны, но люди и сообщества таковыми не являются, так что открыть исходный код не составит труда, если в процессе изменения вовлекается больше людей в проект и привлекается больше инженеров…
В конце концов, вероятно, лицензии не имеют большого значения. И, возможно, технологии тоже нет. Не имеет значения и то, как мы проектируем наши интерфейсы. И если мы не начнем думать о людях и будем думать, что какие-то строки кода могут изменить мир, то застрянем в непонимании того, почему мы продолжаем терпеть неудачи.
См. Также: вдохновляющая лекция Энди Ван Дама «Размышления о незавершенных революциях в персональных вычислениях» и работа Бретта Виктора.