?

Log in

No account? Create an account

Предыдущий пост поделиться Следующий пост
О реальности импортозамещения в области софта
lex_kravetski


Вступление



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

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

Однако давайте всё-таки представим, что некто действительно нацелился на полный переход, и рассмотрим, насколько мечты в принципе могут совпасть с реальной реализацией и чем это чревато.


Современная сфера программного обеспечения



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

В реальности сейчас почти что каждый вид человеческой деятельности в изрядной степени завязан на программное обеспечение. Это разве что дворники всё ещё подметают улицы без использования компьютеров (хотя, и они используют смартфоны для коммуникации между собой), но вот даже уже при производстве вполне материальных товаров огромное количество операций сейчас выполняется программами.

Современные станки, сборочные линии, все пресловутые «промышленные роботы» сильно завязаны на софт. Часть операций на устаревших и устаревающих производствах до сих пор делается вручную, но доля автоматизированных операций в регулярном порядке растёт.

Чертежи же и модели будущих изделий уже давно целиком делаются на компьютерах. На них же создаются и архитектурные проекты. На них же обсчитываются результаты испытаний. Да и сами испытания в изрядной своей доле уже проводятся на компьютерных моделях: только после компьютерных испытаний наиболее удачные проекты воплощаются «в железе» и испытываются в реальном мире.

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

Да-да, даже оркестровая музыка зачастую записана без использования живого оркестра.

Компьютеры сейчас управляют практически всем. Но, разумеется, делают это не сами: они лишь исполняют написанные людьми программы.

Поэтому просто сделать «отечественный компьютер» мало — к нему в обязательном порядке нужен софт.

Причём софт воистину для всего. Вообще всего.

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

За всем этим стоят вещи, позволяющие не разрабатывать каждую программу с нуля, то есть писать их не за сотни миллионов человеко-часов, а хотя бы за сотни или десятки тысяч.

Это — готовые блоки, в которых уже реализованы наиболее частые потребности, а в ряде случаев и просто относительно частые.

Например, взять СУБД — Системы Управления Базами Данных. Как правило, программист не пишет при разработке своей программы саму СУБД — он берёт готовую и обращается к ней из своего кода.

Аналогично, он не пытается управлять выводом графики на каждую из существующих видеокарт — вместо этого он из кода делает запрос к «графической прослойке» (например, DirectX или OpenGL), установленной на компьютере.

Та, в свою очередь, преобразует запрос вида «отобрази такую-то трёхмерную модель с такими-то виртуальными источниками света через такую-то виртуальную камеру» в более низкоуровневые команды, которые передаёт операционной системе или драйверам видеокарты.

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

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

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

Даже в тех действиях, которые вам могут показаться совсем простыми, есть эти цепочки. Когда вы, например, просто записываете файл на диск, его туда пишет не сама программа. Программа перепоручает это операционной системе. А та перепоручает это драйверу жёсткого диска.

И это ещё в лучшем случае, поскольку в промежутке, например, между программой и операционной системой вполне может оказаться «виртуальная машина» (например, java-машина или виртуальная операционная система). А то и не одна.

К чему такие сложности? К тому, что надо одновременно обеспечить гибкость, безопасность, поддержку огромного количества самых разных устройств (которые, вдобавок, постоянно развиваются) и возможность написания программ за разумные сроки.

Каждый отдельный программист или коллектив программистов просто не имеет физической возможности при каждом чихе лично разбираться с сотнями устройств и реализовывать их поддержку. Равно как он не может лично углубляться в каждый вопрос — от способа хранения данных до вывода графики на экран, от устройства каждой из файловых систем до передачи данных через каждое из возможных сетевых соединений.

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

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

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

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

Подчеркну: так происходит не «с некоторыми современными программами», а с 99,999% оных. Лишь очень небольшая часть программ для отдельных узкоспециализированных устройств, вроде кофеварок или стиральных машин, написана иначе. Времена, когда программы были «герметичными» — написанными одним коллективом от и до, включая встроенное непосредственно в компьютер — закончились ещё в 60-х.

Кроме того, современные программы не существуют в отрыве от других программ.

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

Вдобавок записанный файл иногда надо передавать по сети, даже если сама программа не использует сеть. То есть вам нужна какая-то другая программа: почтовый клиент, мессенджер, браузер. Все они лазят в сеть, доступ же к сети обеспечивается всё той же операционной системой.

Наконец, файл, созданный в одной программе, часто бывает необходимо открыть в другой. Или хотя бы перенести из него данные в другую программу.

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

