Używanie gemów w projektach komercyjnych

Witam
Chciałem się zapytać już bardziej doświadczonych programistów jak to jest z gemami w projektach komercyjnych? Czy wykorzystywanie gemów jest oczywiste i na porządku dziennym, czy pracodawcy jednak wolą by programiści pisali własny kod? Chodzi mi tutaj np. o Devisa lub inne stale wykorzystywane gemy.

Tak, kazdy uzywa gemy w projektach komercyjnych (chyba wszystkie maja odpowiednie licencje ktore pozwalaja ci to robic za darmo). Nikt nie pisze calego kodu samodzielnie, nie ma powodu by kolo na nowo wynajdywac

1 Like

Jeśli w ogóle piszesz w Railsach, to już “z automatu” korzystasz z wielu różnych gemów - actionpack, activerecord, activesupport etc. Więc nie do końca ogarniam, dlaczego dla innych gemów miałoby być inaczej.

Ok dzięki za odpowiedź :slight_smile:

Zasady używania kodu/gema określa załączona licencja. Jesli licencji brak, to nie możesz wykorzystać gema. Jeśli licencja jest AGPL to będziesz musiał udostępnić kod całą aplikacji także na licencji AGPL.

Jeżeli nie zmieniasz kodu gemu, to nic nie musisz udostępniać. Jeżeli wykorzystujesz gem na licencji LGP to po prostu trzeba napisać w licencji że się korzysta z tego gemu i dołączyć licencję tego gemu, a jako że jego źródło jest ogólnie dostępne to ty nie musisz go ty dodatkowo udostępniać źródeł tego gemu.

Dodatkowo, jeżeli używasz gemów na licencji GPL lub podobnych, ale nie rozprowadzasz swojego oprogramowania z tymi gemami (ani nie ingerujesz w kod źródłowy tych gemów, ale z jednego wynika drugie) to też nie musisz rozprowadzać swojej pracy na licencji GPL. Jeżeli to użytkownik musi sobie sam zainstalować gem (np. przez bundle install) to ten gem nie jest integralną częścią twojego oprogramowania. Gdyby było inaczej, to nie można by było na Linuxie zainstalować żadnego innego oprogramowania niż na GPL2, bo skoro do pracy danego komercyjnego programu jest potrzebny kernel linuxa (na GPL2) to sam soft też musiałby być na tej licencji rozprowadzany (ale tak oczywiście nie jest).

Miałem na myśli AGPL.