Jak obejsc licencje GNU GPLv3

0

Napisałem fajną aplikacje w C++, jednak korzystałem w niej m. in. z bibliotek udostepnianych na licencji GNU GPL v3. Zatem zgodnie z ta licencja powinienem udostepnic publicznie kod zrodłowy mojej aplikacji. Znalazłem kilku zainteresowanych kupców na moj program(aplikacja jest specjalistyczna) którzy oferuja mi dobra cene ale sprzedanie nie bardzo idzie w parze z publicznym udostepnieniem kodu, poza tym znam osoby ktore chetnie wykorzystaja moje zodła przez co moge miec klopot ze sprzedaniem programu. Zatem jak to zrobic zeby jakos ominac GPL'a, moze umiescic gdzies zródła ale bez komentarzy i tak tylko wrzucic nawet bez nzw plikow do ktorych sie odnosza poszczegolne czesci.

0

Nie da się. Jeżeli udowodnią (nawet poprzez RE), że to ich kod - masz przerypane...

0

(w tłumaczeniu: kradnij)

0

Może jakiś obfuscator? Tzn program który zmienia nazwy zmiennych prywatnych z np liczbaRekordow na sk, podobnie z prywatnymi metodami.

A może jest jakaś biblioteka na mniej restrykcyjnej licencji? Np. LGPL czy nawet BSD.

0

Ależ GPLv3 nie zmusza cię do udostępnienia kodu publicznie!
Jedyne co musisz zrobić, to dać kod źródłowy tym osobom, które kupiły od Ciebie program.
To czy, te osoby będą się dalej dzielić programem / kodem źródłowym z innymi, to już zależy od rodzaju tego programu. W przypadku wysoce specjalizowanego programu dostosowanego do klienta taka szansa jest bardzo niewielka, bo kto by chciał oddawać swoje rozwiązania konkurencji? Natomiast jeśli to program, który chcesz rozpowszechniać masowo, no to niestety - masz przerąbane ;)

Zgodnie z prawem są chyba 2 sposoby na niepublikowanie źródeł w tym przypadku:

  1. Przepisać / zastąpić części objęte GPLem czymś co jest na BSD/Apache/MIT/CPL/LGPL itp.
  2. Wydzielić te części jako osobny, opcjonalny dodatek do programu i dystrybuować go osobno jako wtyczki. Wtedy sprzedajesz jedynie SWÓJ program z zamkniętym źródłem, a wtyczki umieszczasz za free wraz z kodami źródłowymi u siebie na stronie. Ważne jednak, aby wtyczki nie były niezbędne do uruchomienia Twojego programu, bo wtedy można byłoby uznać, że są jego integralną częścią i łamiesz GPL.
0

@donkey7: Idę z kolegami spróbować przez RE udowodnić, że kradłeś, jako że nazw takich rzeczy i tak w binarce nie ma, to nam to nie robi różnicy, poznajemy że to właśnie biblioteka foo => masz nieliche problemy.

0

A czy licencja GPL nie mowi ze musisz dostarczyc kod źródłowy? W dowolnej postaci....
Np. wydrukowany, czcionka nr 4... do tego tylko na wyraźne żądanie + koszt wysyłki / druku...

0

jak obejsc?

  1. pisz w asemblerze, c**** ci udowodnia mozesz powiedziez ze wyklepales alt-codem w notatniku.
  2. przepisz algorytmy z bibliotek na asm. afair algorytm mozna opatentowac, ale jesli to nic specyficznego to spokojnie przepisuj.
0

Fanael:
chodziło mi o to, że część kodu, która jest napisana przez autora postu byłaby 'zaszyfrowana' przez obfuscator (zmiana nazw zmiennych i metod prywatnych, przestrzeni nazw, przemieszanie kolejności fukcji i zmiennych w kodzie, itp itd), a potem udostępniana. Ewentualnie możnaby na przykład bibliotekę na licencji GPL skompilować do dll'a, a resztę skompilować normalnie i zapodawać kod asemblerowy z na przykład disasemblacji, lekko przetworzony ;D Kto udowodni, że nie pisało się w asmie? ;D

Poza tym skoro GPL zmusza do udostępniania kodu kupującym, to powinna też zabraniać im dalszej odsprzedaży nawet w zmodyfikowanej formie.

Napisz co to za biblioteki na GPL, które sprawiają taki problem. Może są jakieś biblioteki o mniejszych możliwościach, ale na mniej restrykcyjnej licencji. Wtedy mógłbyś sprzedawać program z tą gorszą biblioteką, a użytkownik sam dograłby sobie tą właściwą, aby zwiększyć funkcjonalność programu.

0

A, o coś takiego szło... Beautifier i leżysz ;).

0

Beautifier czyli jakiś Pretty Printer? W czym to ma niby pomóc?

Dodatkowo można wszystkie stałe zamienić na literały w kodzie oraz część wywołań funkcji zamienić na ich ciało (i wywalić oryginalną funkcję - mamy wtedy takie wymuszone inlineowanie), ale tak żeby exek za dużo nie urósł.

Najlepszym rozwiązaniem jest zapłacić autorom biblioteki, aby zmienili licencję ;D

0

To proste, w tym, że łatwiej się będzie to czytać (bo pewnie miałeś też w planie usunięcie whitespace tam, gdzie można ;))... W zasadzie to wszystko, o czym mówisz można załatwić refaktoryzacją.

0
donkey7 napisał(a)

Najlepszym rozwiązaniem jest zapłacić autorom biblioteki, aby zmienili licencję ;D

Gdyby to było takie proste - poza głównymi developerami projektu każdy autor najmniejszej nawet poprawki ma swoje do gadania wedle GPL. Przez to nie można kupić kodu na GPL, inne zagrania też są ograniczone.

0

czyli wynika że kod źródłowy muszę przekazać tylko tej osobie której sprzedaje program? Bo gdzieś czytałem ze robiac projekt z wykożystaniem bibliotek na licencji GPL sam musze założyć stronę projektu, czy jakiegoś ftp na którym muszę udostepnić źródła mojej aplikacji wszystkim zainteresowanym, czy to prawda?

0

Tak, źródło masz przekazać tylko temu, komu sprzedajesz (a on może wpuścić w net dla każdego chętnego, ale nvm :>), przynajmniej tak zdaje się było ostatnio... Ale lepiej przeczytaj licencję, wtedy będziesz miał pewność ;).

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