Obecnie jestem studentem (Applied Information Technology) i większość naszego programowania wykonujemy w języku C # i Javie. Zastanawiałem się, jak mogę jako programista zarabiać na otwartym oprogramowaniu. Wiem, że istnieje historia udzielania wsparcia lub świadczenia usług, ale nie jestem administratorem i nie lubię pracy z administratorem. Tak naprawdę chciałbym w przyszłości zdobyć trochę C i C ++ i zająć się programowaniem na niskim poziomie.
Tak więc moje aktualne pytanie brzmi: czy można zarobić na rozwoju oprogramowania Open Source i jak?
Edycja: Wskazując, że rozpoczęcie własnego projektu Open Source nie jest wymagane.
linux
open-source
business
Haproli
źródło
źródło
Odpowiedzi:
Ta odpowiedź zawiera podsumowanie wielu odpowiedzi na następujące pytania wraz z dodatkowymi badaniami i opiniami.
Streszczenie
Open source może być realnym podstawowym lub pomocniczym modelem biznesowym, zarówno bezpośrednio poprzez konkretne prace projektowe, jak i pośrednio poprzez zdobycie umiejętności, doświadczenia i reputacji. Mogą być też dodatkowe motywacje; satysfakcja z produkowania oprogramowania, które jest przydatne dla innych, „drapanie się po swędzeniu” (pierwszy krok w kierunku każdego dobrego oprogramowania typu open source, według Erica S. Raymonda ) lub przyczyny filozoficzne , zwykle oparte na pojęciu wolne oprogramowanie , albo podejście copyleft zalecane przez Richarda Stallmana , albo bardziej liberalne podejście do licencji BSD .
Sposoby zarabiania pieniędzy za pośrednictwem Open Source
1. Sponsoring przez firmę
Może się to zdarzyć na kilka sposobów.
2. Dodaj wartość do istniejących projektów
Osoba fizyczna lub firma może stać się głównym dostawcą, który wnosi wartość do istniejącego projektu lub projektów typu open source. Istnieje wiele przykładów firm, które świadczą usługi poprzez pakowanie, nakładanie warstw, łączenie lub rozszerzanie istniejących projektów. Można je zasadniczo podzielić na dwie kategorie.
3. Kod oferty w modelu podwójnego licencjonowania
Potężnym podejściem jest oferowanie oprogramowania na dwóch alternatywnych licencjach , licencji typu copyleft wymagającej wydania modyfikacji społeczności, jeśli oprogramowanie jest dystrybuowane, oraz licencji komercyjnej pozwalającej na korzystanie z oprogramowania bez ograniczeń typu open source. Podejście to zostało z powodzeniem zastosowane w dużych projektach, takich jak Qt i Open Office , a także w małych projektach jednorazowych .
4. Skonsultuj się
Praca typu open source może zapewnić sposób na uzyskanie cennej widoczności społeczności.
5. Kanały pomocnicze
Wreszcie dochód można uzyskać za pośrednictwem kanałów pomocniczych, takich jak reklama (podobnie jak Stackoverflow ), darowizny lub zastosowanie technik nagware w samym oprogramowaniu, których celem jest zirytowanie użytkownika wkładem finansowym autora. Te techniki nie są specyficzne dla modeli programistycznych Open Source. Na przykład są często używane przez niewolne produkty shareware .
źródło
Ponieważ jesteś twórcą tego systemu, jesteś „najlepszym ekspertem”. Firmy nastawione na zysk, które używają lub chcą korzystać z twojego oprogramowania, mogą przywieźć cię do pracy konsultacyjnej. Poza tym kwalifikujesz się do przemawiania na konwencjach, które według mnie są dobrze płatne.
Przekazywanie kodu do istniejącego projektu jest również dobrym sposobem na zdobycie tam swojego nazwiska. Im więcej wnosisz, tym większe masz zaufanie, kiedy szukasz pracy kontraktowej.
źródło
Oto przykład.
Jeśli kręcisz się w społeczności Qmail, zauważysz, że kilka osób zna Qmail na wylot. Tylko kilka z nich staje się zwykłymi facetami, jeśli chcesz rozszerzyć funkcjonalność Qmaila. Dostają umowy o pracę, które polegają na tym, że siedzą w domu, piszą rozszerzenie Qmail i otrzymują za to wynagrodzenie.
Jeśli to brzmi jak styl życia, na który można pójść, wypróbuj go - znajdź niszę i podejmij umowę o pracę. Możesz zaoferować swoim klientom różne warunki, w zależności od tego, czy chcą oni posiadać kod, który produkujesz w wersji z zamkniętym kodem źródłowym, czy też udostępniasz kod jako open source, ale mogą go użyć.
Pomyśl o tym w ten sposób - istnieje wiele sytuacji, w których klient po prostu chce, aby ten kod istniał . Nie obchodzi ich, czy mają do nich wyłączny dostęp.
źródło
Z mojego doświadczenia wynika, że pisanie OSS nie daje żadnych pieniędzy; ale sprawia, że jesteś o wiele bardziej wartościowy, a zatem przydatny do pracy. Zarówno ze względu na dobrze dostrojone umiejętności, które uzyskujesz podczas treningu, jak i dlatego, że kiedy jesteś w stanie korzystać z istniejącego OSS, Twoja znajomość ekosystemu pozwala tracić znacznie mniej czasu na ocenę tego, co już jest, aby uniknąć przepisywania koła.
źródło
Przez większość czasu firmy zarabiają na modelu pszczelarstwa . Zasadniczo, twoi współautorzy open source mogą korzystać z najnowszych i najlepszych za darmo, podczas gdy klienci otrzymują niezawodny, dojrzały produkt. Red Hat, Novell i Sun używają odmian tego modelu.
Inną opcją są konsultacje i szkolenia. Jeśli masz duże doświadczenie w korzystaniu z określonego produktu (lub jeszcze lepiej, że go wymyśliłeś), ludzie mogą chcieć zapłacić ci pieniądze, aby nauczyć ich korzystania z niego. Jest to model używany przez firmę Canonical. To niekoniecznie oznacza, że musisz wykonywać pracę typu sysadmin, chyba że to twoja sprawa. W końcu programiści, użytkownicy końcowi i kadra kierownicza również potrzebują szkolenia.
Po trzecie, jako student powinieneś poważnie rozważyć Google Summer of Code przyszłego lata.
Ogólnie rzecz biorąc, powiedziałbym, że wkłady typu open source są tego warte, niezależnie od tego, czy bezpośrednio zarabiasz na nich pieniądze. Obawiam się jednak, że prawdopodobnie nie zauważysz korzyści w krótkim okresie.
źródło
To naprawdę zależy. Wielu po prostu zajmuje się tworzeniem oprogramowania typu open source jako hobby i ma codzienną pracę (co często jest, choć nie zawsze, także rozwojem oprogramowania).
Niektóre są opłacane przez firmy zainteresowane projektem open source. LWN.net opublikował artykuł o tym, kto płaci deweloperom jądra Linuksa, na przykład:
http://lwn.net/Articles/222773/
Okazuje się, że wiele firm finansuje rozwój jądra Linuksa, a nie tylko dystrybutorów Linuksa.
Niektórzy programiści prowadzą również działalność doradczą i wykorzystują opracowywanie oprogramowania do wspierania swojej głównej pracy lub jako wizytówkę.
źródło
istnieje kilka różnych sposobów
a potem największe, które, jak sądzę, poszerzają swoją wiedzę i czerpią miłość z użytkowników ich produktów.
źródło
Utwórz witrynę internetową dotyczącą produktu typu open source (swojej aplikacji, forum, witryny pomocy technicznej itp.) I umieść tam reklamy.
To by załatwiło sprawę.
źródło
Nieumyślnie zarobiłem pieniądze dzięki oprogramowaniu open source, podobnie jak przyjaciel. Mieliśmy podobne przypadki, ale opowiem tylko o swoich: napisałem dekoder VCDiff typu open source, głównie dlatego, że specyfikacja wyglądała ładnie. (Długa historia, ale pierwotnie zamierzałem napisać ją w czasie firmy, ale skończyłem na tym w piątek wieczorem).
Kilka lat później skontaktowała się ze mną firma, która chciała użyć go w pakiecie komercyjnym, ale bez wymaganej atrybucji. Z przyjemnością uiścili za to opłatę licencyjną i przedstawili mi wyjątkowo rozsądną niewyłączną licencję. Zawarliśmy umowę i obie strony były zadowolone.
Celem nigdy nie było zarabianie pieniędzy - stało się to po prostu efektem ubocznym wytworzenia czegoś, czego zasadniczo inna partia chciała.
źródło
Myślę, że częstym scenariuszem jest to, że oni również opłacali pracę. Wiele prac open source pochodzi z wolnego czasu programistów i elementów ich płatnej pracy.
Przykładem może być stworzenie rozwiązania w celu rozwiązania konkretnego problemu w pracy i otwarcie rozwiązania, aby pomóc innym programistom w obliczu podobnego scenariusza.
źródło
Samo opracowanie projektu oprogramowania typu open source prawdopodobnie nie przyniesie ci dużo pieniędzy. Zapewnienie wsparcia premium, dostosowań itp. Może. Zrobię całkiem spore zmiany, opracowując rozszerzenia i niestandardowe kompilacje Firefoksa, Thunderbirda, Red5 i kilku innych projektów open source. Duża część tego, co tworzę, jest również udostępniana społeczności open source.
Istnieje również możliwość podwójnego systemu licencjonowania. Na przykład możesz wydać oprogramowanie na licencji typu GPL, a także na licencji komercyjnej, gdzie ktoś, kto kupi licencję komercyjną, może zachować wszelkie modyfikacje zastrzeżone i sprzedawać je bez wydawania kodu źródłowego.
źródło
Jeśli naprawdę chcesz zarabiać, tworząc własny projekt open source, myślę, że jest to dość długa szansa. Z drugiej strony istnieje wiele dobrze płatnych zleceń, które wymagają pracy z technologiami typu open source lub opracowania oprogramowania typu open source w firmach takich jak Red Hat, Sun, IBM, a nawet Microsoft.
źródło
Odpowiedź na twoje aktualne pytanie
Tak, i są różne sposoby. Jeśli chcesz zostać programistą, tj. Nie zakładać własnego biznesu, najlepiej zacząć od uczestnictwa w projektach, które lubisz. Następnie możesz znaleźć takie możliwości: http://webapps.ubuntu.com/employment/canonical_GDOS/ (istnieje wiele takich w różnych dziedzinach, MySQL, żeby wspomnieć o innej „dużej” nazwie).
Następnie utwórz profil na LinkedIn i dołącz do grup OSS odpowiadających Twoim umiejętnościom i / lub zainteresowaniom.
Na koniec dołącz do lokalnej grupy (np. LUG, JUG) i przeczytaj listę mailingową. Często na tych listach pojawia się wiele ofert pracy (niestety odkryłem dopiero po otrzymaniu pracy).
źródło
Niektóre firmy produkujące oprogramowanie open source świadczą usługi i zarabiają pieniądze. (Podobnie jak hosting aplikacji itp.) W większości przypadków zapewniają pewne dostosowania zgodnie z wymaganiami klienta oraz zapewniają wsparcie i konserwację w miarę upływu czasu.
Nie sądzę, że „darowizny” mogą dokonać znacznej zmiany, ale mają one również pewien wpływ.
To dobry przykład dla firmy ze Sri Lanki, która opiera się na produktach typu open source.
WSO2
źródło
Istnieją dwie odnoszące sukcesy, rentowne firmy open source, które znam dość dobrze:
Oprogramowanie SleepyCat, dopóki nie zostały zakupione przez Oracle, zarabiało, wspierając i ulepszając Berkeley DB. Chociaż jeden z założycieli miał pracę dzienną, drugi nie, i mieli kilkunastu pracowników.
Chez Scheme zarabia, dodając ulepszenia do swojego kompilatora i sprzedając wersje swojego kompilatora z kodem macierzystym. Typowe ulepszenia mogą obejmować nowe zaplecze; ostatnio bardziej ambitnym ulepszeniem był pakiet wątków natywnych. Założyciel (Kent Dybvig) ma codzienną pracę; Nie wiem, ilu ma pracowników. Chez jest niezwykły, ponieważ interpreter jest oprogramowaniem typu open source, ale kompilator nie.
Cygnus i Red Hat zarówno sprzedają „wsparcie”, jak i wyspecjalizowane wersje swojego oprogramowania, ale oprogramowanie jest również rozdawane. Naprawdę nie rozumiem tego modelu biznesowego.
Biorę pod uwagę te przykłady, że jeśli twoje oprogramowanie jest wyjątkowe w swojej klasie, ludzie zapłacą ci za pomoc w rozwiązaniu problemów . To prawie jak doradztwo.
źródło
Z natury nie można generować pieniędzy bezpośrednio z kodu - ponieważ jest on otwarty. Możesz mieć podwójną licencję, ale może to również zniechęcić społeczność OSS.
Prawdopodobnie najłatwiej jest pracować dla firmy, która produkuje oprogramowanie open source. Otrzymujesz wynagrodzenie za pisanie kodu, a firma zarabia na wsparciu lub czymkolwiek, ale nie musisz bezpośrednio angażować się w tę stronę.
Lub możesz napisać OSS, aby zbudować przedstawiciela i mam nadzieję, że dostaniesz pracę kontraktową / pełnoetatową na odwrocie.
źródło
Możesz to zrobić na kilka sposobów. W tej chwili model freemium jest popularny.
Alternatywnie, ponieważ inni opublikowali, praca open source jest odsunięta na bok. Model, którego używam, to korzystanie z otwartego oprogramowania w moim miejscu pracy i przekazywanie moich wkładów z powrotem do głównej linii. Musisz mieć wpisowe od zarządu, ale to działa. Pamiętaj także w słowach Stallman Free jak we Freedom
źródło
Myślę, że do tej pory faktem jest, że zainstalowane oprogramowanie staje się warte więcej niż jego cena, ponieważ stało się „już tam”. Mówię o aplikacjach bardziej korporacyjnych.
Wiele firm pobiera opłaty przy zakupie oprogramowania, a następnie trzymaj nogę przy drzwiach z umowami serwisowymi, kończąc zarabianie od ciebie więcej $$, niż gdybyś kupił to 7 razy. Wiem, że z pewnością tak jest w przypadku pracy z jakimś zastrzeżonym oprogramowaniem, które ma> 30 lat!
Zdarza się tak, że to oprogramowanie można zainstalować za darmo (pomyśl o nim jako o modelu biznesowym „początkowo darmowych narkotyków”). Wyzwaniem jest oczywiście wybór projektu, który jest dobrze utrzymany i ma dobrą społeczność wsparcia online. Ale z drugiej strony to samo dotyczy niewolnego oprogramowania.
Migracja do Open Source i poza nim jest zwykle znacznie łatwiejsza niż aplikacje zastrzeżone, ponieważ częściej obsługują otwarte formaty. Zastrzeżone aplikacje zazwyczaj „rozdają” usługę migracji na nie oraz inne usługi, aby ułatwić Ci pozostanie z nimi.
Aplikacje O / S mają na początku wyższą krzywą uczenia się, co prawie wymaga umów serwisowych, więc istnieje wiele okazji do uzyskania $$
Moim zdaniem żaden model biznesowy nie jest lepszy, tylko inny. Zastrzeżony model jest po prostu bardziej rozpowszechniony.
źródło
Widzę tutaj dwa pytania:
1) W jaki sposób programiści zarabiają pieniądze.
Większość programistów nie robi tego dla pieniędzy. Powodów może być wiele, ale jeśli je zawęzimy, sprowadza się to do 1) Drapania się w swędzeniu 2) W celu uzyskania wiarygodności 3) Aby zwiększyć wiedzę w tym konkretnym języku / domenie.
2) Jak biznes zarabia.
Zwykle od wsparcia, szkolenia, certyfikacji i ulepszeń. Ale pojawia się pytanie: jeśli twój produkt jest naprawdę dobry, to nie będzie wymagał dużego wsparcia. Więc to musi być to, co Joel nazywa Consultingware .
źródło
W dzisiejszych czasach niektóre (dużo?) Firmy płacą programistom za wkład w oprogramowanie opensource, ponieważ ich działalność opiera się na oprogramowaniu opensource lub pochodzi z oprogramowania opensource.
źródło