Jak poradzić sobie z rozwojem projektu open source?


11

Od roku lub dwóch pomagam w obsłudze projektu typu open source, a projekt zyskał dużą popularność od początku. Program widzi ponad 100 000 pobrań tygodniowo i jest używany przez ponad 60% osób w jego podstawowej dziedzinie, więc oczywiście jesteśmy zachwyceni, że ludzie tak bardzo korzystają z niego.

Problem polega jednak na tym, że baza rozwoju i wsparcia nie wzrosła tak szybko, a my zaczynamy odczuwać coraz większy ból. Niewielka garstka programistów (w szczególności główny programista) staje się dość cienka, a wolontariusze wsparcia technicznego zaczynają się wypalać.

Do tej pory była to po prostu grupa kolesi spędzających czas na IRC, pisząc ten program i pomagając użytkownikom. Nie ma organizacji 501 (c) (3) ani LLC ani nic podobnego.

W tej chwili nie mamy bardzo formalnego narzędzia do śledzenia błędów ani bazy danych problemów (mamy forum z kategorią poświęconą raportom błędów), co, przyznaję, jest czymś, co możemy poprawić, aby zwiększyć liczbę programistów na pokładzie. Ale przypuszczam, że moje prawdziwe pytanie brzmi: w jaki sposób można przejść od małego osobistego projektu do prawdziwej ... rzeczy? W jaki sposób duzi chłopcy, tacy jak GIMP, FFmpeg, Blender itp., Poradzili sobie z tym przejściem?

A poza tym, czy istnieje sposób zaoferowania rekompensaty w ramach projektu FOSS? Przypuszczam, że darowizny pomagają, ale to idzie tak daleko ... dziwne wydaje się zarabianie na wolnym oprogramowaniu, ale jeśli program będzie się poprawiał, nie rozumiem, jak możemy kontynuować bez wynagradzania ludzi do pracy w pełnym wymiarze godzin.

Zasadniczo odczuwamy coraz większy ból i czujemy się „zbyt duzi dla naszych brytyjczyków”. Co możemy zrobić, aby poradzić sobie z tym przejściem i nie poparzyć się w robienie zbyt wielu rzeczy naraz?


7
Po pierwsze, należy uruchomić odpowiedni moduł do śledzenia błędów. Żadne oprogramowanie typu open source nigdy nie przetrwa, chyba że zespół podstawowy jest bardzo dobry. Upewnij się również, że kierunek funkcji jest wyraźny i nie wkrada się na ciebie.
maniak zapadkowy

4
Jeśli nie masz nic przeciwko, żebym zapytał, jaki jest projekt?
Robert Harvey,

2
Waham się przed nazwaniem projektu, częściowo dlatego, że trochę przerażające jest wychodzenie tam i mówienie ludziom: „Hej, nie jesteśmy pewni, co robimy i potrzebujemy pomocy!” Poza tym nie chciałem, aby ten post odpadł jako reklama pomocy przy projekcie. Jestem jednak pewien, że ujawniłoby to trochę pobieżnego internetu. : /
Ben Torell

Odpowiedzi:


13

Etap, na którym znajduje się Twój projekt, jest naprawdę ekscytujący i kluczowy, bardzo łatwo jest go rozbić i wypalić (wypalić), ale można także podjąć kluczowe decyzje, które, jeśli wszystko zadziała, pomogą zapewnić długoterminową rentowność.