Картинки, которыми сопровождался текст, кто-то изготовил. Для этого скорее всего тоже использовался не Ворд, а что-то ещё. Но в Ворд и в макет они всё равно должны попасть.

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

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

Иными словами, даже для того, что кажется относительно простым, используется вовсе не один блок кода, как это может показаться, а огромная инфраструктура или «экосистема».

Как вы думаете, сколько нужно времени, чтобы всё это реализовать? Не что-то одно, а всю «экосистему»?


Трудозатраты



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

И это действительно так: даже локальные по своему применению приложения потребляют десятки тысяч человеко-часов.

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



И это ещё относительно маленький проект. Более крупные могут разрабатываться коллективами из сотен и тысяч человек. Причём десятилетиями.

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

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

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

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

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

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

Одновременно с тем автоматизируется (и, следовательно, программируется) всё большая часть процессов, ранее исполняемых только вручную.

То есть растёт не только скорость разработки, но и возможность того, что можно разработать.

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

По оценкам, в мире сейчас порядка 23 миллионов программистов и за пять лет их число, видимо, вырастет до 30 миллионов.

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

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

Да, часть этих нынешних 23 миллионов программистов программирует для чисто локальных нужд — их софт не покинет пределов одного предприятия. Однако даже если предположить, что используемый сразу многими людьми и фирмами софт и код пишет лишь 10% этих программистов, то для импортозамещения ситуация выглядит совершенно безрадостно.

В России сейчас предположительно 400 тысяч программистов. Даже если допустить, что все они будут писать вот этот «нелокальный» софт, то всё равно они покроют лишь 1/5 от мирового уровня. На деле же, наоборот, доля занятых в разработке «нелокального» софта в России сейчас меньше, чем в мире.

Иными словами, совершенно бесполезно надеяться, что 1/5 от общемировой совокупности каким-то образом напряжётся, перепрофилируется и заменит означенное целое. США, где программистов по разным оценкам от одного до четырёх миллионов человек (при втрое большем, чем в РФ, населении), гипотетически ещё могли бы провернуть такое, но не Россия — даже вместе с сопредельными осколками бСССР.

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

Замечу, что сценарий конкуренции одной страны со всем остальным миром в сфере разработки программного обеспечения нереален даже для США и без отказа от уже существующего софта — только для новых разработок без отказа от использования старых.

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


Чем это чревато



Наверно у кого-то возникает соблазн сказать: «да ну и что? Проживём как-нибудь без софта. Будем пользоваться программами похуже — там, где они будут, — а всё остальное сделаем нашими мозолистыми руками, безо всяких там роботов».

Ведь действительно, человечество много тысячелетий как-то обходилось без компьютеров и софта. И даже первые несколько десятилетий после их изобретения область их применения ограничивалась в основном вычислительными задачами для отдельных отраслей науки (хотя локальное использование их и для финансово-производственных задач уже и тогда тоже имело место). Так чего, казалось бы, нам бояться исчезновения софта или отставания в нём на десятилетия от остальной части развитого мира?

Что ж, поясню это на примере.

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

Вам наверно никогда не доводилось заниматься таким набором, но вы можете его представить или даже сымитировать — выложив, например, из конструктора Лего узор, имитирующий набранную страницу. Возьмите две тысячи мелких деталек — примерно столько букв на странице А4 — и прикрепите их к некой «подложке». Засекая, разумеется, время.

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

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

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

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

Именно в этот момент, надо сказать, Европа начала стремительный обгон всего остального мира. До этого она временами даже отставала от некоторых регионов.

Иными словами, даже самый упорный и самоотверженный бегун всё равно проиграет соревнование с автомобилем. Да, на старте он, быть может, даже слегка этот автомобиль обгонит, но уже на первой сотне метров проигрыш бегуна неизбежен.

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

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

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

То есть при отсутствии софта или даже при отставании в нём отставание автоматически распространится практически на все области человеческой деятельности.


Особая специфика отрасли



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

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

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

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

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

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

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

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

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

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

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

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

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

И уверяю, эта разработка обойдётся не в меньшую, а в бо́льшую сумму — ввиду, как раз, невозможности использовать при разработке «чужие» блоки кода, разработка которых ровно так же фактически оплачивалась всем миром.

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

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

Таким образом, разработку основной массы программ станет невозможно оплатить, из-за чего они вообще не будут написаны.

