Istnieje kilka projektów typu open source, które chciałbym włączyć do produktu w pracy. Nie mamy przepustowości ani wiedzy merytorycznej, aby zrobić to sami. Znalazłem je, wyszukując w Google. Nie znam żadnych „głównych graczy”, którzy wykorzystują projekty, ale jestem bardzo zachęcony tym, co widzę.
Teraz jestem trochę zaniepokojony ryzykiem, na jakie jestem narażony, korzystając z projektu open source Joe-Blow. Jeśli zajmie mi to 95% drogi, być może pozostałe 5% można łatwo dodać lub naprawić. Być może jest to nietrywialne.
Jak ludzie decydują o tym, czy projekt typu open source jest wystarczająco dojrzały, aby go użyć w produkcie?
To nie jest projekt hobbystyczny, więc stabilność, łatwość konserwacji itp. Są najważniejsze.
open-source
jglouie
źródło
źródło
Odpowiedzi:
Kryteria, które stosuję, pod warunkiem, że projekt spełnia moje wymagania:
4 i 5 tak naprawdę nie pomagają w niszowych projektach, które brzmią jak twoje.
Najważniejszą rzeczą jest to, czy spełnia twoje wymagania? Jeśli czujesz, że tak się dzieje, następną rzeczą jest zrobienie uprzęży do przetestowania projektu i sprawdzenie, czy możesz zrobić to, co chcesz. Daje to wyczucie interfejsu API (jeśli jest biblioteką) i sposobu działania.
Na koniec, jeśli istnieje coś open source, które robi 90% tego, co robisz, rozwidlaj je, dodaj dodatkową funkcjonalność i zwróć społeczności. Robiłem to wcześniej w projektach komercyjnych.
źródło
W przypadku małych bibliotek należy zawsze zakładać, że konieczne będzie rozwidlenie i że projekt jest już porzucony. Zwykle nie stanowi to problemu, szczególnie jeśli projekt jest hostowany na Github lub BitBucket, ponieważ sprawiają, że rozwiązywanie projektów innych ludzi jest głupio łatwe. W przypadku małych bibliotek zawsze możesz samodzielnie przejąć utrzymanie projektu, jeśli oryginalny opiekun zniknie lub jeśli planują obrać kierunek projektu w miejsca, do których nie chcesz iść.
Nie interesuję się aktywnością projektu, dojrzała biblioteka, która osiągnęła poczucie „doskonałości”, zwykle musiałaby tylko naprawiać błędy, więc ich aktywność spowolniła. Aktywność projektu jest ważna tylko wtedy, gdy biblioteka obejmuje cel, który aktywnie się rozwija, na przykład opakowanie usługi zewnętrznej musiałoby być stale aktualizowane w miarę ewolucji usługi zewnętrznej, więc aktywny rozwój jest niezbędny, ale biblioteka matematyczna nie potrzebowałaby wiele nowy program, gdy będzie miał wszystkie potrzebne funkcje.
W przypadku większych bibliotek sprawy stają się trudniejsze. Przejęcie jest znacznie bardziej zaangażowane, na szczęście większe biblioteki zwykle nie poruszają się tak szybko, ponieważ są na ogół bardziej dojrzałe.
Jak powiedział @Sam w swojej odpowiedzi, zgadzam się, że najważniejszą rzeczą w ocenie biblioteki open source jest to, jak bardzo pasuje ona do twoich wymagań. Po rozwiązaniu problemu z licencją rzadko korzysta się z biblioteki typu open source, ponieważ zawsze można rozwidlić, jeśli wszystko pójdzie na południe.
źródło
Sprawdź w narzędziu do śledzenia błędów projektu. Jeśli widzisz wiele zgłoszeń złożonych przez wiele różnych osób, a także odpowiedzi pochodzące od różnych osób, to dobry znak. Więcej zgłoszeń błędów == większa społeczność użytkowników == istnieje większe prawdopodobieństwo, że będziesz gotowy do użytku produkcyjnego.
źródło
Wiadomość nie jest dobra, ale to nie znaczy, że jest niepoprawna: nie wiesz.
Gdyby w produkcji były analogiczne implementacje, wiedziałbyś, że jest to wykonalne, ale jak powiedziałeś, żaden z głównych graczy nie korzysta z projektów.
Gdybyś rozwijał się w domu, to byś wiedział, ale jak powiedziałeś, nie masz zasobów.
Rozsądnie jest chcieć wiedzieć, ale ... nie wiesz.
Mam nadzieję, że ta odpowiedź pomoże, ponieważ powinieneś mieć plany awaryjne wyciągnięcia wtyczki z dowolnej technologii, na której polegasz, ale której nie kontrolujesz ... a wiedza, że nie wiesz, czy jest niezawodna, jest krokiem w tym kierunku.
źródło
Pytanie należy ująć inaczej. To, o co tak naprawdę pytasz, to skorzystanie z tego projektu typu open source, najlepszym sposobem na rozwój produktu?
To koniecznie obejmuje nie tylko omawiany projekt open source, ale także inne opcje. Jeśli jedyną inną opcją jest pisanie wszystkiego samemu, to lepiej korzystać z projektu, jeśli rozumiesz, że jest to wystarczający kod, aby go zmodyfikować.
Oczywiście powstaje drugie pytanie, czy Twój projekt jest w ogóle opłacalny. Tj. Musisz oszacować wysiłek, w tym wszelkie ryzyko związane z koniecznością naprawy lub uzupełnienia funkcjonalności, którą, jak masz nadzieję, zapewnia kod typu open source. Jeśli projekt nie jest powszechnie używany, będziesz musiał przejrzeć kod w tym celu.
źródło