zdawać sobie sprawę z licencją GPL z GNU Readline. W odpowiedziach ludzie wspomnieli o licencji GPL na readline GNU. W tej odpowiedzi chciałbym podkreślić konsekwencje licencji GPL - które nowi użytkownicy/programiści mogą przeoczyć.
wybór GPL jako licencji GNU readline za [edytuj] GNU readline jest wyróżnia będąc bezpłatną bibliotekę oprogramowania, który jest licencjonowany w ramach GNU General Public License (GPL) zamiast GNU Lesser General Public License (LGPL). Biblioteki wolnego oprogramowania często mają licencję w ramach LGPL, na przykład biblioteka GNU C, GNU gettext i FLTK.
deweloperem aplikacji, która zdecyduje się na link do LGPL licencjonowane biblioteki przy tworzeniu nowej aplikacji wymagane jest posiadanie licencjonowanej biblioteki LGPL których używa pozostają pod LGPL przy dystrybucji połączone wynikające aplikacji. Część połączonej aplikacji z wyłączeniem biblioteki objętej licencją LGPL może pozostać pod oryginalną licencją . [1] Jest to sprzeczne z tym, że programista wybrał opcję , korzystając z biblioteki licencjonowanej GPL, aby utworzyć nową aplikację. W takim przypadku cała połączona wynikowa aplikacja musi mieć licencję w ramach GPL, jeśli jest rozpowszechniana, zgodnie z sekcją 5 instrukcji . GPL. [2] [3]
Implikacje licencji GPL GNU readline za [edytuj] Ważnym przykładem wniosku zmieniającego jego licencji do przestrzegania copyleft warunki GNU readline jest clisp, implementacja Common Lisp. Pierwotnie wydany w 1987 r., Zmienił się na licencję GPL w 1992 r., [4] po wymianie e-mailowej między jednym z oryginalnych autorów CLISP, Bruno Haible, a Richardem Stallmanem, w którym Stallman przekonywał [5], że linkowanie readline w CLISP oznaczało, że Haible był zobowiązany do ponownego licencjonowania CLISP na licencji GPL, jeśli chciał rozpowszechniać implementację CLISP, która używała readline. [6]
alternatywnej biblioteki edycji wiersza poleceń, które są permissively licencją mogą być wykorzystywane przez projekty oprogramowania, które chcą wprowadzić do edycji wiersza poleceń funkcjonalność, ale chcą pozostać pod licencji pozwalającej. Typową z nich jest licencjonowana licencja BSD. Niektóre aplikacje, takie jak MariaDB [7] lub PHP [8], pozwalają użytkownikowi na wybrać w czasie kompilacji, czy połączyć z GNU Readline lub z libedit. Inne biblioteki do edycji wiersza poleceń mają podwójny cel: mają interfejsy API, które wyrównują niektóre z głównych projektów i mają zgodne warunki licencji zgodne z . Przykładem jest biblioteka Haskeline, , która udostępnia interfejs API zgodny z Haskell zarówno dla kompilatora Glasgow Haskell [9], jak i dla innych projektów Haskell, które wymagają edycji linii usług . [10]
Łącza do kilku takich bibliotek są wymienione w linkach zewnętrznych.
C++ nie ma refleksji. Musisz to obejść. – chris
Jeśli nie wiesz, jak to zrobić, nie powinieneś pisać aplikacji uruchamianych przez administratora ... – Barmar
@Barmar Hiperbolicznie jest powiedzieć, że ta aplikacja musi być uruchamiana przez su, i moreso powiedzieć komuś nie powinny pisać aplikacji uruchamianych przez superużytkowników ze względu na postrzegany poziom wiedzy specjalistycznej. –