Майкрософту на руку играет огромная экосистема Windows, её инерция, которая тащит за собой бизнес и домашних юзеров. Но и экосистема Linux сильно разрослась по сравнению с тем, что было лет 15 назад, и сейчас многим организациям и домашним пользователям есть резон перейти на Линукс. И даже не один, а целых семь.
Прозрачность
Linux и большинство софта его экосистемы имеют открытые/свободные лицензии вроде GPL и BSD. Это значит, что исходники программ не хранятся где-то в глубоких программистских копях корпораций, а лежат перед глазами всего мира на публичных серверах. Более того, процесс разработки этого софта тоже полностью открыт, каждое изменение зафиксировано и видно всем. Поэтому код постоянно проверяется децентрализованной сетью специалистов со всего мира на предмет ошибок, уязвимостей и зловредов. Если же изменения (патчи) может присылать любой желающий — такой софт совершенствуется быстрее проприетарного (с поправкой на популярность и модель разработки, конечно).
Доступность
Вы можете получить легальную (лицензионную) копию системы полностью бесплатно, скачав в интернете. Да, есть коммерческие дистрибутивы вроде RHEL, но в них вы платите за обновления и техподдержку. Сами эти дистрибутивы, опять же, можно легально скачать, не платя ни копейки. Предприятие или организация может сильно сэкономить на лицензиях, потому что пиратский софт для них крайне рискован и потому недопустим. На мой взгляд, рядовому домашнему пользователю тоже лучше не пользоваться пиратскими (взломанными) программами, даже несмотря на почти нулевой риск попасть под статью. Ведь взломанная система или программа может работать нестабильно. Да и что мешает пиратам-взломщикам засунуть в код какой-нибудь троян или рекламный модуль?
Имея хорошие скиллы в программировании (и не имея личной жизни), вы можете сами контролировать код программ, которые используете. Тоже совершенно легально. Для организаций и компаний это особенно удобно.
Безопасность
Чуть менее чем все зловреды, обитающие в глобальной сети, разработаны для Windows и её экосистемы. Linux хорошо защищает ваши локальные системы и сети от заразы вроде троянов, вирусов, майнеров, локеров, рекламных модулей.
Да, линуксовые серверы ломают и заражают часто, но большая часть атак происходит через приложения вроде веб-серверов/движков/и т.д. или через явные ошибки в администрировании системы. При надобности уровень защиты можно выкрутить до непробиваемого уровня с помощью hardened-инструментов вроде PaX и SELinux.
Я часто вижу беспечное отношение людей к безопасности своих домашних систем, мол, что этим хакерам с меня взять. На самом деле, у каждого в 2020 году можно много чего взять с компьютеров: рабочие учётки, аккаунты от банков и кошельков, и т.д. Да и личные/рабочие файлы можно потерять из-за какого-нибудь шифровальщика, тоже приятного мало. Хакерам же незачем пыхтеть ломать вручную конкретно вас, боты и вирусня делают всё сами в массовых масштабах.
Децентрализация
Открытые и свободные программы принадлежат сразу всем и никому конкретно. Благодаря этому разные компании, страны, организации, коллективы и даже одиночки вроде Патрика Фолькердинга делают собственные дистрибутивы (комплекты) Linux. Только самых популярных дистрибутивов не меньше десятка, а сколько их всего — неизвестно, потому что дистрибутив для своих внутренних нужд может сделать любая организация.
Как следствие, пользователю Линукса ни один человек, компания или государство не могут диктовать свои условия, особенно если у него есть ресурсы для локального контроля исходников. Да, есть главная ветка ядра, которой командует великий и ужасный (сейчас уже не такой ужасный) Линус Торвальдс, но есть и другие ветки, которыми командуют другие. Да, вы в одиночку скорее всего не сможете влиять на разработку компонентов системы или приложений, но вы можете блокировать или фильтровать изменения. Здесь всё упирается в количество проприетарного софта — чем его больше у вас, тем меньше у вас контроля над происходящим (а проприетарный софт есть и на Линуксах).
Гибкость и разнообразие
Разные дистрибутивы зачастую серьёзно отличаются друг от друга, несмотря на массу всяких Болженосов, у которых из уникальных фич только нескучные обои. Какие-то дистрибутивы делают упор на корпоративную экосистему и поддержку (RHEL, SLED, Fedora, Ubuntu, Calculate), какие-то — на универсальность и мощь (Debian, openSUSE, Arch). Есть узкоспециализированные варианты (медиа-центры, рабочие станции, системы для оборудования и роботов), есть легковесные сборки, есть секурные дистрибутивы для безопасников и Kali для их ночных кошмаров. NixOS и Gentoo предлагают мощные инфраструктуры для кастомизации систем и прикладного софта, для создания заточенных под конкретные задачи сборок. Есть Линуксы для православных и сатанистов (я не шучу), для музыкантов и видеомонтажёров, игровые и образовательные сборки.
Если у вас возникает надобность решить какую-то компьютерную задачу — возможно, для неё уже сделан дистрибутив Линукса.
Масштабируемость
Ядро Linux работает и на встроенных системах, и на суперкомпьютерах. В Линуксах нет искусственных ограничений на количество процессоров, ядер, оперативной памяти, и так далее. Фактически, вы можете скопировать Линукс со своего ноута на взрослый сервер, и он будет работать без проблем. Привет, Microsoft, который даже на Windows 10 Pro не даёт нормально работать больше чем с 64 ядрами :-)
Это работает и в обратную сторону — любому одиночке-энтузиасту доступны все взрослые возможности вроде упомянутых выше hardened-инструментов или софта для промышленного оборудования и сервисов.
Простота
Да, настольный Linux проще в обращении, чем Windows. Всё, что нужно делать — это ставить-удалять программы через менеджер пакетов и обновлять систему через него же (да и апдейты ставить вас никто не заставляет). Вы избавлены от головной боли поиска и скачивания программ, в которых зачастую то реклама, то куча левых программ впридачу, то вообще зараза какая-нибудь. Система со временем почти не накапливает ошибок и глюков, хотя количество установленных-удалённых пакетов может исчисляться тысячами. Я, например, уже пятый год таскаю за собой Линукс с компа на комп простым копированием корня и домашнего каталога.
Если вам хватает линуксового софта, а железо ваше нормально поддерживается Линуксом, то затруднить переход вам могут только накопленные на Windows привычки и паттерны.
«Вас всего-то два процента!»
Конечно, низкая популярность Linux сильно играет против него: мало людей на Линуксе -> производителям софта и железа нет резона его поддерживать -> люди не могут перейти на Linux. Но пусть вас это не смущает. Даже эти 2-5 процентов — многие миллионы пользователей, игнорировать которых невозможно. А за пределами десктопа Линукс уже почти зохватил мировую экономику. Так что не ведитесь на фырканье любителей выдать популярность за качество, и присоединяйтесь к миру прозрачности и свободы в IT ;-)
vilgeforce
Открытый код OpenSSL много лет был перед глазами всех и каждого, но это не помогло найти критические ошибки сразу после их появления там. Аргумент уже столько раз показывал свою несостоятельность, но все еще продолжает использоваться…
amarao
На фоне того кошмара, который пролазит в проприетарном софте… (почитайте про "системы шифрования файлов" для телефонов, например).
vilgeforce
В Америке, конечно, негров линчуют, но и в OSS косяков хватает.
amarao
Вы абсолютно правы. Если бы кто-то научился писать софт без багов, то целые индустрии перестали бы существовать. Однако, opensource даёт профессионалам возможность изучать систему, и если система в использовании, это повышает качество её использования. Я это говорю не "абстрактно", а по наблюдению разнцы между администрированием проприетрных систем (сетевые ОС и винда) и открытых систем.
Кроме opensource есть ещё и libre (free) software, которое, вообще, аппелирует к идеям гуманизма (люди пишут софт, потому что он помогает другим людям). Сравните это с мотивацией для написания софта в коммеческой компании (я пишу этот CRUD потому что мне за это платят деньги).
vilgeforce
Закрытые исходники тоже позволяют изучать систему. И да, IDA с ее графами вызовов — зачастую лучше чем исходники, по которым эти графы нужно еще умудриться построить ;-) Вопрос мотивации я не обсуждаю, каждому свое.
amarao
Отладчик позволяет вам увидеть что софт делает, а не что он собирался делать. Для исследователей чужой малвари вполне подходит "что делает". Если вы чините неожиданное поведение ПО, то возможность понять что софт должен был делать — основная, и что "делает" не достаточно. Чтение исходников позволяет понять что софт должен делать, потому что в исходниках кроме инструкций для компьютера есть ещё семантическая нагрузка, передающая смысл и намерения человека.
vilgeforce
IDA — не отладчик. Она показывает какой код будет выполняться, а не мысли меня или автора о том, что выполняться должно ;-) «семантическая нагрузка» бывает настолько паршивой, что лучше бы ее и не было, поэтому я и говорю что анализ скомпилированной программы зачастую легче анализа ее сорцов.
amarao
Если не рассматривать обфусцированный "минифицированный" код, то индустриальный код обычно очень и очень выразителен (даже если написан криворукими человеками), потому что там используются понятия из предметной области. При компиляции предметная область исчезает, превращаясь в системные вызовы и безымянные ячейки памяти.
YuriiSig
Можно назвать не 7, а 77 причин как за Linux, так и за Windows, и все они будут достойны внимания. Выскажусь с точки зрения конечного пользователя. Например, существуют довольно много продуктов, реализованных как под Linux, так под Windows. Многие программы, реализованные под Linux, являются «обрезанными» под Windows, или их под Windows вовсе не существует: для таких на своих домашних компах я использую Linux. В остальных случаях использую Windows. Думаю, что сколько-нибудь продвинутые пользователи поступают аналогично.
HeaTTheatR
Не вижу причин использовать Windows в принципе!
YuriiSig
А что тогда Вы будете делать, если необходимое приложение реализовано только под Windows (а таких абсолютное большинство)?
HeaTTheatR
Хотя бы два приложения назовите! Лол!
YuriiSig
Во-первых, обзываться не надо. А во-вторых, например, куча моих приложений, связанная с алгоритмами линейной алгебры. См., например, мою статью Ю. Ф. Сиголаев, Б. И. Ионин, О модификации алгоритмов диагонализации, связанных с квантовохимическими расчетами. Журнал общей химии. – 2010. – 80, № 11. – С. 1928-1929.
HeaTTheatR
Хотя бы два приложения назовите, "которых абсолютное большинство" реализовано только под Windows… И где я, собственно, "обзывался"?
YuriiSig
Ну да, ЛОЛ — это конечно не КЕК. А дискутировать с человеком, придерживающегося крайних взглядов, не имеет смысла.
HeaTTheatR
Одно дело придерживаться какой-либо точки зрения, другое дело — писать всякую чушь, что "абсолютное большинство приложений реализовано под Windows".
0xd34df00d
А код из моих научных работ работает только под линуксом. И что ж делать теперь?
HeaTTheatR
Видимо, перестать писать код, раз он у вас работает только под "Линуксом"!
0xd34df00d
Почему?
Более того, зачем мне надо было прилагать дополнительные усилия и менять стек для того, чтобы поддерживать Windows, которой я не пользуюсь? GHC отлично работает на линуксах, на маке, на FreeBSD, коллеги с прошлой работы даже на AIX и SunOS его заводили, но вот с виндой не сложилось. Бросать из-за этого хаскель и писать на… на чём?
iig
1С отлично работает на Windows… И всё ;) Зачем поддерживать линукс? Или бросать 1С и писать на… чем? :D
Так то я согласен, что выбирать ОС под задачи — это норма. А когда наоборот — нет.
HeaTTheatR
1C отлично работает под Windows?! А под Linux, стало быть, не работает?
iig
;) Не прошло и 20 лет (1С для Windows существует с 90-х годов), как выпустили 1С для Linux (2012 если не ошибаюсь). Не думаю, что это было очень легко.
HeaTTheatR
Я к тому, что если что-то пишите, не нужно полусмыслов! Использование Windows, на мой взгляд, не оправдывается ничем.
DMGarikk
ну как минимум в линукс-версии не работает COM (что логично), а в свое время, да и многие до сих пор, через него костылят обмены и выгрузку-загрузку документов в docx/xlsx
по этому легкий переход на линух может обернутся переписыванием части сложной конфиги написанной гденить в середине 2000х или разными ленивыми погромистами
AdmAlexus
На этих словах горько заплакали сотни эникеев в госструктурах, которым приходится настраивать людям на машинах доступ в системы, которые, например, требуют для работы именно Silverlight 4, или что-то древнее и проприетарное.
ne_kotin
А можно ссылочку, чтобы понимать о каком виде трэша идет речь?
amarao
Софт для шифрования переносил сколько-то байт файла в конец и дописывал свою сигнатуру в начало. Супербыстро, и "зашифрованные файлы больше не открываются".
(ссылку за давностью не могу найти).
ne_kotin
мимими ) всё как я люблю )
а если серьезно — то вменяемого софта для работы с трукриптовыми контейнерами под ведроид не хватает.
IgorGIV
Посмотрите в сторону EDS.
ne_kotin
у него интерфейс — обнять и плакать
chemtech
Аппаратное AES шифрование, на деле оказалось простым XOR.
chemtech
Аппаратное AES шифрование, на деле оказалось простым XOR.
mrtux Автор
Хм, а ошибки в проприетарном софте находят и исправляют сразу после их появления?
vilgeforce
То есть вы тоже видите что никакого преимущества в этом плане по сравнению с закрытыми сорцами и нет…
mrtux Автор
Очень жалкая демагогия, фу :-)
kAIST
А ошибки в открытом софте?
Ну вот понадобилась мне одна утилита недавно. Нашел на гитхабе подходящую. Работает немного не так как хотелось бы. Ну ок, со своими слабыми познаниями а С++, на свой страх и риск поправил (очень повезло).
Но она не собирается под windows, хотя заявлено что должна и все остальное у меня уже построено вокруг этой утилиты. И что делать? Она выложена "как есть", сообщества у нее совсем. Была бы платная, возможно было бы по другому.
vilgeforce
«заявлено что должна», но не заявлено каким именно способом ;-)
kAIST
Да собственно способ даже описан, но вот не работает ) несколько дней пытался собрать, но никак.
Я почти закончил программу, которая использует эту утилиту, но тут обломс вышел большой )
dmitriym09
Кто вам мешает использовать существующую платную?
kAIST
Под linux нет аналогов.
dmitriym09
А под другие Windows есть качественные решения?
0xd34df00d
По-другому — это как? Не «как есть»? Вы среднюю EULA давно читали?
И да, я встречал кучу проприетарного софта, который вроде как должен работать под линуксом, но на моей генте не запускается. Как думаете, что с этим делал производитель?
u_235
kAIST
https://github.com/ppwwyyxx/OpenPano
Под linux то на раз-два собралось при моем почти нулевом опыте в этом дело, а вот под windows два дня бился, но не вышло (
symbix
Если посмотреть список контрибьюторов, видно, что там по сути один разработчик. Человек выложил результаты своего личного труда бесплатно и под открытой лицензией, какие вообще могут быть претензии?
Если вам так очень надо, всегда можно связаться с разработчиком и обсудить, за какую сумму он готов оперативно починить виндовый билд.
0xd34df00d
Только стоит иметь в виду, что деньги не всегда тут могут помочь — иногда бывает, что разработчик не готов что-то такое делать ни за какую адекватную сумму.
symbix
Конечно, бывает. Но вероятность, что у разработчика найдется время, сильно повышается, если предложить оплатить работу (при этом часто помогут и бесплатно). Я бы сказал, на втором месте после грамотности составления багрепорта.
shurutov
У Вашей проблемы ровно два решения:
ЗЫ. Спасибо за ссылку, надо попробовать, а то у меня есть исходники, которые совсем плохо связываются, но панораму собрать из них хочется (hugin не справляется, но материал конкретно отвратительный).
Thomas_Hanniball
Open Source и коммерческое ПО пишутся людьми, в процессе используются те же инструменты, языки программирования и парадигмы разработки и т.д. По этой причине разницы в безопасности между Open Source и коммерческое ПО нет никакой. Каждый случай индивидуален, поэтому здесь можно привести кучу примеров как с дырявым openSource ПО, так и кривыми поделками из мира коммерческого софта.
То, что исходный код ПО есть в открытом доступе, не делает его более безопасным, так как большинство разработчиков, DevOps-инженеров, админов и просто пользователей всё равно не читают исходный код и не делают его аудит всякий раз, когда хотят использовать новую библиотеку или ПО.
Проблемы и ошибки безопасности могут оперативно исправляться как в OpenSource, так и в проприетарном ПО.
OpenSource — это, прежде всего, прозрачность. Возможность оставить исходную версию кода себе или изменить её по своему усмотрению.