Program na licencji GPLv3

0

Otóż napisałem program i chciałbym go wydać na licencji GPLv3. Poczytałem trochę na forach i czytałem sama licencje ale jest ona tak zagmatwana że chciałbym się was spytać czy dobrze wszystko zrozumiałem, oraz mam kilka pytań do tej licencji.
W programie umieszczam info na jakiej jest wydany licencji, oraz moje imię i nazwisko oraz odnośnik do "strony autora" na której umieszczę również kod programu. W program wbudowałem moduł sprawdzający czy jest to aktualna wersja w razie co wyświetla się stosowana informacja o możliwości pobrania nowej wersji ze strony autora. Czy ten moduł aktualizacji w takiej formie jest zgodny z licencją?
Program jest napisany w visual c++ 2008 czy na każdym pliku kodu źródłowego muszę zamieszczać informacje że jest na takiej i takiej licencji oraz imię i nazwisko autora czy wystarczy dodać jakieś ReadMe z tymi informacjami?
Do pliku z programem oczywiście dodaje cała treść licencji po angielsku w pliku txt.
Jeżeli napiszę nowa wersje programu to mogę bezpiecznie usunąć kod starej wersji z serwera i dać kod nowej wersji?
Jeżeli ktoś zmieni mój program i wprowadzi jakieś zmiany i mi się te zmiany spodobają i wprowadzę je do swojego programu tylko w innej formie to autorem tych zmian nadal jestem ja tak?
Korzystanie z NET Framework i standardowych bibliotek c++ nie stoi na przeszkodzie użycia tej licencji?

Pytania być może głupie no ale chce być pewien wszystkiego zanim spróbuje coś wydać.
Myślę, że nie jeden programista się zastanawiał nad licencją i wybrał GPLv3 dlatego mam nadzieje, że mi pomożecie ;)

0

GPL jest niezrozumiała, fakt. I w kilku miejscach jest tak niezrozumiała, że do dziś nie wiem jaka jest prawidłowa interpretacja. Dlatego poważnie zastanów się czy chcesz GPL i jakie to będzie miało konsekwencje. Rozważ też licencje bardziej liberalne, np. MIT.

W programie umieszczam info na jakiej jest wydany licencji, oraz moje imię i nazwisko oraz odnośnik do "strony autora" na której umieszczę również kod programu. W program wbudowałem moduł sprawdzający czy jest to aktualna wersja w razie co wyświetla się stosowana informacja o możliwości pobrania nowej wersji ze strony autora. Czy ten moduł aktualizacji w takiej formie jest zgodny z licencją?

Oczywiście, licencja nie mówi absolutnie nic, że program nie może się kontaktować ze stroną autora i sprawdzać aktualizacji. Jak się komuś nie będzie podobać, to weźmie i sobie skasuje.

Program jest napisany w visual c++ 2008 czy na każdym pliku kodu źródłowego muszę zamieszczać informacje że jest na takiej i takiej licencji oraz imię i nazwisko autora czy wystarczy dodać jakieś ReadMe z tymi informacjami?

Wiele aplikacji ma dodany krótki nagłówek o tym, że kod danego pliku jest na licencji GPL, który może mieć np. taką postać i jest umieszczony w każdym pliku źródłowym:

#region License
/**
 * Copyright © Marcin Badurowicz 2007-2008 <ktos at ktos dot info>
 * http://www.ktos.info
 * Version: $Revision: 1.7 $ 
 * 
 *  This file is part of Urania.
 * 
 *  Urania is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as 
 *  published by the Free Software Foundation; either version 3 of 
 *  the License, or (at your option) any later version.
 *
 *  Urania is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>
 * 
 */
#endregion

Umieszczenie takiego nagłówka w każdym pliku powoduje, że każdy plik jest wyraźnie objęty licencją. BTW, ten konkretny nagłówek zezwala na użycie wersji 3 lub jakiejkolwiek wersji późniejszej. Oczywiście, możesz zamiast tego dodać plik readme z informacjami i np. listą plików, aby dokładnie było widać które pliki są na tej licencji, ewentualnie zastosować krótki nagłówek tylko z odnośnikiem gdzie znajduje się licencja - spójrz na koniec licencji http://www.gnu.org/licenses/gpl.html

Do programu, zarówno w wersji binarnej, jak i źródłowej, powinna być dołączona pełna, angielska, wersja licencji GPL, w pliku np. o nazwie LICENSE lub COPYING.

Jeżeli napiszę nowa wersje programu to mogę bezpiecznie usunąć kod starej wersji z serwera i dać kod nowej wersji?

Tak. Ale może się znaleźć ktoś, kto poprosi o dostęp do starszych źródeł. Trzymanie starszych wersji nie jest dużym problemem, możesz je archiwizować.

Jeżeli ktoś zmieni mój program i wprowadzi jakieś zmiany i mi się te zmiany spodobają i wprowadzę je do swojego programu tylko w innej formie to autorem tych zmian nadal jestem ja tak?

Jeśli skopiujesz żywe kawałki kodu z "forka" swojego programu do swojego programu, to autorem tych zmian jest autor "forka". Dodaj go do odpowiednich Copyrightów. Jeśli natomiast tylko "inspirujesz" się zmianami, bez korzystania z kodu wersji zmodyfikowanej, w zasadzie ty jesteś nowym autorem zmian. Choć możesz np. umieścić podziękowanie w pliku readme.

Korzystanie z NET Framework i standardowych bibliotek c++ nie stoi na przeszkodzie użycia tej licencji?

Nie ma problemu.

Dodatkowo: "Gdy program jest interaktywny, zwykle dobrze jest zrobić go tak, by podczas uruchamiania się wyświetlał krótkie powiadomienie o prawach autorskich i zezwoleniu na kopiowanie." wzięte z http://www.gnu.org/licenses/gpl-howto.pl.html. http://www.gnu.org/licenses/gpl-howto.html - angielska wersja tego poradnika jest nieco lepsza.

0

Dziękuję za wyczerpującą wypowiedź, o to mi właśnie chodziło. ;) A co do typu licencji to już przestudiowałem kilka typów i jakoś GPL najbardziej mi odpowiada, tzn nie chce aby ktoś zarobił na tym co ja napiszę, jak ktoś zmieni w tym i udostępni to i tak musi być podane, że ja jestem jednym z autorów, a wymóg co do tego, że jak się zmieni na komercyjną to trzeba dawać w zestawie kod mi nie straszny bo jakoś nie mam zamiaru tego sprzedawać. Jestem początkującym programistą, bo co to jest ponad rok w zasadzie własnej nauki, bo co tam w technikum mogą nauczyć, dlatego jak już coś napiszę to chce aby te moje nazwisko widniało budując jakaś tam mizerna ale zawsze renomę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1