Oto pewne sugestie.

  • Przeczytaj wspaniałą książkę Karla Fogela Produkcja oprogramowania open source . Obejmuje większość najważniejszych bezpośrednich problemów. Chociaż nie zgadzam się ze wszystkim, co mówi, to tylko opinia. Całkowicie rozumie świat open source.

  • Jak powiedział @Ross Patterson, musisz absolutnie skonfigurować moduł śledzący i listę mailingową lub coś podobnego, aby uniknąć całkowitego chaosu. Czego używasz do kontroli wersji? Jeśli korzystasz z github, możesz zacząć od jego trackera lub zintegrować się z Jira lub czymś podobnym, a jeśli chcesz, możesz na razie przejść do SourceForge i skorzystać z darmowej infrastruktury. Nie mówisz, skąd ludzie pobierają pliki, ale chcesz mieć pewność, że skonfigurowałeś je w niezawodny sposób i przy dobrym liczeniu pobrań.

  • Nie ma powodu, dla którego nie można zarabiać na wolnym oprogramowaniu, jeśli tego właśnie chcesz, wiele osób to robi, ale przybiera wiele różnych form. Przed podjęciem poważnych decyzji organizacyjnych musisz zdecydować, jak chcesz to zrobić. Na przykład możesz i powinieneś prawdopodobnie założyć korporację, która będzie posiadać znak towarowy i prawa autorskie, które zapewnią również ochronę prawną, jeśli zajdzie taka potrzeba. Jednak wtedy będziesz potrzebował prezydenta lub skarbnika. Jaka powinna być organizacja (non-profit lub non-profit, LLC, spółdzielnia, partnerstwo) naprawdę zależy od twoich celów i powinna być omawiana z dobrym prawnikiem. Jeśli zostaniesz zaakceptowany przez Software Freedom Conservacy, pomogą ci to zrozumieć, a także pomogą w kwestiach księgowych i podatkowych itd. Istnieje również kilka innych inkubatorów FOSS, takich jakOprogramowanie w interesie publicznym . Myślę też, że Outercurve jest taką możliwością.

  • Pod względem tego, jak zarabiasz na życie, będzie to w dużej mierze zależeć od charakteru twojego projektu. Dlatego też nie od razu skoczyłbym do stwierdzenia, że ​​potrzebujesz 501c3 (a możesz go nie dostać ... zobacz projekt Yorba). Blender wspiera się głównie poprzez sprzedaż dokumentacji. Inne projekty mają ekosystemy małych firm i / lub otaczające je konsultacje, a programiści zarabiają na tym dzięki utrzymaniu. Inne projekty mają podwójne modele licencjonowania, więc sprzedają obsługiwane wersje (właśnie dlatego MySQL to zrobił i dlaczego można je sprzedać Sunowi i oczywiście istnieje RedHat) i mają osobne wydanie communty. Inne, takie jak WordPress, mają wersję hostowaną jako model biznesowy. Istnieją więc różne opcje i musisz dowiedzieć się, co ma sens dla Ciebie i Twojej społeczności.

  • Wybierz kogoś, kto będzie Twoim menedżerem społeczności, aby rozpocząć. I przeczytaj książkę Jono Bacona po ukończeniu Fogela.

  • Zdecyduj teraz na mapie drogowej, która ma sens dla twojego podstawowego zespołu; być realistami i nie być zastraszanym przez osoby, które nie wnoszą wkładu. Mapa drogowa to nie tylko plany techniczne i funkcje, ale także miejsce, w którym chcesz się udać jako projekt.

  • Nie wstydź się rozmawiać z innymi projektami, które podziwiasz lub które znajdują się w tej samej przestrzeni. Dowiedz się, co zadziałało, a co nie. Wystarczy wysłać e-mail. Możesz także wziąć udział w niektórych wydarzeniach ogólnych typu open source i porozmawiać z innymi projektami. Zasadniczo ludzie są bardzo pomocni.

Powodzenia, ekscytujące jest być na tym etapie.


Dzięki! Kod jest już hostowany na Github (tam również są wydawane wydania), ale tak naprawdę nie lubimy śledzenia problemów Github ... jeden z facetów w zespole ma doświadczenie z Mantis, więc myślę, że będziemy używać że. Słyszę również o mapie drogowej ... przynajmniej publiczna mapa drogowa będzie miła po prostu polecić użytkownikom, którzy domagają się określonych funkcji, abyśmy mogli powiedzieć im, kiedy takie funkcje pojawią się w stosunku do innych funkcji. Dzisiaj wieczorem zwiedzałem Outercurve i sprawdzę inne, a także książki. Dzięki za zachętę!
Ben Torell,

