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

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

Мы до сих пор не можем сказать с уверенностью о том, действительно ли революционной стала технология SpatialOS, но, по заверениям авторов Worlds Adrift, без этой технологии придуманный ими мир просто не родился бы. Как и без технологии Unity. Сейчас, несмотря на внешнее спокойствие и заверения о том, что всё в порядке, не думаю, что кто-то из авторов, использующих связку Unity + SpatialOS, чувствует себя спокойно. А те, кто только присматривался к этим технологиям, уверен, после произошедшего публичного скандала пересмотрели свои планы. Уж точно не в сторону более амбициозных.

Мне очень не нравится, когда в случае скандала люди спешат заявить что-то в духе «виноваты обе стороны». Мне кажется, что таким подходом легко оправдать инициаторов скандала и дать им тем самым карт-бланш для следующего. Именно поэтому важно продолжать разбираться в ситуации с произошедшим конфликтом, отделяя домысли от фактов. К сожалению, фактов у нас не слишком много. Куда больше заявлений обеих сторон, не подкреплённых документально. И единственное, с чем мы можем сопоставлять эти заявления — с объективной реальностью. Я понимаю, что могу в этих сопоставлениях сделать ошибки, поэтому буду рад, если вы укажете на них в комментариях.

Факт первый: Unity не предупредила своих клиентов о проблемах со SpatialOS ни во время окончательного отзыва лицензии, ни до этого.

В новом блоге Improbable приводит логичный довод:

Improbable уже многие годы работает с игровыми студиями, использующими Unity. Для каждой такой студии Unity выделяет персонального менеджера. Эти специалисты знают специфику проекта и им известно об использовании SpatialOS в связке с Unity. Если SpatialOS нарушала правила сервиса, менеджер должен был предупредить своих клиентов о потенциальной проблеме. Насколько нам известно, за многие годы этого ни разу не произошло. С нашей точки зрения, это подтверждает тот факт, что в то время Unity не видели в нас нарушителей.

Этот довод я приводил и в предыдущей заметке. А в комментариях к ней высказывался логичный довод о том, что клиентов стоило предупредить хотя бы перед отзывом лицензий у SpatialOS и чётко объяснить, как они защищены в этой ситуации. Что абсолютно точно не было сделано, судя по реакции пострадавшей стороны. Разработчики узнали об отзыве лицензии из девблога Improbable или новостей. Конечно, это можно считать просто организационной оплошностью. Но в какой-то степени это описывает отношение авторов Unity к интересам своих клиентов и важности принимаемых ими решений для другой стороны сервиса.

Факт второй: позиция Unity очень расплывчата — как можно отобрать лицензии у сервиса, которым пользуются их клиенты, но тут же заявить, что их это не коснётся?

Разработчики SpatialOS утверждают, что были вынуждены написать девблог 9 января, так как в этот день их уведомили о том, что Unity отзывает у них лицензии на использование своего продукта. Мы не можем это проверить наверняка, но мы можем точно сказать, что никакой другой предварительной публичной информации по этому поводу авторы Unity не выпускали, а факт отзыва лицензий подтвердили. Впрочем, здесь намного важнее другое: как можно отобрать лицензии у сервиса, которым пользуются ваши клиенты, а потом заявить, что это на них не распространяется? Лицензии у сервиса или есть, или их нет. Либо для каждого проекта выдаются свои лицензии. И значит, об этом тоже стоит чётко сказать — у SpatialOS остаются лицензии для поддержки уже выпущенных проектов. А если это так… то что тогда отозвали?

Давайте вернёмся к тому, как описывают свой сервис авторы SpatialOS:

SpatialOS — технология симуляции действий, потребностей, состояний и взаимодействия заданных сущностей. Эта специализированная оболочка может использоваться как Amazon Web Services и также базируется на облачных технологиях. SpatialOS располагается на самом базовом уровне, где игровые движки и другие инструменты расположены выше, как программы в операционной системе. Собственно, SpatialOS и есть специализированная серверная операционная система для симуляции сложных виртуальных миров.

