Повечето компютърджии знаят добре какво се нарича “open source” софтуер – софтуер, при който изходният код е достъпен за всеки. Обикновено се подразбира и че всеки може да го използва за каквото иска, примерно да си компилира своя версия на софтуера, и/или да го разпространява както реши, безплатно или срещу пари… Това до голяма степен го прави еднакъв със свободния софтуер (free software). Принципно не са точно едно и също – дефиницията “open source” набляга повече на технологичната методика, докато “free software” – на моралните и етични страни на откритостта. Но в този запис разликата не е от голямо значение.
На пръв поглед бизнесът трудно би правил печалба от такъв софтуер. На практика обаче се намират много начини. Според мен единственото, което все още държи на повърхността доста от комерсиалните софтуери със свободни аналози, е рекламата и рушветите – и зад немалко от тези свободни аналози стоят комерсиални фирми, които се издържат чудесно от писането на “безплатното” нещо.
Един от начините за печалба от свободен софтуер е т.нар. dual license – двоен лиценз. При него софтуерът може да бъде използван под кой да е от два лиценза, единият свободен (и обикновено copyleft, подобен на GPL), другият затворен и комерсиален. Можете да използвате софтуера под който си изберете от двата лиценза. Ако искате да го допълните със свободен код, използването и допълването му е свободно. Ако обаче искате да го допълните така, че да го затворите и продавате, ви трябва комерсиалният лиценз, а за него трябва да си платите. Честно е, нали?… На теория допринасянето под свободния лиценз може бързо да направи свободната версия по-добра от платената. На практика обаче затвореният цикъл на изграждане на софтуера на подобни фирми обикновено изключва тази възможност.
Друг от начините е така нареченият “Open Core” модел. При него основната част от софтуера е свободна, само някои от функционалностите му са платени. Груба аналогия може да бъде автомобил, който можете да вземете свободно, но седалките му струват пари – ако не искате да карате, седнали на щайга или на някакъв багаж, трябва да си платите. Прилага се в случаи, когато платените функционалности имат как да бъдат реализирани отделно от основната част, и се разчита на качеството и поддръжката на платените функционалности да движат продажбите… На теория, някой може да разработи свободни аналози на платените функционалности (и това нерядко се случва). На практика обаче кадърно управляваните фирми обикновено успяват да са една крачка напред, или пък да приемат свободно разработените функционалности в продукта и да надстроят над тях полезни нови платени.
Опит да се комбинират тези два начина е т.нар. “Layered Open Core” модел. При него свободната част се лицензира под още по-строг copyleft лиценз, например Affero GPL. Тези лицензи задължават добавилия нова функционалност да я пусне открито, дори ако използва софтуера само за свои цели. (Класическият GPL не включва това задължение.) Едно от предимствата на този модел е, че запазва свободното използване на софтуера, докато в същото време по-строго принуждава комерсиалното да закупува лицензи. Голямото му предимство обаче е друго.
Класическият dual license модел, както писах по-горе, трябва да поддържа донякъде затворено сглобяване на кода си, за да намали вероятността да бъде обезсмислен. Това осакатява в немалка степен способността на отворения код като технология да носи предимство в качеството. Open Core моделът пък живее под риска някой да те надконкурира със собствената ти отворена сърцевина на проекта, като напише за нея по-добри затворени функционалности – тях не можеш да интегрираш и надстроиш със свои. Layered Open Core може да си позволи да развива отворената сърцевина на проекта при минимално затваряне на сглобяването, и така да избегне доста от загубата в технологично предимство. В същото време, в него е по-трудно някой да те надконкурира чрез собственото ти чадо. Би му изисквало далеч по-сериозна начална инвестиция, за да създаде затворените функционалности. А като са под твой контрол, винаги можеш да ги насочиш в неизгодна за него посока. Той може да отговори със същото, но ще значи да инвестира доста в строго откритата част на проекта – няма да му е лесно и приятно.
В крайна сметка, ако фирмата, която развива проект като Layered Open Core е глупава и алчна, тя сама връчва в ръцете на конкуренцията си начина да бъде надконкурирана. Ако обаче не е, надконкурирането й става доста трудна задача, и изисква ресурси далеч над нейните. Не е невъзможно, но е значително по-трудно.
Така че този модел може и да си струва мъничко внимание. 🙂
Чувал съм и за още начини на печелене. Например: Целият софтуер ти е под GPL (или подобен) лиценз, а печелиш от внедряването. При бизнес системите внедряването е много сложен процес, понякога може да е по-времеемък от написването на софтуера. В този случай се предполага, че фирмата, която е написала софтуера евентуално е предпочитана при внедряването. Е това не винаги е така, но конкуренцията понякога е полезна и здравословна.
@MilenG: Начините за печелене са изумително много. Внедряване, поддръжка, техническа помощ, обучение, сертифициране, доразработване по поръчка… бедна ти е фантазията. 🙂 Аз от сума ти време си мечтая да направя български център за поддръжка на Дебиан, техническа помощ за него и обучение по него, само че все не ми стигат ресурсите.
@Григор Аз много бих се радвал на един такъв център.