spring2012

Почему победит OpenSource, но не Linux.

Наступает конец года. Вот я уже и ёлку дома поставил, и Canonical прислала мне диск с Ubuntu 9.10... Так что можно немного попрогнозировать и поанализировать.

Модель OpenSource себя вполне доказала. Это мы видим по появлению CodePlex от Microsoft, это мы видим по многочисленным разработкам других компаний... Microsoft стала считаться с этим рынком (как оказалось, не всегда).


Microsoft сейчас активно договаривается с сообществами OpenSource-разработчиков... А потом просто купит их код, закроет его - и привет. Переписывайте.

Но это не самое плачевное, что может нас ожидать впереди. Мне, как идеологу Open Source и GNU\Linux в последнее время становится страшно смотреть на поделки отдельных личностей и на радостные дифирамбы "пейсателей" в связи с появлением нового языка разработки или обновления старого. Отдельные языки, особенно кросс-компилируемые, а также интерпретируемые на сервере, меня и самого радуют, не скрою. Но вот появление новой версии Silverlight или нового .NET - вгоняет в ступор. Я видел довольно большой объём проектов, реализованных на этих языках. Зачем люди их выбрали - одному богу известно. Приведу пример: страничка, где надо ввести символы, распознанные человеком на картинке-образе, написана на Silverlight 2.0 и требует его для работы. Всё, что проверяется в коде - то ли ввёл человек, что от него ждали. Зачем было тут использовать Silverlight, когда достаточно проверки на JS, или вообще скриптом на стороне сервера? Кто догадается подглядеть код - подглядит его и в SL-приложении. А остальные не полезут. Впрочем, история имеет продолжение. После успешного прохождения этого теста (да, это - тест), тебя приглашают стать оператором Центра каких-то-там инициатив и вводить данные с похожих формочек через спец. программу. Авторизация доступа, надо сказать, происходит в AD-подобной структуре. А сама программа написана на .NET 2.0 и требует MDAC 2.8 и Windows Installer 3.1.
Я очень рад, что в винде есть унифицированный установщик! Это большой плюс! Ещё бы они репозитарии программ создали - вообще была бы сказка. Но вот писать прогу, которая показывает картинку, ожидает её разметки на сектора и ждёт ввода данных из секторов на .NET - зачем? Зачем это?

Ещё одна, чуть более смешная ситуация: сайт "Президентской библиотеки". Всё отлично: наполнение, навигация, дизайн... Но вот только с Mac'а или Linux'а вы обломаетесь посмотреть рукописи в 3D (об этом система говорит сама). А в 2D сможете посмотреть кусками (по крайней мере на моей dev-версии Moonlight2) такими, что ничего не поймёте.

К чему эти многобукафф?

Сейчас, сейчас. Итак, как они любят - GetTheFacts.
1) Большая часть разработок общедоступного !пользовательского! софта для России ведётся под Windows. Потому что там есть средства, которыми писать быстрее и удобнее. И всем "где-то рядом"(с) что код получается убогий.
2) Разработанный под Windows софт проверяется в работе под Wine редким разработчиком. А уж тем более под Moonlight dev-версии. А какому-нибудь мелкому заказчику, типа администрации Президента - невдомёк, что есть другие платформы (утрирую. Сам Д.А. использует MacBook в работе - смотрите blog_medvedev). Отсюда возникает сильная информационная блокада "непиратов". Почувствуйте себя неполноценным.
3) Для перехода на GNU\Linux, планктону нужна "Колоссальная Сила Воли" или "Великий Стимул". Это сложно поддерживать, когда не работает то одно, то другое... А основной рабочий инструмент пишет "Работаю только под IE. Где мой ActiveX?"
4) В системе высшего образования, почти всё обучение до сих пор основывается на Microsoft. Посмотрите программу любого ВУЗа по ОИВТ. Им просто раздали лицензии - и буря стихла. Это как подачка рабу, который готовит вам еду. Чтобы он её перестал тырить - начните его кормить. Получите наёмного работника. И он приготовит вам больше еды.

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

Теперь о сабже.
OpenSource победит.
Потому что люди будут писать код и открывать его, когда он не продастся. Авось, куда-нибудь пристроится.
Linux не победит.
Потому, что софт удобнее писать под Windows. И многие будут его писать. И дешевле будут, потому что проще и не требует такой квалификации, чтобы код оптимизировать. А заказчика волнует работоспособность на ЕГО платформе. Какая у него платформа? Windows? Нет. Деньги! Если оно сэкономило деньги и принесёт их с лихвой - отлично. Чем дешевле прога - тем быстрее окупится. Под Linux писать объективно сложнее. Серьёзно. Я не знаю ни одного IDE с таким функционалом, как VS. Eclipse - мелок рядом с ним.

Выводы?
Из ситуации есть два выхода. Стимулировать разработки для альтернативных платформ или переходить на Web-ориентированный софт. Платформонезависимый в реальности, а не на бумаге (Хороший пример - Google. Плохой - Silverlight-приложения).

Всё.
Buy for 500 tokens
Друзья, я должен вас разочаровать! В истории со Сбербанком у меня не получилось абсолютно ничего. Служба поддержки банка филигранно умеет посылать всех, кто недоволен банковскими правилами. Идти же судиться с банком, по трезвому размышлению, оказалось пустой тратой времени. Пока суд будет…
Много людей пишет продукты на Java? По головам - да, много. Весь Sun почти... И ещё дофига. Много Java-продуктов не в бизнес-среде встречается? Да ещё и под сторонние ОС (Sun тут не считаем, также как нельзя считать винду как среду распространения .NET-кода)?
достаточно много. но да, это больше бизнес-проекты (ой-ой, внезапно забыв про все-все apache-related проекты). кроссплатформенность, да-да.
А что удобная - тут поверю твоему опыту, пожалуй...
а можно конкретные примеры, почему в винде легче программировать? Что из всей богатой функциональности VS используется в работе?
Мной - ничего. Я вообще не пишу код. Когда писал - была Delphi, была визуальная компоновка форм. В Linux'е под GTK такого тогда не было. Под QT - в зародыше. А вот теми волшебными ребятами, о которых я писал - похоже, генерёжка формочек и распихивание кусков алгоритма по событиям кнопок. Ну и красивые слова .NET Framework 2.0 в отчёте.
Ещё раз напомню - речь идёт о юзерских приложениях.