Фактически, это — путь к почти полному отказу от использования компьютеров в масштабах всей страны. Что потом с неизбежностью приведёт к описанному в предыдущем разделе: радикальному отставанию по всем отраслям. Причём не только от Европы, США и Юго-Восточной Азии, но и даже от Индии, Пакистана, а — в очень недалёкой перспективе — от Йемена и Кении.

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


Театр безопасности



Стоит сказать пару слов также и об обосновании данного начинания.

Из слов инициаторов и сторонников импортозамещения софта следует, что они опасаются зарубежного влияния на российскую экономику через некие «тайные фрагменты», встроенные в программы.

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

Именно по этой причине многие, например, американские фирмы, разрабатывающие софт, до последнего сопротивляются всем попыткам правительства США заставить их встраивать в программы некие средства для внешнего управления. Вполне понятно, что само наличие такого средства ставит под удар данные пользователей. Кто воспользуется «чёрным ходом», фирма в этом случае вообще не контролирует, выгод с этого не имеет, но вот отвечать в случае чего будет именно она — как в уголовном смысле, так и в смысле огромного финансового ущерба в результате массового отказа от её софта.

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

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

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

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


Как это будет в реальности



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

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

Такое уже проделывалось, например, с ноутбуками, изготовляемыми в Китае на основе китайских и американских разработок, но под «российским» брендом (при том, что сама фирма вообще была зарегистрирована на Виргинских островах). Этого оказывалось достаточно, чтобы СМИ и даже некоторые чиновники гордо рапортовали о том, как «наконец-то российская электроника добилась признания среди россиян».

По аналогичной схеме уже существуют «российские операционные системы», представляющие собой локальную сборку ОС Линукс, некоторые части которой, как и сопутствующего ей софта, конечно, были написаны российскими программистами (безо всяких, кстати, программ импортозамещения), однако лишь очень и очень небольшие.

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

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

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


Ещё одна аналогия



На всякий случай, чтобы ещё раз прояснить происходящее и его последствия, приведу ещё одну аналогию.

Предположим, какие-то чиновники опасаются, что часть мировых научных или инженерных разработок содержит какие-то ошибки, коварно встроенные туда Тайными Силами Зла. Где эти ошибки, неизвестно, поэтому на всякий случай предлагается отказаться вообще от всех научных и инженерных разработок, сделанных вне СССР и России.

Вполне понятно, что одна страна никак не сможет конкурировать со всем миром в этой области — ведь там, как и в сфере разработки софта, ровно так же стоимость копирования разработки ничтожна по сравнению со стоимостью самой разработки.

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

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

И так уже невозможное становится ещё более невозможным, хотя, казалось бы, куда ещё дальше-то?

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

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


Что можно было бы делать



Как уже говорилось, в сфере софта невозможно соревноваться со всем миром — как по причине совершенно неподъёмной трудоёмкости, так и по причине возрастания оплачиваемой каждым пользователем доли стоимости до нереальных высот.

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

Одновременно с тем специально созданные для этой цели госкорпорации могли бы заниматься разработкой софта для отдельных, но весьма крупных сфер: ведь если разрабатываемый продукт востребован всем миром, то, как выше объяснялось, весь мир же оплачивает разработку этого продукта. То есть и граждане получают зарплаты не только из бюджета страны, но и со всего мира, и страна получает дополнительную прибыль — опять же со всего мира. А граждане и предприятия, при этом, получают софт — тот самый, изрядная часть разработки которого оплачена всей планетой.

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

И, что немаловажно, вполне осуществимым.



doc-файл
Публикация в блоге автора
Публикация на сайте «XX2 Век»


>что в правительстве действительно есть люди, которые надеются целиком, всей страной отказаться от иностранного софта...

Поправка - от иностранного коммерческого софта, который подконтролен дорогим партнёрам. Бороться с каким-нить Libre Office никто не собирается. Собственно, импортозамещение в этой сфере - эвфемизм для перехода на СПО. Назначается отечественная контора, ответственная за локализацию - и вуа-ля, PostgreSQL уже отечественный.

> Поправка - от иностранного коммерческого софта, который подконтролен дорогим партнёрам. Бороться с каким-нить Libre Office никто не собирается.

Ясен хер: ведь какие-то парни из Берлина совершенно точно никому не подконтрольны.


> Назначается отечественная контора, ответственная за локализацию - и вуа-ля, PostgreSQL уже отечественный.

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

