Alvaros
.
- Регистрация
- 14.05.16
- Сообщения
- 21.452
- Реакции
- 101
- Репутация
- 204
Свободное ПО vs Отечественное ПО
Начну с вопроса, свободное ПО или ПО из реестра отечественного ПО. Я не случайно написал не отечественное ПО, а ПО из реестра отечественного ПО, поскольку вопрос, что считать отечественным, а что нет, часто поднимался на конференции, например, в совместной (МТУСИ и СиСС) серии докладов о
You must be registered for see links
. Отечественным являлись аппаратные части, в частности, ПК на базе процессоров Эльбрус. Но исследовались обычные, протоколы маршрутизации RIPv2, OSPF, BGP, OSPFv3, RIPng. В итоге я не выдержал и задал вопрос докладчикам, а чем же ваш отечественный модуль отличается от обычного? Но давайте по порядку.Проблема различия отечественного и свободного ПО ярко проявилась в докладе Рената Лапшина, исполнительного директора АРПП «Отечественный софт» под названием
You must be registered for see links
. В докладе было отмечено, что ассоциация АРПП занимается поддержкой отечественного ПО, уже выделено более миллиарда рублей на поддержку отечественного системного ПО и ведутся работы по выделению десятков миллиардов. Доклад был настолько сильно ориентирован на отечественное ПО, что естественно вызвал вопрос от участника конференции: “мы же на конференции по Свободному Программному Обеспечению, а Вы говорите об отечественном, как Вы и ассоциация, которую Вы представляете, относится к свободному ПО?”. Суть ответа была следующей: мы в ассоциации конечно любим СПО и раньше считали СПО вполне отечественным, но выяснилось, что за СПО может никто не отвечать, следовательно могут возникнуть сложности с качественной поддержкой и сопровождением. Другое дело, когда коммерческая компания помещает свои продукты в реестр, независимо от модели разработки и распространения, эта компания и будет оказывать услуги по поддержке.Проблема понятна, если никто не отвечает за качество ПО, его поддержку и сопровождение, вряд-ли такое ПО будет востребовано, даже если оно бесплатное, ведь все мы знаем, что бесплатный сыр бывает только в мышеловке. Но вместе с тем мы, как разработчики, знаем и то, что свободное ПО сильно не тем, что оно бесплатное, а своей гибкой адаптацией к желаниям пользователей, меньшим количеством ошибок (я естественно говорю о популярных проектах), и меньшими затратами на разработку и сопровождение.
На конференции был доклад, который представила активистка СПО (да, оказывается есть и такие) Софья Зверева
You must be registered for see links
. Доклад показал, что сомнения в качестве СПО вполне обоснованны. На одном из слайдов был показан скриншот, на котором в мобильном приложении была произведена “русификация”. В меню надпись на английском (латинице) заменили на надпись на русском (кириллице) commit message был приблизительно такого содержания “Привет от юриста”. Слайд должен был показать, что любой может внести код в понравившийся проект и тем самым происходит улучшение продукта. Но поскольку в зале присутствовали разработчики, похвалив за прекрасный порыв, они все таки отметили, что возможно разработку стоит оставить профессионалам, ведь в проекте не предусмотрена локализация, то есть замена проводилась прямо в коде. А что будет если кому-то не понравилась предложенная надпись, и он сменит ее на другую, которая нравится лично ему, на башкирском (ничего не имею против этого или какого-то другого языка). Кто отвечает за ПО, которое устанавливается конечному пользователю? Получается, что просто большое количество народу вряд-ли может улучшить продукт, а вот ухудшить может. Ну или другими словами, интернет опроверг идею о том, что если дать большому количеству обезьян пишущие машинки, то они рано или поздно напишут “Войну и мир” (
You must be registered for see links
).Казалось бы все верно, идея о создании реестра отечественного ПО, решает проблему с качеством ПО, и поддерживать стоит участников включенных в этот список. Но посмотрим на эту проблему с другой стороны. В этом же докладе был приведен
You must be registered for see links
, вот он и раскрывает преимущества СПО. Иными словами, программный продукт, если он распространен только на локальном рынке всегда будет проигрывать аналогичному на глобальном рынке. Я конечно не имею в виду локализацию и какие то узкоспециализированные вещи. Но согласитесь, чем больше используется продукт, тем лучше он протестирован причем в самых разных условиях. А если продукт мало используется, то он может обладать только очень ограниченной качественной функциональностью. Ведь при добавлении новой функциональности, неизбежно возникают ошибки! Эту проблему не удается преодолеть с помощью современных средств разработки: анализаторов кода, современных языков программирования, систем интеграционного и непрерывного тестирования и так далее. Просто потому, что современное ПО, настолько разрослось по размеру (функциональности, количеству строк кода и так далее), что трудно даже обеспечить приличное покрытие тестами. В докладе Стаса Фомина под названием
You must be registered for see links
, автор прекрасно показал проблемы отечественности на примере создания сред программирования. Очень многие из подобных попыток (создание русскоязычных сред программирования) оправдываются улучшением обучения. В результате создаются непонятные языки, “русский Си”, “русский Питон” и так далее. Данные языки в лучшем случае используются только самими создателями, а в особых случаях, их в приказном порядке внедряют в образовательный процесс. Автор же предложил, если действительно требуется русскоязычный язык программирования, путем относительно простых манипуляций (замены ключевых слов на кириллические) использовать оригинальный python, для которого уже есть куча прекрасных и удобных сред разработки, отлаженных библиотек и всего, что только нужно разработчику, ведь язык широко распространен в мире. Рассказав о преимуществах подхода, автор предложил заинтересованным лицам продолжить проект совместно с последующей коммерческой поддержкой, то есть в полном соответствии с идеями СПО.Давайте попробуем сравнить качество языка программирования собственной разработки, используемый только в “русскоязычном” сегменте, и язык, который который используется во всем мире. Мне почему-то кажется, что русскоязычный вариант выиграет только по одному показателю — потребности в постоянных вливаний денег от государства. При этом, я ни в коем случае не призываю не разрабатывать ничего нового, как раз наоборот. Вот взять к примеру язык Котлин, раз уж рядом находится остров с этим названием. Ну чем он не отечественный? Но появился он не от потребности создать обязательно свой язык, а от потребности в языке для определенных целей, которые он успешно и решает.
Но вернемся, к предложенному в докладе про “русского змея” подходу. Точнее, порассуждаем к чему может привести противоположный подход, создание собственного проприетарного языка с нуля. Компания (или организация) выпустила некий проприетарный программный продукт и внесла его в реестр отечественного ПО. Для примера вернемся к языкам программирования, “русский Паскаль”. Понятно, что с оригинальным Паскалем у этого языка общим будет только название. Часть госкомпаний в обязательном порядке переходит на эту технологию. На нем начинается разработка, разработать нужно в том числе и все библиотеки, на это из государства выделяются деньги, Проходит 5 лет и компания разработчик этого языка, становится монополистом и может оказывать услуги не надлежащего качества за несуразные деньги. Ведь понятно, что компания не сильно заинтересована в развитие технологии и продукта, деньги получаются не за качество ПО, а за то что никто не может предложить аналог. В модели же СПО, ни одна компания, даже создатель русскоязычного языка, не может стать монополистом, ведь другая компания сразу предложит альтернативное решение по поддержке и развитию продукта.
Получается, что СПО в перспективе всегда выигрывает перед проприетарным ПО, ведь к СПО можно добавлять коммерческую поддержку не только от одной компании. А это, в свою очередь, означает, что на базе СПО можно строить ПО мирового уровня, ведь СПО вполне может считаться отечественными, так как отечественная компания вполне может предоставить качественную поддержку СПО. К тому же, стоит учитывать, что конкретно в нашей стране достаточно много разработчиков СПО проектов, включая и ядро Linux, и существует большое количество компаний, которые оказывают хорошую поддержку на базе этих проектов.
За примером успешной реализации подхода основанного на СПО и локализации (коммерческой поддержке) далеко ходить не нужно. Конференция была многолюдная, присутствовали много представителей различных учебных заведений, которые очень хорошо отзывались о поддержке ОС Альт различных требований со стороны МинОбразования (или как там оно сейчас называется). Так в дистрибутивы “Альт-Образование” по умолчанию входят различные пакеты, которые требуются в учебной программе. Конечно высказывались и недостатки, но нужно понимать, что если бы Базальт-СПО не прислушивался к своим пользователям, не происходило бы улучшение продукта, и эту нишу легко могла бы занять какая-то другая компания.
Для иллюстрации преимуществ открытости ненадолго вернусь к “Типовому Отечественному Интернету”. Как я уже говорил, основной упор делался на то, что использовались “отечественные” элементы: ПК на процессорах Эльбрус и ОС Альт из реестра отечественного ПО. К ОС Альт вопросов в плане открытости и качества ПО нет, и любой желающий может проверить заявленные характеристики или использовать альтернативные решения. А вот у архитектуры Эльбрус (e2k) такой возможности нет. Производитель, компания МЦСТ, не раскрывает деталей реализации, и является по сути дела монополистом при разработке ключевых программных компонентов экосистемы: кросс-компилятора и ядра Linux, что сильно тормозит развитие этой архитектуры. На конференции доклад делал представитель другой компании производителя процессоров “Байкал-Электроникс” Роман Ставцев. Доклад назывался
You must be registered for see links
. В нем рассказывалось о моделях процессоров этой компании Байкал-Т1 и Байкал-М, оба они основаны на ядрах с открытой (описанной) архитектурой (mips32, aarch64) соответственно, все средства разработки есть в открытом доступе, и любой может предложить альтернативу. Что конечно сильно увеличивает привлекательность платформы, ведь удешевляет решения на ней и снижает риски при ее использовании. На самом деле в МЦСТ, также понимают проблему закрытости архитектуры и недавно
You must be registered for see links
.Моя позиция по данному вопросу наверное понятна, достигнуть технологической независимости можно только развивая ПО, а не просто покупая его. Включение же в реестр отечественного ПО, относится именно к продажам. Нет, конечно поддержка отечественного производителя очень важна, и очень важно, что есть поддержка со стороны государства и таких ассоциаций как АРПП. Но также важно, чтобы это ПО было мирового уровня (или становилось таким в будущем), а это легче достичь с помощью модели СПО. И я надеюсь описанное в статье
You must be registered for see links
сильно преувеличино.Образование по стандартам vs Свободное образование
Еще одним важным вопросом вынесенный в заголовок является “Так какое же нам IT образование нужно: стандартное или свободное?” На мой взгляд, этот вопрос сильно пересекается с вопросом с одной из предыдущих конференций, описанным мной в статье
You must be registered for see links
, но в более общей форме.Для того чтобы начать рассматривать разные подходы нужно сформулировать проблему (или проблемы), которую мы пытаемся решать. Так в докладе Владимира Сухомлина
You must be registered for see links
, автор, сформулировал проблему следующим образом. Грядет цифровая экономика, отрасль бурно развивается, появляется большое количество новых специализаций, образовательные стандарты устаревают, но специалисты в области цифровых технологий требуются экономике, а соответственно, их нужно обучать необходимым для их рабочего места навыкам. Автор предложил два пути решения проблемы улучшения IT образования. Во-первых, использовать не российские стандарты, а
You must be registered for see links
или аналогичные, поскольку это уже разработанные методики, по которым работают в мире. Во-вторых, использовать платформу, которая позволяет формализовать описание навыков для конкретных специалистов. Иными словами, создать карту навыков и умений для любого специалиста. Например, какой-то компании требуются специалист, компания может посмотреть в классификаторе, какой именно специалист ей необходим, или дополнить классификатор новой строчкой указав какие навыки для новой специализации требуются.Во время вопросов прозвучали сомнения в обоих подходах. Ведь по сути одни стандарты заменяются на другие, которые также устаревают, а с подбором специалистов в IT компании с успехом справляются и HR специалисты, без всяких карт и классификаторов навыков.
Главный аргумент высказанный автором в кулуарах в защиту предложенного подхода был следующим: ну должны же мы специфицировать какие именно знания нужны для того или иного специалиста. По этим принципам происходит подбор персонала (следовательно, и обучения) для Пентагона и других солидных организаций. Но давайте рассмотрим гипотетическую ситуацию. Предположим, какой-то компании потребовались специалисты с новой специализацией. Формируется карта навыков, формируется программа, создаются сертификационные центры, и набираются студенты. Но только обучение в бакалавриате занимает 4 года. Получается, что самое быстрое когда компания может получить этих специалистов — 5 лет, ведь хотя бы несколько месяцев уйдет на формирование программы основанной на новой карте навыков. Нынешняя ситуация настолько быстро меняется, что через 5 лет эти конкретные навыки могут просто быть не востребованными не только в данной компании, но и на рынке труда в целом.
Ну взять, например, удаленное обучение, в начале февраля никто не мог представить, что все ВУЗ-ы будут вынуждены перейти на удаленку и одним из основный инструментов станет Zoom. Да, дистанционное обучение набирает обороты, было несколько докладов посвященной данной теме, например, доклад Льва Чернышова
You must be registered for see links
или доклад Ивана Хахаева
You must be registered for see links
. Но до пандемии и резкого перехода на удаленку дистанционное обучение рассматривалось скорее как вспомогательное. А с приходом коронавируса все изменилось, и пришлось срочно искать выход.
То есть проблема гораздо шире, чем просто выявление и формальное описание требуемых навыков. В Embox предлагается другой подход, ему был посвящен доклад Антона Бондарева (мой)
You must be registered for see links
. Суть нашего подхода заключается не в предоставлении конкретных знаний студенту, а в развитии у него способности самому получать знания, и, что очень важно, в умении самостоятельно выбирать какие знания и направления развития ему нужны.Конечно, никто не отменял базовые знания: математика, логика, алгоритмы и структуры данных остаются неизменными, и, что самое главное, они заставляют учиться думать определенным образом. Так, на конференции был доклад Сергея Абрамова
You must be registered for see links
, данный язык заставляет думать в функциональной парадигме, что очень полезно. Но, например, изучение конкретного языка, среды разработки или базы данных, кто может сказать, какая технология будет востребована? К тому же, высшее образование подразумевает, именно способность создавать эти самые несуществующие технологии. Как такому научить? Сложный вопрос, но мне почему-то кажется, что загон студентов в рамки зачетов и оценок вряд ли этому способствует. Отсюда и подход Embox — студент делает то, что ему интересно, а мы выступаем старшими товарищами (менторами, наставниками) и помогаем ему в этом начинании. К тому же, мы вовлекаем студентов в мир СПО, в котором существует множество других проектов и направления кроме Embox. И конечно нужно учитывать что участие в подобных проектах гораздо более эффективно чем выполнение стандартных учебных заданий, ведь эти проекты являются промышленными и в них приняты промышленные процессы разработки.В этом году
You must be registered for see links
»>“Google Summer of Code” (GSoC). Замечательная инициатива, которая позволяет студентам со всего мира пройти стажировку в проекте, которые его интересует. То есть, компания Google не заботится о стандартах, но умудряется выращивать (помогает это делать) IT-специалистов очень высокого уровня. Процесс не содержит получение конкретных знаний, это отдано ВУЗ-ам, ведь только студенты ВУЗ-ов могут принять участие в программе. Процесс не требует участия только в проектах компании Google (или американских), но процесс работает, основан на СПО, и позволяет относительно небольшими затратами во взаимодействии с сообществами получить качественных специалистов, способных и дальше развивать технологии и строить цифровую экономику.Конечно это далеко не полный перечень докладов с конференции, посмотреть остальные вместе с презентациями и тезисами их можно на
You must be registered for see links
.Правда живое общение на конференции трудно заменить, и можно посетить следующую конференцию, к тому же в Переславль-Залесском есть много интересного, например, комьютреный музей расположенный в том же здании где проходит конференция, немного фоток из него у нас в
You must be registered for see links
.



