Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy to prawda ze MySql ma licencje ktora nie pozwala na uzywanie jej w komercyjncych aplikacjach?
Forum PHP.pl > Inne > Hydepark
michat34
Witam no wiec przegladaja neta przypadkowo wpadlem na strone 'Co jest lepsze MySQL czy PgSQL'. Jako ze uwielbiam tego typu tematy to zaczalem sobie czytac. No i ktorys zwolenniki postgresa gdzies rzucil ze mySQL jest zle bo cos tam costam oraz licencja nie pozwala na uzywanie jej w komercyjnych aplikacjach. Czy to prawda? Czy to znaczy ze jak napisalem strone www w oparaciu o mysqla to musze ja teraz przepisac na pg lub sqllite?
-=Peter=-
Nie, to nie prawda. Mysql ma darmową edycję która jest w pełni funkcjonalna, ba jest ona open source na licencji GPL, tak więc są różne darmowe wydania mysql. Są również edycje płatne, które zawierają dodatkowe funkcjonalności oraz support.
Damonsson
Zdaje się, że chodzi o to, że nie można odsprzedawać samej bazy danych, czy coś takiego. Ale już jako część projektu owszem. Też o tym słyszałem coś, ale nie pamiętam jak to było.


Post w stylu, nie znam się wypowiem się. Ale chodzi o to, że też jestem ciekaw, bo gdzieś mi się to obiło o uszy.
!*!
Skoro jest na GPL to cała aplikacja też musi być na GPL.

Cytat(wiki)
MySQL jest dostępny na licencji GPL, jednakże można nabyć również wersje licencjonowane komercyjnie. Biblioteki klienckie są również dostępne na licencji GPL lub komercyjnej. Istnieje wymóg nabycia licencji komercyjnej jeśli zamierzamy dystrybuować aplikację komercyjną (niezgodną z licencją GPL), wraz ze zintegrowaną bazą MySQL.


I to się gryzie z licjencją GPL, tak samo na ichniejszej stronie.
Aha i nie zaznaczyłeś czy aplikacja korzysta z MySQL czy tylko umożliwia połączenie z nią.
-=Peter=-
Cytat
Skoro jest na GPL to cała aplikacja też musi być na GPL.


To nie tak działa. Jeśli nie ma połączenia twojego projektu z mysql na poziomie kodu źródłowego, to ten projekt nie musi mieć licencji GPL. W webaplikacjach takie połączenie nie jest konieczne, baza danych mysql działa jako osobna usługa (często na innym serwerze), z której korzysta się poprzez sterownik*. Nie kompilujesz mysqla wraz ze swoją aplikacją, aby dostać jedną aplikację z wbudowaną bazą danych. Taka sytuacja może mieć miejsce, jeśli tworzysz np. aplikację okienkową. Kompilujesz swoją aplikację wraz z mysql, tak aby dostać jeden program wynikowy, który będzie miał budowaną bazę danych. Wtedy taki program musisz upublicznić na licencji GPL lub wykupić komercyjną licencję.

* jeśli ten sterownik z którego korzystarz jest na licencji GPL, to swój projekt również musisz udostępnić na GPL, bo bezpośrednio wywołujesz jego api (połączenie na poziomie kodu źródłowego). Jednakże phpowy sterownik do mysql nie jest na GPL tylko na licencji bodajże takiej samej jak php.
!*!
-=Peter=- dlatego napisałem że jest to kolizyjne. Zakładając że mam aplikacje komercyjną (web), która łączy się poprzez sterownik i w raz z nią, zrobię np. promocję na tani hosting na którym jest mysql, to wtedy jest już to integracja produktu A z produktem B, nie ma znaczenia w jakiej formie dołączę bazę (nawet jeśli hosting nie jest mój). Taką informację otrzymałem od prawnika (i najlepiej jak autor też się skontaktuje).
Dlatego można to "obejść" umożliwiając aplikacji łączenie się z innymi bazami danych i zrzucając odpowiedzialność na użytkownika w licencji przy instalacji, wtedy za mysql odpowiada dostawca hostingu, użytkownik a nie producent.