MMO-индустрия: Unity vs SpatialOS: факты
У этой «операционной системы» отозвали лицензию на использование Unity, что подтверждают обе стороны на официальном уровне. SpatialOS существует вне Unity, так как поддерживает минимум два разных игровых движка, включая Unreal Engine. Но если их клиент использует Unity, SpatialOS должна обеспечить связку. Здесь и появляется лицензия Unity для SpatialOS. В итоге у нас есть треугольник деловых отношений на примере Bossa Studios, которые одновременно клиенты Unity и клиенты SpatialOS.

  1. Bossa Studios клиенты Unity
  2. Bossa Studios клиенты SpatialOS
  3. Imrobable (авторы SpatialOS) клиенты Unity, потому что им нужно обеспечить связку SpatialOS с Unity

Теперь давайте представим, что SpatialOS, к примеру, обанкротились. Могут ли быть в связи с этим у Bossa Studios претензии к Unity? Нет, конечно же. Ведь SpatialOS не входит в пакет услуг Unity. Это совершенно независимый сервис, услуги которого Bossa Studios оплачивала отдельно. Выбор этого сервиса — риск менеджеров Bossa Studios. Но тогда как и что может гарантировать Unity, если сама же отобрала все лицензии у SpatialOS, не только формально запретив тем самым официально поддерживать игры на Unity, но и поставив под угрозу перспективы сервиса в целом.

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

Факт третий: инициатива отзыва лицензии на стороне Unity, а значит, все необходимые дополнительные действия должны были быть сделаны инициатором.

Здесь моя позиция такая же, как в случае с историей отзыва лицензии на издание Black Desert у GameNet — у возникшей проблемной ситуации есть инициатор и третья сторона, которая вообще не имеет отношения к возникнувшим противоречиям. У инициатора этой проблемной ситуации есть обязательства перед своими клиентами. И нет нормального плана решения этих проблем. Это значит, что инициатор предпочитает свои интересы интересам клиентов, подвергая их многолетние вложения риску.

В этой связи просьба авторов SpatialOS выглядит логичной:

Unity должны срочно внести полную ясность в своё лицензионное соглашение или возобновить действие наших лицензий.

Сейчас размытость формулировок в Terms of Service for Unity и неоднозначность трактовки их публичных высказываний ставит нас и разработчиков в сложную ситуацию. Нам срочно нужна определённость для того, чтобы двигаться дальше. Всем нам нужно строить долгосрочные планы. Они напрямую зависят от чётких ответов Unity по поводу того, что можно и что запрещено — в официальной форме.

В более широком контексте в возникшей истории разработчики хотят ясности в отношении использования других сервисов, не только SpatialOS. Им тоже срочно нужны чёткие ответы.

В прошлом нам не нужны были никакие дополнительные разъяснения, потому что мы не сталкивались ни с чем подобным при работе с производителями других игровых движков: Crytek, Epic и все остальные без проблем позволяют взаимодействовать с облачными платформами, не требуя дополнительных коммерческих соглашений. Никаких соглашений не требовалось ни с другими игровыми движками, ни с Unity на протяжении многих лет.

В своих заявлениях о поддержке игрового движка Unity мы исходили из того, что Unity следует принятой в рамках индустрии стандартной практике и позволяет другим платформам использовать движок на своей стороне, как это было до изменений в Terms of Service. Если это не так, на Unity лежит обязанность чётко, в виде официальных документов, расписать в том числе абсолютно законные основания для защиты интересов существующих клиентов или быть честными с сообществом по поводу возникшей ситуации.

Эта просьба совершенно справедлива ещё и потому, что сейчас у разработчиков, использующих Unity и SpatialOS, есть только обещание о продолжении поддержки SpatialOS для них, высказанное в рамках вольного интернет-текста, где не описано ни одного алгоритма, как именно это будет делаться на законном уровне со стороны, собственно, тех, кто должен эту поддержку реально осуществлять — владельцев SpatialOS. И значит потенциально в опасности не только разработчики, но все те игроки, которые уже заплатили, скажем, за Worlds Adrift.

Я уверен, что перед нами очередные публичные переговоры с использованием заложников, которые так или иначе к чему-то придут. Авторы Unity и SpatialOS обязательно договорятся. Но такие методы очень больно бьют по перспективам использования сторонних технологий. И если раньше я был горячим сторонником использования чужих платформ, то эта история ярко продемонстрировала все минусы подобной зависимости.

8 комментариев

