Чому Open Source не помре?
Саме сьогодні мені захотілось поділитись своїми думками стосовно світу Open Source. Виною тому є моя спроба зробити свій внесок в проект MySQL Proxy. Про неї я розповім окремо, коли доля мого шматочка коду стане відомою, а поки що хочу поділитись своїми думками з приводу Open Source як явища та його подальшої долі.
Досить багато людей вважають, що вільне (чи тим паче з відкритим кодом) програмне забезпечення не може бути якісним, що в нього немає майбутнього. В чому причина таких думок? По-перше, звичка до того, що програмне забезпечення - великий бізнес, що за прибутками переріс розробку та продаж апаратного забезпечення. По-друге, прихильники такої думки прагнуть стати частиною цього бізнесу на якому б то не було рівні. По-третє, нерозуміння причин стрімкого розвитку світу Open Source та вільного ПЗ.
Почну з причин, які лежать в основі розвитку відкритого програмного забезпечення.
Чому ж вільне ПЗ буде розвиватись?
По-перше, попит на вільне ПЗ. Як би там не було, але кількість бажаючих отримати щось задарма завжди буде великою. І чим жорсткіше буде законодавство що до піратства, тим більше людей буде схилятись до використання ПЗ, яке не вимагає плати за використання. Навіть коли це ПЗ поступається своєму комерційному аналогу.
Не обов'язково люди не бажають платити за ПЗ тому що в них не вистачає грошей чи "високі принципи" заважають. Зазвичай причина в тому, що користувачу не потрібен весь той функціонал, що пропонує платна програма, а цілком вистачить якого безкоштовного аналога, який до цього має щей перевагу у мініатюрності.
Достатньо згадати Adobe Photoshop. Скажу чесно: я не знаю мабуть і сотої частини можливостей Photoshop. Не сумніваюсь, що там є все чи практично все, що тільки може знадобитись. Однак я навіть не знаю всього що там є. І мені повністю вистачає Gimp та Inkscape. Хоча я й знайшов для себе ряд недоліків в цих програмах, операції які б могли виконуватись в них легше чи якісніше. Підозрюю, що все це вміє робити Photoshop. Однак я не готовий платити близко 700 доларів за цей продукт, а потім ще по 200 доларів за оновлення до нової версії. Тому що я насправді не знаю навіщо мені потрібно витрачати такі кошти. І при цьому, може виявитись, що цей продукт не зможе повністю задовольнити мої вимоги (деякі речі все ж таки простіше зробити в Gimp чи Inkscape).
Як показує практика, досить часто відкрите програмне забезпечення ні чим не поступається закритому. Наприклад, у світі браузерів одну з лідуючих позицій займає широко відомий Firefox, який є повністю відкритим продуктом. Вже котрий рік я користуюсь ним, як основним браузером. І не тільки я. А ще згадаймо список популярних мов програмування - практично всі їх компілятори відкриті, або мають відкритий аналог. А найпопулярніша платформа для ведення блогів? Перелік можна продовжувати.
З усього вище сказано випливає друга причина: спільнота - люди, що витрачають свій час на розробку, тестування, написання документації ПЗ, відповіді на питання, що виникають у інших користувачів цих інструментів. Коли якість дорого та закритого продукту, його функціонал чи ціна не задовольняють людину, що має можливість писати своє програмне забезпечення, досить часто така людина бере та реалізує те, шо їй потрібно. Ця ж людина (або група людей) стають першими тестерами продукту. І якщо продукт виходить назовні, то навколо нього нарожується спільнота (якщо цей інструмент комусь потрібний).
Часто кінцеві користувачі, що виступають в ролі тестерів та служби підтримки, а іноді і приєднуються до групи розробників, є більш потужньою і важливою силою, ніж ті люди, що розпочали проект. Особливо для його популяризації. Причина в когнітивній протидії будь-якого ПЗ. Тобто в необхідності розбиратись як з ним працювати. Автору програми це звісно ж зрозуміло і дизайн інтерфейсу користувача здається доволі логічним, а частенько й простим. А для кінцевого користувача може виглядати зовсім інакше. І частіше кращою допомогою за будь-яку документацію (а спробуйте ж написати все просто та зрозуміло, для людини що є "абсолютним нулем", коли ви розумієте не лише як з ним працювати, а також як воно влаштоване всередені) буде порада іншого звичайного користувача.
А тут десь близко криється ще один монстр: підтримка корпорацій. Справа в тому, що корпорації часто зацікавлені у використанні вільного ПЗ. З одного боку - економія. Уявіть собі скільки коштує використання сотен, тисяч, десятків тисяч ліцензій того чи іншого продукту. Навіть за умов пільгових програм, що продавці частенько пропонують для оптових замовників. Багатенько. Але корпорація можуть і заплатити, тому це далеко не головна причина.
З іншого боку, для корпорацій вільне ПЗ - ринок збуту. Всім відомо, що раз *nix займає великий відсоток серверних систем (які доречі порівняно з користувацькими коштують значно дорожче), то є величезний за обсягом сегмент ринку дорогого апаратного забезпечення. І все що потрібно, так це щоб воно працювало з відкритими ОС. Тому великі компанії, що займаються розробкою заліза частенько не обходять стороною написання драйверів для Linux, чи внесення змін в ядро, для підтримки власної продукції. І так роблять не тільки розробники апаратного забезпечення.
Ще одна можливість для корпорацій скористатись відкритим ПЗ - тестова платформа, безкоштовні додатки та область для пошуку кадрів. Відкриваючи частину внутрішнього істнтрументарія у вигляді відкритого коду, корпорація діє змогу кожному зацікавленому в цьому продукті отримати змогу з ним попрацювати. Натомість отримає відгуки про цей інструмент, деякі додатки, що додають новий функціонал, пошук помилок та часто шляхи подолання проблем. Якщо у відкритий доступ потряпляє полегшена версія продукту (наприклад, OpenSolaris, OpenSuse), то це дає змогу частину роботи з розробки основного функціоналу перекласти на зовнішніх розробників, а сконцентруватись на тих можливостях, що реально можуть принести прибуток. Впевнений, що це вигідніше ніж шлях який обрала Microsoft для бета-тестування Windows Vista (плата за участь в тестуванні!!!), яка як можна побачити не набула великої популярності, не дивлячись на можливості та вплив цієї компанії.
Будь-хто, зто приймав участь у тестуванні, розробці та взагалі роботі з продукцією компанії чи то відкритим інструментарієм, що використовується компанією, отримує деякі навички як її співробітник. Так Google, наскільки мені відомо, з радістю набирає в штат людей, що задіяні в розробці продуктів, якими користується сама компанія.
Не слід забувати про піар. Як тільки компанія відкриває частину свого існтрументарію, приймає участь у розробці вілкритого ПЗ, одразу ж вона звертає на себе увагу, створює позитивне враження серед прихильників відкритого ПЗ. Яким би це не здавалось незначним, однак силу реклами та прихильність покупців ніхто не спростовував.
З огляду на вище перелічене безглуздими є думки про низьку якість програмного забезпечення з відкритим вихідним кодом. Воно знаходиться на тому ж рівні, що й платне ПЗ, оскільки за ним стоять люди, що зацікавлені в його розвитку як інструменту для зодоволення власних потреб чи способу заробітку.
Як заробити в світі відкритого ПЗ?
Так чи інакше, однак вільне ПЗ все більше виходить на ринок. І для всіх, хто хоче заробляти на цьому ринку не враховувати це не має права. Навіть компанія Microsoft, що може вважатись лідером руху за платне програмне забезепечення, все більшу увагу звертає на світ Open Source.
Те що програмісти можуть заробляти на розробці ПЗ при наявності інструментів добре підтверджує всесвітня мережа з величезною кількістю великих та меленкіх компаній, що займається розробкою різноманітних сайтів. Здавалося б, наявна величезна кількість безкоштовних CMS, що дозволяють за декілька хвилин створити самойстійно сайт. Однак самі програмісти широко використовують такі системи для заробітку. Більша частина інтернет-бізнесу обертається навколо open source: *SBD/Linux, Apache/lighttpd/nginx, php/perl/python/ruby/java, mysql/postgresql.
Якщо хочеться чогось іншого, корім штампування візиток, онлайн-магазинів та блогів, завжди є можливість спробувати створити власний сервіс-стартап, на основі все тих же відкритих існтрументів.
У світі desktop все складніше: створити нове фінансово-вигідне для розробника ПЗ складніше ніж знайти нову нішу в мережі. Однак виною тому не велика кількість безкоштовного ПЗ, а як раз крупне комерційне. Навряд чи себе виправдає розробка ще одного графічного пакету, чи пакету для моделювання: обігнати в цьому сегменті лідерів ринку буде дуже складно за функцоіналом, а менша ціна не буде грати вирішальної ролі - ті кому дійсно потрібен Photoshop придбають саме його за будь-які гроші, ніж втричі дешевший аналог без імені та можливостей. Хоча я впевнений, що є сегменти спеціалізованого ПЗ не зайніті ні відкритими ні комерційними проектами, де ви можете створити щось дійсно нове та якісне.
Що до розробки корпоративних систем, тут знову ж таки правила дистують не Open Source гравці, а крупні компанії, що давно працюють в цьому сегменті. Для різноманітних бугалтерських систем, систем управління підприємствами, систем обліку майна та людських ресурсів існує або дуже дороге комерційне ПЗ, або компанії що займаються розробкою такого ПЗ на замовлення. І якщо Ви прагнете працювати на цьому ринку, то шукайте ворога не в світі відкритого коду. Быльше того, тут можна знайти велику кількість інструментів та напрацювань, що можуть допомогти.
Ну і звісно, якщо Ваша компанія вже працює, то відкритий проект в якому вона б взяла участь, чи власний код, що буде викладений в якості Open Source завжди можна використовувати в якості піару. Я думаю, що не слід нехтувати прикладом багатьох великих компаній, які майже щомісячно відкривають код деяких своїх продуктів чи то існтрументів роботи і при цьому приносять власникам величезні прибутки.
Об'єктивність
Вирок собі я написав в другому реченні цього чудового допису :) Так, так, я можу вважатися одним з фанатів Open Source, що з задоволенням ним користуються та готові витрачати свій час на його розвиток. Причому цілком безкоштовно. Однак така упередженість не зменшує вагу наведених мною фактів. І стосовно причин стрімкого розвитку відкритого ПЗ, і стосовно заробітку, і стосовно якості цього самого ПЗ. І ніяких холіварів та суперечок ;)
Дякую за увагу всім хто зміг дочитати до цього місця! ;)