http://www.mysql.com/about/legal/licensing/index.html
michat34
panowie czy to oznacza ze jezeli mam plik ktory pobiera z bazy danych tematy i komentarze do nich i je wyswietla, w bazie mam dane uzytkownikow i milion innych rzeczy to projekt mam robic na licencji GPL?
Damonsson
Jeżeli dobrze sprzedasz produkt/usługę to nie. Jeżeli źle, to teoretycznie tak. Wg mnie.
redeemer
To że MySQL Community Edition jest na GPL nie oznacza, że kod/program/strona korzystający z tej bazy też musi być na takiej licencji. Idąc tym tokiem rozumowania to całe oprogramowanie pisane pod system Linux musiałoby mieć licencję zgodną z jądrem (GPLv2). http://gnu.org.pl/text/licencja-gnu.html
!*!
Cytat(redeemer @ 5.12.2012, 19:06:30 ) *
Idąc tym tokiem rozumowania to całe oprogramowanie pisane pod system Linux musiałoby mieć licencję zgodną z jądrem (GPLv2).


I tak jest, ponieważ GPL jest wirusowe, przykład jądra systemu linux jest inny, ponieważ Torvalds zaznaczył iż GPL obejmuje tylko samo jądro systemu, a nie tzw. dzieła/moduły pochodne (dlatego canonical moze mieć w ubuntu unity, które ma zamknięty kod).
GPL nie daje żadnego kompromisu i wszystko co jest nią objęte, również musi być na tej samej licencji jeśli spełnia założenia, a autor tego nie zastrzegł. LGPL jest już w tym wypadku lepsza, ponieważ pozwala na łączenie licencji.

Wniosek? GPL jest restrykcyjne, ale i tak w 100% nikt tego nie przestrzega. Lepiej zapytać prawnika i mieć jego odpowiedź na piśmie w razie czego.
JohnnyB
jest kilka możliwości:
1) sprzedajesz program z zamkniętym kodem, który korzysta tylko z mysql-a - musisz mieć licencję komercyjną
2) sprzedajesz program z zamkniętym kodem, w którym jest możliwość wybrania silnika DB - teoretycznie odpowiedzialność za DB można wtedy przerzucić na użytkownika
3) nie sprzedajesz programu, ale samą usługę działająca przez www, która działa na Twoim serwerze i korzysta z mysql-a - nie ma problemu, zawsze możesz powiedzieć, że program jest GPL smile.gif
everth
Pewne zastrzeżenie co do punktu 2:
Nawet jeśli program umożliwia wybór to wydaje mi się że i tak musi być linkowany na etapie kompilacji do odpowiednich bibliotek, jeśli są one na GPL to naruszasz licencje. Nie ma znaczenia czy użytkownik ich użyje czy nie. Chyba że tobie chodzi o kilka wersji tego samego produktu z różnymi DB - wtedy masz rację.

Co do aplikacji webowych - kod nie jest linkowany w żaden sposób do MySQLa (w przypadku standardowego PHPa). Używasz sterownika bazy który jest zlinkowany/skompilowany na poziomie interpretera który z kolei jest na czystym GPLu. Tutaj według mnie nie dochodzi do żadnego naruszenia GPL - używaj bez obaw.
abort
Twierdzenie, że "skoro wykorzystujemy mysql, który jest na licencji GPL, to i swoją pracę musimy udostępniać na GPL" jest z gruntu błędne. Wyobraźmy sobie sytuację, że piszemy naszą aplikację z użyciem PHP i MySQL. Licencja PHP jest GPL, MySQL też można dostać na takiej licencji. No ale trzeba mieć jakiś system operacyjny, bo bez systemu to nie zadziała - i dochodzimy do sytuacji, w której klient mając system komercyjny musi zapłacić (wbrew licencji) za php i mysql, a posiadacz Debiana (pełna nazwa: Debian GNU/Linux) dostanie ten sam kawałek softu za darmo. Sprzeczność? Jaskrawa i oczywista.
Z drugiej strony, gdyby to miało działać w drugą stronę, to instalując w systemie PHP i MySQL musiałbyś dostać system ZAWSZE za darmo. Nawet jeśli to będzie Windows. No to kto chętny do przekonywania prawników z MS o swoich poglądach?

Sprawa jest prosta: pisząc aplikację wykorzystującą "gotowe klocki" typu system operacyjny (linux/windows), apache, php czy mysql mamy do czynienia z sytuacją, w której NIE DOKONUJEMY MODYFIKACJI KODU tychże "klocków". W związku z tym w żaden sposób nie narażamy się na możliwość złamania licencji, i klocki te możemy je wykorzystywać w projekcie zgodnie z licencjami, z którymi te kawałki "nabyliśmy" (np. mysql na licencji komercyjnej, bo jest też taka)