1
@ BenTorell Mówię każdemu, kto pyta: „Każdy narzędzie do śledzenia błędów jest do bani, jedynym pytaniem jest:„ Który z nich jest najmniej do bani w odniesieniu do twoich procesów? ”.
Ross Patterson,

Ross ma całkowitą rację. Naprawdę nie lubię trackera Githuba z wielu powodów, ale szczególnie z powodu braku prawdziwej listy ACL. Zgadzam się znaleźć taki, który pasuje do twoich procesów. Wielu trackerów nie działa tak dobrze w projektach prowadzonych przez wolontariuszy, ponieważ przyjmują oni wszelkiego rodzaju założenia, które mają sens w warunkach komercyjnych, nawet w używanym przez nich słownictwie. Oczywiście mówienie o tym, jakie są twoje procesy, jest dobrym ćwiczeniem. Nie próbuj używać modułu śledzącego, aby wprowadzać nierealistyczne zmiany w swoich procesach. Sprawy wyglądają zupełnie inaczej, kiedy wszyscy są wolontariuszami.
Elin,

3

Naprawdę dużych chłopców utworzone wszystkie mechanizmy wiedzieć o - biegają dużych farm serwerów, biegają (czasem zapisu) trackerów błędów i systemy budować, itd. Często mają one 501 (c) 3 fundamenty, że prawa autorskie, itd. Oni otrzymuj duże darowizny od firm, a firmy pożyczają programistom itp. Wiesz, DUŻE rzeczy.

Nie tak duzi chłopcy otrzymują wiele pomocy z innych źródeł. Na przykład program Software Freedom Conservancy pomoże umiarkowanie dużym projektom uzyskać właściwe podstawy prawne i ułatwi darowizny. Obecnie istnieje wiele opcji hostingu kodu i śledzenia błędów - do cholery, każdy może uzyskać witrynę GitHub. Przekonasz się również, że wiele małych i średnich firm programistycznych przekaże licencje na swoje zastrzeżone produkty w celu wsparcia zorganizowanych projektów Open Source - zwłaszcza gdy w jakiś sposób będą one zgodne z ich działalnością.


3
Nie staram się być pedantyczny i jestem w 100% pewien, że nie miałeś tego na myśli w negatywny sposób, ale tak naprawdę to nie pomaga w zwiększeniu uczestnictwa w open source w odniesieniu do ludzi zaangażowanych w chłopców. Po prostu coś do przemyślenia; Wiem, że ludzie używają tego wyrażenia.
Elin,

@Elin Odpowiadając tylko na zadane pytanie: „Jak duzi chłopcy, tacy jak GIMP, FFmpeg, Blender itp., Poradzili sobie z tym przejściem?”
Ross Patterson,

Och, i +1 w komentarzu - od czasu do czasu musimy przypominać. Ten biznes jest zdecydowanie zbyt męski.
Ross Patterson,

Dzięki i tak, nie zauważyłem tego odniesienia w oryginalnym poście.
Elin,

Tak, użyłem po prostu „dużych chłopców” jako zwrotu… Myślę, że nie myślałem o tym w ten sposób, ale wydaje mi się, że masz na myśli. Dzięki za radę! W tej chwili moim najwyższym priorytetem jest stworzenie prawdziwego narzędzia do śledzenia problemów, w którym autorzy mogą je przejrzeć i, mam nadzieję, wybrać problem do rozwiązania (w tej chwili mamy tylko brudną tablicę Trello). Jak powiedziałem @Elin, pochylam się w kierunku Mantis zamiast systemu spraw Githuba. Przypuszczam, że potrzebujemy czegoś w tym momencie.
Ben Torell,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.