В данной статье я хочу указать несколько причин, почему компании любых масштабов должны переходить на 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 платформ неопровержимы для компаний, занимающихся разработкой и интеграцией ПО любого уровня.
Полезно почитать на эту тему:
- www.techrepublic.com/article/open-source-vs-proprietary/
- www.linuxfoundation.org/publications/linux-foundation/collaborative-development-trends-report-2014
- www.huffingtonpost.com/vala-afshar/10-reasons-to-use-open-so_b_5766718.html
- www.huffingtonpost.com/vala-afshar/red-hat-cto-5-business-be_b_5309043.html
- www.acquia.com/blog/open-source-value-proposition
- www.slideshare.net/mjskok/2014-future-of-open-source-8th-annual-survey-results
Автор: dsabelnikov