Zresztą, co tu dużo gadać, wystarczy poczytać Często zadawane pytania na temat GNU GPL, a w szczególności polecam się wczytać (DOKŁADNIE) w odpowiedzi na pytania:
- "Czy mogę korzystać z edytorów objętych GPL do pisania programów, które nie są wolne? Czy do ich kompilacji mogę wykorzystywać narzędzia objęte GPL, takie jak GCC?"
- "Czy jest jakiś sposób, w jaki mogę objąć przez GPL wyniki, uzyskiwane z mojego programu? Na przykład, jeśli program służy do opracowywania projektów sprzętu, to czy mogę wymagać, by te projekty musiały być wolne?" (w drugą stronę też to działa identycznie!)
- "Czy jeśli interpreter jakiegoś języka programowania jest wydany na GPL, to programy napisane do interpretowania przez niego muszą być na licencji zgodnej z GPL?" - niemal dokładnie ten przypadek, o który nam chodzi: PHP jest GPL, ale kod PHP nie musi być GPL! To samo z MySQL...
- "Chciałbym do swego prawnie zastrzeżonego systemu wcielić oprogramowanie objęte GPL. Czy mogę to zrobić?" - tu w drugim akapicie jest clou tego, o co nam chodzi.
- "Czy jeśli przeniosę swój program na platformę GNU/Linux, to znaczy że muszę wydać go jako Wolne Oprogramowanie na GPL czy jakiejś innej licencji Wolnego Oprogramowania?"

W odpowiedzi na ostatnie pytanie jest napisane wprost, dlaczego redeemer ma rację, twierdząc przekornie, że "Idąc tym tokiem rozumowania to całe oprogramowanie pisane pod system Linux musiałoby mieć licencję zgodną z jądrem (GPLv2).". A kolega !*! mógłby poczytać licencję i samodzielnie wysnuć odpowiednie wnioski, bo myli się w tym wątku tak bardzo, że aż szkoda mi te teksty komentować. BTW, sugeruję skonfrontować to z innym prawnikiem, najlepiej ukierunkowanym informatycznie - ze swojej strony polecam vagla.pl - może coś znajdziesz na jego blogu na ten temat, a jak nie, to na pewno znajdziesz kontakt, kopsnij mu maila.


-=Peter=-
Cytat
Licencja PHP jest GPL


Cytat
PHP jest GPL


PHP nie jest na licencji GPL, od wersji PHP4 włącznie (czyli dość dawno temu) licencja została zmieniona: http://php.net/license/
!*!
abort - a widzisz różnicę między GPL, a LGPL? Podałeś przykłady których sam do końca nie rozumiesz.

Cytat
Czy jeśli przeniosę swój program na platformę GNU/Linux, to znaczy że muszę wydać go jako Wolne Oprogramowanie na GPL czy jakiejś innej licencji Wolnego Oprogramowania?
Ogólnie rzecz biorąc, odpowiedź brzmi: nie ? nie jest to prawnie wymagane. W konkretnym przypadku odpowiedź zależy od tego, z jakich bibliotek skorzystać i jakie są ich licencje. Większość bibliotek systemowych używa albo GNU Lesser GPL, albo GNU GPL z dodanym wyjątkiem zezwalającym na łączenie tej biblioteki z czymkolwiek. Tych bibliotek można używać w programach, które nie są wolne; jednak Lesser GPL zawiera pewne wymagania, których musisz przestrzegać.

Część bibliotek wydana jest na samej licencji GNU GPL ? by z nich korzystać musisz użyć licencji zgodnej z GPL. Zwykle są to jednak biblioteki bardziej specjalizowane i podobnych nie miałeś na poprzedniej platformie, więc zapewne nie będziesz ich chciał ich użyć przy zwykłym przeniesieniu programu.


Poza tym jak w wyjaśnieniu ktoś pisze taki tekst:
Cytat
Oczywiście, Twoje oprogramowanie nie jest wkładem na rzecz naszej społeczności jeśli nie jest wolne, a ludzie ceniący sobie wolność odmówią używania go. Będą go używać tylko ci, którzy decydują się na rezygnację ze swej wolności, co znaczy, że skutkiem tego będzie ono funkcjonować jako pokusa, by ludzie porzucili wolność.

Jeśli masz nadzieję pewnego dnia spojrzeć wstecz na swoją karierę i mieć poczucie, że przyczyniłeś się do rozwoju dobrego i wolnego społeczeństwa, powinieneś swe programy uczynić wolnymi.


To mówi samo za siebie.

ps. obadaj jeszcze, dlaczego GPL, nazywana jest licencją wirusową i jak to się ma do projektów pochodnych.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.