michzimny / aktywator

Sterowanie pierniczkami Bridgemate II
GNU General Public License v2.0
1 stars 1 forks source link

GPL a zawartość README/Aktywator.txt i Mysql.data.dll #44

Closed emkael closed 6 years ago

emkael commented 6 years ago

Program jest dystrybuowany na GPL. Problem łatwy - czy to nie oznacza, że wraz z binarną postacią programu muszą być dystrybuowane jego źródła (choćby w formie linku do tego repozytorium) albo przynajmniej deklaracja ich dostarczenia?

I problem trudniejszy - w paczkach dołączamy Mysql.data.dll. Czy to jest zgodne z GPL? Z tego, co udało mi się wyczytać [1] [2] - samo używanie zamkniętej(?*) DLLki nie jest naruszeniem GPL, o ile taka DLLka jest tzw. "System Library", co w przypadku Mysql.data.dll raczej ma miejsce. Ale dystrybucja tej DLLki to zupełnie inna para butów, bo wyjątek dla "System Library" jest pomyślany w ten sposób, że kod może nie dystrybuować źródeł biblioteki, z której korzysta, a którą końcowy użytkownik jest w stanie łatwo zainstalować, zachowując (do)wolność instalacji tej biblioteki.

* w końcu - czy ta DLLka nie pochodzi aby z: https://dev.mysql.com/downloads/connector/net/, dystrybuowanego na GPL i nie wystarczy jedynie odnośnik w sekcji "Licencja" w README?

michzimny commented 6 years ago

Problem łatwy - zmieńmy licencję. MIT?

To drugie - nie wiem. Czy jak zmienimy licencję, to problem nr 2 jakoś się zmienia?

emkael commented 6 years ago

Jeśli zmienimy licencję, to problem nr 2 robi się poważniejszy, jeśli Mysql.data.dll jest faktycznie objęta GPL.
W ogóle, jeśli tak jest (czyli: jeśli dystrybuujemy jakikolwiek komponent na GPL, która nie jest GPLv3 - a licencja MySQL to "zwykły" GPLv2), to program musimy dystrybuować na GPL.

W ogóle zmiana licencji całości programu na luźniejszą licencję (a MIT jest najluźniejszą z wyjątkiem wypuszczenia kodu do domeny publicznej) jest problematyczne. Zdroworozsądkowo - mając czyjś kod na jakiejś restrykcyjnej licencji, nie można dystrybuować go dalej na luźniejszej licencji, bo to narusza prawa pierwotnego autora. W drugą stronę nie ma problemu: tak jak jest np. teraz z kodem z BCDD dołączonym do Aktywatora - ja mogę wciąż swobodnie dystrybuować kod BCDD na BSD-2, a kod BCDD, który jest częścią Aktywatora, może być dystrybuowany z Aktywatorem na bardziej restrykcyjnej GPL i nikt nie jest ograniczony przez inną licencję.

Jestem prawie pewien, że Mysql.data.dll to jest część tej paczki, do której linkowałem, więc jest na GPLv2.

Proponuję:

To powinno załatwić sprawę - jeśli nie masz uwag, to wrzucę pull request.
(Z dokładnością do tego, że w teorii licencja powinna być w każdym osobnym pliku źródłowym, ale nie przypominam sobie, kiedy ostatnio widziałem projekt podobnej skali, który by to robił.)