avatar
В общем, в этой ситуации негодяями выглядят именно Юнити.
И если раньше я был горячим сторонником использования чужих платформ, то эта история ярко продемонстрировала все минусы подобной зависимости.
Плюсов всё равно больше, чем от изобретения своих велосипедов.
  • +1
avatar
Мне всегда было очень интересно, в чем отличие скабрезненьких велосипеда и костылей от гордо звучащего промышленного решения? Где та самая грань, по пересечении которой велосипед становится промышленным решением, а костыли — надежными подходами? :)
  • 0
avatar
Думаю, грань там, когда своё решение имеет нужные функции, которых нет у чужих решений (и их нельзя добавить поверх), или работает эффективнее, проще для понимания (тут можно сделать обёртку), или на нужном языке программирования (тогда можно портировать). А также когда для разработки своего решения не нужно тратить месяцы и годы, отвлекаясь от основного продукта.

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

Я понимаю, зачем в Камелоте делают свой движок — существующие движки не поддерживают битвы по 1000 человек и, наверняка, разрушаемые на кирпичи здания. Но если бы они стали выдумывать свой алгоритм шифрования, их бы подняли на смех.
  • 0
avatar
С моей точки зрения «велосипед» и «костыли» являются эвфемизмами. Эти «термины» лишены смысла, который в них пытаются вложить люди их использующие. Их используют не для поддержания конструктива в диалоге, а больше для того чтобы хоть как-то поддеть собеседника. Однако, если я понимаю что это эвфемизмы, я сразу понимаю и то, что человек хочет мне сказать: внятной аргументации у человека нет, а выразиться похлеще хочется.

Вместо того чтобы «принять и понять» AMD Radeon VII, Дженсон Хуанг допустил для себя крайне непрофессиональное, эмоциональное поведение прямо на CES 2019, попутно оболгав как архитектуру видеочипа и использование памяти HBM2, так и пройдясь по другим конкурентным решениям от AMD (на долю FreeSync досталось больше всего). Поведение достойное профессионала? Не думаю.
  • +2
avatar
Не соглашусь. Иногда, конечно, этими словами пытаются поддеть, но когда они используются по делу, то доказать это довольно просто — примерами кода или объяснением, как нужно было делать правильно. Например, можно было подключить такую-то библиотеку и вызвать такие-то пару методов, а не писать свои велосипеды.
  • +2
avatar
Подтверждение слов делом — это качественный подход. Но высокая токсичность отдельных слов имеет свое влияние вне факта их обоснованности. А если у тебя есть обоснование, то стоит ли прибегать к провокационной терминологии? Это ведь шаг от простого недопонимания в сторону нежелания понимать.
  • +1
avatar
Где та самая грань, по пересечении которой велосипед становится промышленным решением, а костыли — надежными подходами? :)
Продолжая аналогии…
Велосипед становится промышленным решением когда может принимать участие в гонках.
А костыль не становится надежным подходом в принципе. Потому что это не какая либо функция это способ принятия решений или частное решение. Когда вместо того чтобы падающую стенку снести и перестроить надежным образом ее подпирают ближайшей трубой чтобы она не упала прямо сейчас прямо на проверяющего.
  • 0
avatar
И всё же, я не могу согласиться с такой позицией. Для меня, на данный момент, есть два факта:
1. Unity Tech прекратили сотрудничество с Improbable и заблокировали их действовавшие лицензии на Unity из-за (якобы) нарушения ToS.
2. Были изменены ToS Unity, а именно был расширен пункт про ограничения при интеграции движка с облаком.

И перед тем, как давать однозначную оценку действиям обоих сторон конфликта, мне не хватает ответов на следующие вопросы:
1. Как именно отзыв лицензии у Improbable повлияет на их возможность оказывать техническую поддержку своего продукта (SpartialOS) в проектах, где он используется вместе с Unity?
2. Попадает ли SpartialOS под определение «managed service» которое было введено в новой редакции правил, и работа с которыми теперь должна быть лицензирована отдельно?
3. Если да, то препятствует ли отзыв лицензии Unity у Improbable отдельному лицензированию SpartialOS теми разработчиками, которые желают использовать его в своих проектах на Unity?
4. Станет ли необходимость отдельно лицензировать использование использование SpartialOS дополнительными расходами для разработчиков?
Комментарий отредактирован 2019-01-15 13:16:22 пользователем Gelinger
  • +1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.