V prejšnji članek ocenili smo, koliko lahko stane razvoj odprtokodnega projekta. Zdaj bomo videli, kje dobiti denar ali ljudem omogočiti, da opravijo delo brezplačno ali darovati vire
Pomembni dejavniki, ki jih je treba upoštevati pri iskanju modela financiranja
Pri izbiri modelov financiranja je treba upoštevati različne dejavnike:
Obresti
Prva stvar, ki jo je treba upoštevati, je zanimanje, ki ga projekt vzbuja. Verjetno nihče ni pripravljen prostovoljno prispevati k milijonskemu distributerju, ki temelji na Debianu, še manj pa plačati zanj, razen če ima posebnost, na primer Devuan, ki ne uporablja SystemD. Nasprotno pa LineageOS ali Ubuntu Touch (alternative Googlovemu Androidu imajo razumno raven podpore razvijalcev in sponzorjev.
Ko govorim o zanimanju, ne mislim samo na končnega uporabnika. Če ste si predstavljali veliko bolj nepregleden šifrirni sistem od tistih, ki so znani, se bodo družbe borile, ker sprejmete njihov denar.
Kompleksnost
Razvoj aplikacije, ki opravlja le eno stvar (na primer predvajanje glasbe), ni isto kot pisarniški paket z urejevalnikom besedil, ki vključuje več možnosti diagramiranja, predstavitev s stotinami animacij in preglednico z vsemi običajnimi matematičnimi formulami. In seveda lahko prebere in shrani najbolj priljubljene formate.
Obstajajo tudi aplikacije, kot je The Gimp, ki so ustvarjene za en sam namen (manipulacija s sliko), vendar, Zahtevajo poznavanje zelo posebnih matematičnih formul, ki vključujejo specializirano znanje.
platforma
Ker storitve v oblaku postajajo priljubljene, je to vprašanje, ki izgublja pomen, vendar je še vedno zelo v veljavi.
Aplikacija za izračun davka za Linux verjetno ne bo vzbudila velikega zanimanja razvijalcev prostovoljcev, ki želijo biti del projekta, kaj šele korporativnih ali prostovoljnih sponzorjev. Po drugi strani pa, če bi jo lahko imeli v primeru kakovostne igre, podobne reklamam.
Na enak način bo imela aplikacija za Android več možnosti kot ena za Ubuntu Touch.
Uporabniški vmesnik
Če boste razvijali aplikacijo za Linux, Windows in Mac, se boste morali odločiti, ali želite, da se uporabniški vmesnik zlije z ostalimi aplikacijami, ali da vsem različicam omogočite enak vmesnik. Če ga želite le za Linux, boste morali sprejeti enako odločitev za vsako namizje.
Če se odločite za ustvarjanje posebne aplikacije za namizje, boste imeli prednost, saj boste skrajšali čas razvoja, in če bo zanimivo, bo verjetno sprejeto kot del namizja in dobili boste več razvijalcev in financiranja.
Programski jezik
Za ustvarjanje projekta je veliko programskih jezikov. Nekateri, kot sta Python ali C ++, obstajajo že dolgo in imajo veliko skupnost razvijalcev, ki to dobro poznajo. Druge, kot sta Dart ali Go, so relativno nove, vendar so sodobnejše in se bolje prilagajajo trenutnim paradigmam razvoja aplikacij.
Sestavine projekta
Odvisno od izbranega programskega jezika in namena projekta boste lahko našli vrsto knjižnic, s katerimi je mogoče prihraniti čas, in izbor aplikacijskih programskih vmesnikov (API -jev), s katerimi je lažje razširiti funkcionalnosti z povezovanje z zunanjimi storitvami .. Na splošno so knjižnice (vsaj v odprtokodnih programskih jezikih) brezplačne, v primeru API -jev pa omejujejo njihovo brezplačno uporabo ali pa morate plačati znesek na uporabnika, ki uporablja aplikacijo.
Distribucijski kanal
Poleg upraviteljev paketov za distribucije Linuxa obstaja tudi možnost neposrednega prenosa, trgovine Snap in FlatPak ter paketi Appimage. Snap ponuja možnost vključitve plačil v aplikaciji, distribucije, kot je ElementaryOS, pa imajo trgovino z aplikacijami, kjer je mogoče prodajati programsko opremo. Uradna trgovina Android in iOS je pod vprašajem zaradi zlorabnih pogojev, ki jih postavljajo razvijalcem, po drugi strani pa Microsoft ponuja velikodušne pogoje za tiste, ki jih zanima ustvarjanje izdelkov za Windows 11.