9 причин переходить на open-source

в 6:59, , рубрики: IT-стандарты, open source

В данной статье я хочу указать несколько причин, почему компании любых масштабов должны переходить на open-source технологии. Я постараюсь указать моменты, выжные не только для разработчиков, но и для бизнеса (заказчиков). Оговорюсь, что речь идет не о конечных продуктах ПО, а о платформах — веб-серверах, прокси-серверах, базах данных и т. д. Статья носит неформальный характер, поэтому без цифр и графиков. Однако, их вы можете найти по некоторым ссылкам внизу. Я часто встречаю обсуждение преимуществ использования open-source продуктов на англо-язычных ресурсах, однако, в нашей стране их пока боятся.

Начнем по порядку:

Open-source приложения содержат меньше дефектов

К этому, также, относятся и дефекты безопасности (возможности эксплоитов). Почему это так? Над проектам с открытым исходным кодом работает большое количество разработчиков. Поэтому дефекты обнаруживаются и устраняются очень быстро.
Если вы любите объективные доказательства, вот, например, статья о сравнении количества багов в open-source и проприетарных продуктах от компании Coverity: www.techrepublic.com/article/open-source-vs-proprietary/.
Как следствие:

Безопасность

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

Над open-source проектами работают энтузиасты

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

Над open-source работают ленивые люди

Я имею ввиду “работают программисты”. “Программисты” == “ленивые люди”. Дело в том, что по-настоящему ленивый в нужную сторону программист всегда найдет возможность сделать свою работу проще и быстрее.
Во всем мире все уже давно поняли, что рутину всегда можно исключить. Если ты программист и выполняешь рутинную работу — задумайся, ты делаешь что-то не так.
Именно поэтому, веб-разработчики во всем мире выбирают консольный подход к выполнению задач (прощай, Windows), используют scaffolding, scripting.
Среди русских специалистов, почему-то, консоль не в чести, а зря — это путь к дзену и продуктивности.
Например, как развернуть приложение на платформе Meteor.js (http://meteor.com)?

$ curl https://install.meteor.com | /bin/sh
$ meteor create myapp
$ cd myapp
$ meteor

Все! У вас рабочее приложение, с базой данных уже крутиться на сервере. Одним простым движением вы может опубликовать свое приложение в интернете:

 $ meteor deploy myapp.meteor.com

А теперь вопрос: как развернуть простейшее Java EE приложение? Плохой пример в контексте проприетарности, но все же. Приводить в пример развертывание среды Oracle ADF было бы совсем жестоко. Во-первых, вы не сможете сделать это в консоли (тянуть руку к мышке?! Ну нееет…). Вам, скорее всего, надо будет скачать и установить Eclipse, Idea или Netbeans. Потом вам надо скачать и установить Tomcat, Glassfish, WebLogic или что вы там еще используете для контейнера сервлетов. Запустить IDE, покликать немножко мышкой, и, если повезет, все заведется сразу!
В это время разработчик на meteor.js уже сделал функциональное приложение (http://www.smashingmagazine.com/2013/06/13/build-app-45-minutes-meteor).

Поддержка через комьюнити

Высокое руководство часто выбирает проприетарные продукты именно из-за наличия контрактов на поддержку. Я не раз слышал восклицания в стиле “У нас же партнерский контракт с …! А вот будут проблемы с этим backbone-ом, что будем делать?”.
На самом деле, крупные мейнстрим проекты имеют вокруг себя большое комьюнити, которое всегда готово помочь в решении вопросов, в то время как, не смотря на наличие контрактов, запросы в службу поддержки, например, Oracle, могут оставаться нерешенными месяцами.
Комьюнити состоит из таких же, как вы, разработчиков, с теми же проблемами, с которыми уже, наверное, кто-то встречался.
Да и вообще, в случае с open-source, у программистов всегда есть возможность решить проблему самому, о чем следующий пункт.

Возможность внести вклад в развитие проекта

В отличие от проприетарного ПО, в open-source проект вы сами можете внести изменения. Конечно, для бизнеса это не аргумент (“Почему мы должны тратить время на развитие чужого проекта?”). Однако, для самих специалистов это очень полезный и приятный опыт. К тому же, как я уже упомянул выше, проблемы с блокирующими дефектами могут решаться, в таком случае, значительно быстрее.

Выше скорость разработки

Время вывода продукта на рынок (Time To Market, en.wikipedia.org/wiki/Time_to_market) значительно ниже, что напрямую следует из пунктов 2 и 3.

Дёшево

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

Возможность быстро адаптироваться

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

Возможность выбора

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

На мой взгляд, преимущества open-source платформ неопровержимы для компаний, занимающихся разработкой и интеграцией ПО любого уровня.

Полезно почитать на эту тему:

Автор: dsabelnikov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js