Насколько я помню, году в 2013 до нас довели приказ "Медицинское оборудование разрешается закупать только произведенное в РФ и РБ".
Мы офигели и стали ждать, что будет дальше. Потому как ничего, кроме электрокардиографов, я отечественного производства за последние 20 лет не видел.
И ничего. Как продолжали закупать все импортное, так и продолжаем.

Может и софтом так будет.
Закон издадут, а исполнять его не будут.

так как импортозамещение софта основано на шпионской паранойе кольца врагов, то просто софтом отделаться нельзя. Нужно начинать с микропроцессоров, и потом, постеменно, доходить то российского варианта пасьянса косынка под российскую ОС "Резное Окно". Ну, или отключится всей РФ от интернета, что проще и возможно будет реализовано

Извиняюсь, но текст в стиле "сам придумал, сам разоблачил". :-) Вопрос ставится в плоскости перехода на открытый софт вместо проприетарного, а не замене всего софта на отечественное. Грубо говоря MS SQL не ОК, Postgresql, MySQL etc ОК. Если доступен исходный код страна разработки значения не имеет, если надо взяли и переписали. Что естественно не отменяет того, что открытый софт может и должен допиливаться местными командами, кстати у постгреса есть российская команда.

+1

Open Source сейчас используется практически повсеместно - включая Кубу и Корею :) Есть мнение, что кто-то просто не асилил понимание того, как оно работает.

О театре безопасности. Театр-то оно театр, но каким образом PRISM получает доступ к мейлам например?

Способы самые разные.

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

Ещё есть вариант, жмакнуть на «восстановление пароля», прочитать «секретный вопрос», а потом невзначай на форумах обсудить с хозяином, какой национальности у него мама? «Да ладно, гонишь, наверняка она в девичестве была Рабинович? Что? Иванова? Ну ладно, убедил».

Можно ещё секретарше позвонить, представиться сисадмином и попопросить прочитать, что там у начальника на стикере, прилепленном к монитору, написано.

На криво написанном сервере ещё можно через командную строку SQL-запрос послать. Правда, сейчас таких кривых серверов уже мало.

Можно пароль подобрать — он, скорее всего, имеет восьмой уровень безопасности: 12345678.

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

Edited at 2019-03-01 12:00 (UTC)

"Глас вопиющего в пустыне..."




Статья в принципе годная, но оставляет впечатление SUBJ...

С уважением.


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

Ха. Два раза ха. Нет, три раза ха.

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

Так что информационные системы и дворники немножко увязываются воедино.

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

>>иллюзия — это пускание пыли в глаза и весьма заметные дополнительные затраты сил и средств.

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

>>Ну и вдобавок, разумеется, сильное снижение репутации власть имущих в глазах довольно широких слоёв граждан, разбирающихся в IT.

Выше приведена инфа про 400 тысяч программистов. Можно добавить к ним сисадминов, тестеров и прочие айтишные профессии. Допустим, получится примерно 1,2 млн. (полагаю, это завышенная оценка, но пусть так). Это даже близко не "широкие" слои.
К тому же после целой пачки непопулярных мер, начиная с пенсионной реформы, вполне очевидно, что на "репутацию" власть имущим, мягко говоря, начхать.

Edited at 2019-03-01 13:33 (UTC)

Грамотный и полезный текст.

Однако, в полемическом задоре, как и в некоторых других случаях, автор несколько перегибает палку.

Почему бы не иметь полностью локализованную версию той же Юбунту, с техподдержкой и обновлениями с сертифицированного сервера на русском для государственных и корпоративных пользователей уровня чайник? Новый софт, разрабатываемый с господдержкой, должен будет быть совместимым с такой локализованной ОС. Благодаря GPL лицензированию код останеться открытым.

Не знаю. На мой взгляд, вполне полезно её иметь. Только это будет невозможно при ограничении «иностранного». Поскольку эту самую Убунту явно написали не одни только россияне. И даже не в основном россияне.

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

Вы шутите? Вся "экономика" страны в конечно итоге сводится к экспорту сырья т.е. не зависит ни от чего кроме мировых цен на оное. А что до очевидности, то все и так очевидно и в правительстве не дураки собрались. Нац. проекты не для развития экономики пишутся, а совсем для другого. Сколько их уже было? Я со счету сбился.

Edited at 2019-03-01 17:36 (UTC)

А стоительство, телеком, инфраструктура?

