Porównując projekty open source z oprogramowaniem komercyjnym, a nawet innymi projektami open source, jakie sytuacje wywołują czerwoną flagę i powodują, że naciskasz przycisk wysuwania i szukasz innego miejsca?
13
Otwarte źródło
Spójrz na stronę internetową projektu
Czyniąc to, weź pod uwagę następujące punkty ...
Upewnij się również, że zwróciłeś uwagę na licencję, na podstawie której oprogramowanie jest dystrybuowane. Niektóre mogą być nieodpowiednie dla twoich potrzeb.
Oprogramowanie firmowe
Nie mam tu zbyt wiele do powiedzenia poza ...
root
. Zwłaszcza jeśli będzie nasłuchiwał na porcie TCP / IP. * Patrząc na reputację dostawcyroot
dostępu, a więc produkt musi obsługiwać sudo . Każdy, kto twierdzi, że sudo
nie jest obsługiwany, jest po prostu rozsądny, ale oni są dostawcami i będą bądź tymi, którzy muszą cię wspierać - nie chcesz kupować produktu, a później każą ci powiedzieć „Nie, nie możesz używać sudo, musisz su do rootowania”.
Brak aktywności. Jeśli projekt nie wydał nowego kodu, pokaż wiele niezamkniętych błędów (lub bardzo starych błędów bez nowych błędów) lub fora użytkowników, które mają bardzo wysoki stosunek spamu do postów, to z pewnością zapach rozkładająca się baza kodu. Aktywne projekty mają regularne wydania, usuwanie błędów, co oznacza, że nowe otwarte nie wyprzedzają starych, a fora użytkowników z codzienną aktywnością. Wszystkie trzy są niezbędne do utrzymania kodu przy dobrym funkcjonowaniu - wypuszczenia, osłabienia oraz debugowania / refaktoryzacji, tworząc pełną pętlę.
Aktywność jest proporcjonalna do wielkości, złożoności i dojrzałości bazy kodowej. Im większy program / projekt, tym rzadsze są wydania punktowe, ale powinien istnieć spójny strumień wydań punktowych. W przypadku projektu takiego jak Samba, z dużą złożoną bazą kodu, spodziewaj się wydania punktów po około miesiącu. W przypadku projektu takiego jak gcc, który jest dojrzałą bazą kodu z bardziej konserwatywnymi celami projektowymi, wydania punktowe są dłuższe pomiędzy, ale większe. Szybko zmieniające się cele na bardzo małych ilościach kodu również wskazują na potencjalne problemy - być może deweloperzy wciąż walczą z błędami lub nie mają jeszcze wszystkich zakodowanych celów / funkcji.
Kod źródłowy musi być łatwo dostępny. Jeśli jest to prawdziwe oprogramowanie typu open source, nie powinno być żadnych magicznych uścisków dłoni, ofert voodoo ani inkantacji przy świecach, aby zobaczyć kod źródłowy. Nie ma znaczenia, czy jest dostępny za pośrednictwem CVS, SVN, Git, Mercurial, a nawet gołębia pocztowego, pod warunkiem, że możesz się do niego dostać bez umowy licencyjnej z zawijaniem. Jeśli podpiszesz zrzeczenie się, NDA lub zgodzisz się na jakiś program licencji, o którym nie słyszałeś, nie masz do czynienia z oprogramowaniem typu open source, masz do czynienia z dostawcą komercyjnym, który zgodził się otworzyć dla ciebie swoje źródło - za cenę .
źródło
Naprawdę jest ich mnóstwo.
Zwodnicze licencje - zbyt wiele rozwiązań próbuje mnie zepsuć i zepsuć na śmierć. Pakiet kosztuje X, ale jeśli chcesz reklamować opcje 1, 2 i 3, będzie to o 500-1500 USD więcej za opcję. Nie, dziękuję.
Nikt go nie używa - a przynajmniej Google nie może znaleźć nikogo, kto by o tym mówił. Jest albo nowy (w takim przypadku jesteś świnką morską), albo tak zły, że wszyscy wiedzą lepiej
Jest to podstawa kilku rozwidleń - jeśli coś rozwidlono wiele razy, prawdopodobnie jest to dobry powód, a jeden z rozwidleń prawdopodobnie rozwiązał problem lepiej niż źródło. Zbadaj je zamiast tego.
Konsekwentnie zły projekt interfejsu - nie chodzi mi tylko o GUI. Szalone, niezidentyfikowane lub błędnie oznaczone flagi lub opcje CLI doprowadzają mnie do szaleństwa
To nie działa - lub udaje, że sytuacja, którą należy rozwiązać, nie powinna (lub nie istnieje), a zatem nie rozwiązuje tego
źródło
Dodałbym również, że współczynnik rezygnacji z kodu jest stały i wykonywany przez wiele osób, nie tylko kilka. Nie chcesz, aby jedna osoba rozwijała kod w niepełnym wymiarze godzin, kiedy jest podekscytowany swoim projektem, a potem się nim nudzi i pozostawia społeczności wsparcie. Drupal i Joomla to dwa dobre przykłady.
źródło
Jeśli patrzysz na oprogramowanie dla swojej firmy, aby je sprzedać, zmienić, itp. Najważniejszym aspektem jest licencja. Patrząc na włączenie busyboksa do routerów WLAN i postępując zgodnie z działaniami prawnymi, firmy myślą „open source = rób co chcesz”.
Kilka innych rzeczy: szukam również daty ostatniej aktualizacji i aktywnej społeczności, więc forum, może inne strony, które mają oprogramowanie jako temat.
źródło
W systemie Linux sprawdziłbym, jakie oprogramowanie jest pakowane przez twoją dystrybucję. Pakowane oprogramowanie nie ogranicza się tylko do opensource / GPL - Ubuntu, Gentoo i SLES zawierają co najmniej oprogramowanie własnościowe na swoich listach pakietów. Chociaż nie ma gwarancji, że pakiety te będą działały tak skutecznie, jak podstawowe oprogramowanie w dystrybucji - ktoś zainwestował czas i wysiłek w przygotowanie pakietu.
źródło
Patrzyłbym głównie na dojrzałość i aktywność. Jeśli wydaje się być wystarczająco dojrzały i wydaje się, że istnieje spora ilość aktywności (na przykład aktywność na forum lub wiki), to mogę czuć się całkiem dobrze. Wiem wtedy, że istnieje duża szansa, że błędy zostaną rozwiązane i że mogę uzyskać pomoc w przypadku pojawiających się problemów. Wybrałbym aktywny projekt, który nie pasuje idealnie do moich potrzeb, zamiast projektu, który wydaje się być idealnym dopasowaniem, ale wydaje się martwy, każdego dnia tygodnia.
Jeśli chodzi o dojrzałość, to w dużej mierze zależy od zamierzonego zastosowania. Jeśli jest to coś, co muszę natychmiast wprowadzić w życie i nie można dopuścić do niepowodzenia lub problemów, dojrzałość będzie oczywiście bardzo ważnym czynnikiem. Jeśli mogę żyć z kilkoma dziwactwami i nie ma to większego znaczenia przy pewnym przestoju, wolałbym spojrzeć na przyszłe perspektywy.
źródło