Страна сама толком ничего не делает, например, в телекоме - на что она может заменить промышленные системы в этой отрасли? Сколько времени займет "переписывание" сетевых операционных систем? И хрен с ним временем - в стране нету критической массы экспертизы, 9/99% занятых в отрасли способны лишь эксплуатировать чужие решения, да и те при наличие сервиса от производителя.

Как-то вот это всё про каменный век неубедительно. Примерно так же неубедительно, как рассказы о невозможности построения социализма в отдельно взятом СССР.
Понятно, что от буржуйского правительства РФ ничего хорошего и разумного ожидать не приходится, разве что по случайному недоразумению. Но развернем ситуацию другой стороной: теперь у нас не чиновники РФ затеяли странное, а зарубежные буржуи по каким-то причинам решили, что отныне выгоднее не продавать в РФ софт, чем продавать. Решили устроить софтовую блокаду, пусть даже не все до единого, а лишь самые крупные из них, Гугль там, Микрософт, Адобе... Что из этого получится? Россиюшка скатится в разруху, в каменный век? Или разработает-таки свой софт аналогичного назначения, а пока он пишется, поживет годик с тем софтом, который уже есть и работает?

Рассуждения об оплате разработки тоже удивляют. Мало того, что это заведомо бесперспективно - когда кто-то один, лидер и гегемон, разрабатывает софт на всех, как ему удобно, а остальные идут за его хвостом и "тоже участвуют" путем оплаты расходов. Еще и радуются, что платить приходится не так много, поскольку за хвостом идут не в одиночестве, еще и надеются, что продукт окажется полезен, что делается именно для них...
Так еще и стоимость разработки описывается, как некая фиксированная сумма. Да, если нанять олигархов в качестве строителей, то построить даже дощатый сортир будет положительно невозможно. Но есть строители куда более неприхотливые, которые построят тысячу сортиров за те же деньги. А если денег совсем нету, то строить самому - бесплатно (доски, гвозди и прочее мы не учитываем для простоты).

Про безопасность же вообще... тут скорее перевод требуется.
"Тайное управление массово проявится во всех местах" = у всех всё сломается, каждый геймер увидит ДЫРУ в своем компе. Впрочем, к тому, что в программах/ОС полно глюков и дыр, мир уже давно привык, никого это не удивит.
"Фирмы сопротивляются попыткам правительства США что-то встроить" = фирмы заявляют об этом. Из этого никак не следует, что ничего не встроено.
"Блокировка сетевых адресов для обновлений" = религиозный сисадмин. Он верует, что в самой ОС/программе нет "калитки" для незваных гостей, но вместе с тем верует, что эту "калитку" может добавить обновление (от тех же разработчиков).
"Блокировать все адреса, кроме явно прописанных" = нефиг сотрудникам по интернетам лазить, пусть в локалке сидят. Работают они с интернетом - ну тогда увы. Впрочем, всевозможные чиновники и так сидят в своеобразной "локалке" - новости до них доходят только в виде докладов подчиненных.

И о концовке. Разумеется, не только в разработке софта, но и в любой сфере, достаточно крупная и развитая страна может соревноваться со всем миром, если сотрудничество по каким-то причинам не получается. Например, по причине разницы идеологий, как во времена Союза, или из-за конкуренции, как сейчас. И разработка важного, востребованного софта в госкорпорациях - путь совершенно правильный. Однако продажа этого софта на рынке с целью окупить разработку... так себе решение. Не круче ли бесплатно раздать его всем желающим, тем самым умножив на ноль усилия платных конкурентов?

> Россиюшка скатится в разруху, в каменный век? Или разработает-таки свой софт аналогичного назначения, а пока он пишется, поживет годик с тем софтом, который уже есть и работает?

Ясен перец, Россиюшка напряжётся и за год сделает то, что миллиард человек делал четверть века — чего там. Главное — верить в себя и в Россиюшку, тогда ничего не страшно.

Изумительно, что написанное многим не просто не очевидно - они еще берутся с этим спорить. Деградация просто ужасает.

Хотя, плюс есть - каменным веком таких уже не напугаешь.

Лекс, если тебе интересно, сегодня американский Dragon 2 впервые пристыковался к МКС. Говорят, что на этом советский/российский космос закончится.

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

Фактически целые отрасли надо создавать с нуля, включая софт.

И еще одно замечание - эффект масштаба. Многие вещи бесполезно делать самому с нуля - они смысла будут иметь только в определенных масштабах потенциального рынка. А если надо вложить 100 млн. в разработку при максимальном рынке в 20 млн. - кто этим будет заниматься и зачем?