[ BinaryRuler @ 12.08.2007. 03:49 ] @
Malo sam svrljao forumom ali nisam naleteo na konkretan odgovor onoga sto me zanima, pa sam otvorio temu.
Konkretno me interesuje da li program napisan u okruzenju koje je pod GPL ili LGPL licencom moze da se prodaje i pod kojim uslovima?
I kakva je to fora sa ukljucivanjem biblioteka linkovanjemi ili na neki drugi nacin, konkretno o cemu se tu radi?
[ Au197/79 @ 12.08.2007. 07:34 ] @
Evo ono što ja znam ali ne jamčim da je tačno :)

1. Ako je program pisan sa GPL ili LGPL alata (kompajler, ide, editor, os...) ali sam program ne uključuje izvorni ili binarni kod pod GPL ili LGPL licencom, tada taj program može da bude pod bilo kojom licencom i prodaje se normalno.

2. Ako se u programu koristi GPL kod tada i program mora biti pod GPL licencom. Može se prodavati ali se pri prodaji isporučuje i izvorni kod programa. Mislim da se izvorni kod mora davati i onima koji nemaju nameru da kupe program. Praktično se prodaje usluga instaliranja, podešavanja, nadogradnje, obuke, tehničke podrške za program.

3. Ako se u programu koristi LGPL kod tada program može biti zatvorenog koda, samo se mora jasno naznačiti koja se LGPL biblioteka koristi u programu. Prodaja je kao u slučaju pod tačkom 1.
[ Nedeljko @ 12.08.2007. 12:58 ] @
Citat:
Au197/79: Mislim da se izvorni kod mora davati i onima koji nemaju nameru da kupe program. Praktično se prodaje usluga instaliranja, podešavanja, nadogradnje, obuke, tehničke podrške za program.

Ne, ništa nisi dužan da daješ nikome ako nećeš. No, u slučaju da nekome daš primerak programa, moraš ga dati pod GPL uslovima. Možeš ga dati Peri, ali ne i Miki, ali nakon što ga daš Peri, ne možeš ga sprečiti da ga on da Miki.

Možeš primaocu isporučiti i samo binarni oblik, ali tako da, u slučaju da on zaželi, može da ga dobije po ceni koja ne prelazi troškove isporuke. No, sva ta prava ima samo onaj ko je već primio primerak programa. Onaj ko nije od tebe nabavio binarni oblik, ne može da zahteva izvorni. Program se može naplatiti proizvoljno, ali u slučaju da je bio isporučen bez izvornog koda, on se naknadno može dobiti po ceni koja ne prelazi troškove isporuke. Drugim rečima, ta osoba je već platila program, te ne mora da plaća dodatno izvorni kod, već eventualno da snosi troškove isporuke.

U slučaju linkovanja sa LGPL kodom, zatvaranje koda je moguće samo u slučaju dinamičkog povezivanja (.dll, .so). Ako se LGPL kod ugrađuje u neki binarni fajl (.exe, .dll), onda izvorni kod tog fajla (tj. sve što je potrebno za njegovo dobijanje) mora biti pod LGPL.

GNU prevodioci su zajedno sa pratećim bibliotekama (RTL) pod GPL, ali se kao poseban izuzetak daje dozvola za proizvoljno licenciranje koda linkovanog za pratećom bibliotekom, tako da u tom slučaju nemaš šta da brineš.
[ Ivan Dimkovic @ 12.08.2007. 13:26 ] @
Citat:
Nedeljko
U slučaju linkovanja sa LGPL kodom, zatvaranje koda je moguće samo u slučaju dinamičkog povezivanja (.dll, .so). Ako se LGPL kod ugrađuje u neki binarni fajl (.exe, .dll), onda izvorni kod tog fajla (tj. sve što je potrebno za njegovo dobijanje) mora biti pod LGPL.


Ovo nije bas tacno - LGPL se moze i staticki linkovati sa ne-LGPL projektom, ali svaka izmena na LGPL biblioteci mora biti objavljena pod LGPL licencom.

U prevodu, recimo da koristis LGPL C Run Time biblioteku. Nije problem koristiti istu u komercijalnom programu i ako se staticki linkuje. Medjutim, ako izmenis tu LGPL CRT biblioteku, recimo dodas ubrzanja za Intel Core 2 Duo - to moras objaviti kao LGPL.
[ BinaryRuler @ 12.08.2007. 14:15 ] @
Da razjasnimo malo termine.
Da li pod statickim linkovanjem podrazumevate kada u svoj source include-ujem neku biblioteku (#include<nesto>), a pod dinamickim linkovanjem kada od biblioteke "nesto" napravis dll file i iz njega pozivas funkcije?

Ako gresim neka mi neko usput objasni sta se podrazumeva u praksi pod dinamickim i statickim linkovanjem?

[Ovu poruku je menjao SkyDiverX dana 13.08.2007. u 12:43 GMT+1]
[ Nedeljko @ 13.08.2007. 15:41 ] @
Da, dinamičko povezigvanje se vrši sa dll-ovima. Kada su biblioteka i tvoj kod u istom fajlu (najčešće exe, mada može biti i dll), onda je to dinamičko linkovanje.

Ivane,
Citat:

5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License.

Dakle, statički povezana biblioteka sa tvojim kodom obrazuje izvedeni rad iz biblioteke. Tretira se kao izmena, nadgradnja itd.
[ BinaryRuler @ 13.08.2007. 16:02 ] @
Za dinamicko sam te razumeo ali za staticko povezivanje te nisam razumeo.
Ako bi mogao da das neki primer ili da pojasnis?
[ Nedeljko @ 13.08.2007. 22:12 ] @
Izvršni fajlovi su na Windows platformi exe i dll. Statički je povezano sve što je u istom fajlu. Ako imaš samo jedan exe, onda je sve statički povezano. Ako imaš i neke dll-ove, onda je statički povezano ono što je u istom fajlu, a dinamički ono što je u različitim fajlovima. Ako si koristio dinamičko linkovanje sa nekom bibliotekom, onda ona ne ulazi u exe.
[ Ivan Dimkovic @ 13.08.2007. 22:34 ] @
@Nedeljko:

U pravu si - sad gledam, neki projekti (tipa: http://teem.sourceforge.net/lgpl.html) dodaju specijalnu klauzulu kao dodatak na LGPL koji dozvoljavaju i staticko linkovanje kao legitimno koriscenje LGPL koda kao biblioteke, a ne derivata.
[ Shadowed @ 13.08.2007. 23:33 ] @
Ja imam jedno slicno pitanje (tj. mislim da je dovoljno slicno da ne pokrecem novu temu).
Ukoliko koristim neku biblioteku koja je pod GPL-om prilikom pravljenja svog sajta (ili ne mora biblioteka, neki software, recimo forum kao deo sajta). E sad, posto ja nisam pravio nekom drugom sajt vec samo za svoje (komercijalno koriscenje), kakve su moje obaveze sto se koda tice? U oba slucaja, da sam menjao i da nisam biblioteku/software.
[ BinaryRuler @ 13.08.2007. 23:56 ] @
Znaci kada ja stavim u mom kodu:
include <stdlib.h>
ja sam napravio staticku vezu?
[ Nedeljko @ 14.08.2007. 08:56 ] @
Citat:
SkyDiverX: Znaci kada ja stavim u mom kodu:
include <stdlib.h>
ja sam napravio staticku vezu?

U principu, jesi, osim ako nekom proizvođaču kompajlera ne padne na pamet da i najosnovniji RTL isporuči kao deljenu biblioteku (tj. biblioteku za dinamičko povezivanje). Do sada mi nije poznat takav slučaj. Vidi u uputstvu za okruženje koje koristiš, kako se koriste dll-ovi, pa radi tako sa LGPL bibliotekama. Kod GPL, ni to ne pomaže, mada se i tu mogu naći rešenja. Recimo, izmeniš/dogradiš kod (L)GPL biblioteke tako da se može koristiti iz komandne linije. Naravno, ta izmena će biti pod GPL. Međutim, onda iz svog programa pozivaš taj izvršni fajl kao poseban proces (funkcija system() u C-u), zadaješ mu ulaz i očitavaš izlaz. Tada su to odvojeni programi, pa se (L)GPL ne prenosi između njih. U vezi ovoga, konsultuj dokumentaciju u vezi komunikacije između procesa. Naravno, pod uslovom da ti to obavlja posao.

No, mnoge LGPL biblioteke (FLTK, wxWidgets,...) imaju izuzetak koji dopušta statičko povezivanje sa proizvoljno licenciranim kodom. Reci šta hoćeš da koristiš, pa da vidimo.

Citat:
Shadowed: Ja imam jedno slicno pitanje (tj. mislim da je dovoljno slicno da ne pokrecem novu temu).
Ukoliko koristim neku biblioteku koja je pod GPL-om prilikom pravljenja svog sajta (ili ne mora biblioteka, neki software, recimo forum kao deo sajta). E sad, posto ja nisam pravio nekom drugom sajt vec samo za svoje (komercijalno koriscenje), kakve su moje obaveze sto se koda tice? U oba slucaja, da sam menjao i da nisam biblioteku/software.

Ukoliko se tvoj softver ni u jednom trenutku ne izvršava na računaru korisnika, već na serveru tvog sajta, onda nemaš nikakve obaveze. To je slučaj kada korisnik pristupa samo dinamički kreiranim html stranicama (bez obzira da li nose oznaku php, asp ili neku drugu) koje kreira tvoj softver. U tom slučaju, te stranice su rezultat izvršavanja (L)GPL koda, a te licence se na njega ne prenose. Izuzetak je jedino slučaj kada sam rezultat izvršavanja (ta stranica) sadrži delove (L)GPL koda. Tada se licenca tog koda prenosi na ceo fajl. Sa druge strane, ako je u pitanju aplet, ti njega isporučuješ korisniku da bi ga on izvršavao na svom računaru, pa se primenjuju oni uslovi koji važe i za ostale vrste isporuke (kao da si mu isporučio CD).
[ Ivan Dimkovic @ 14.08.2007. 09:18 ] @
Citat:

U principu, jesi, osim ako nekom proizvođaču kompajlera ne padne na pamet da i najosnovniji RTL isporuči kao deljenu biblioteku (tj. biblioteku za dinamičko povezivanje).


Ima to Microsoft - zove se msvcrt.dll ;-)
[ boccio @ 14.08.2007. 09:24 ] @
Citat:
Nedeljko: Ukoliko se tvoj softver ni u jednom trenutku ne izvršava na računaru korisnika, već na serveru tvog sajta, onda nemaš nikakve obaveze.

Hm, u principu se nista ne izvrsava na racunaru korisnika osim JavaScript koda... A jos nisam video da je neko bilo kakav HTML kod stavio pod (L)GPL :) Znaci jedino bi bila razlika da li se softver izvrsava na tvom serveru, ili si korisniku poslao izvorni kod koji je on okacio na svoj server. A ni u jednom slucaju izvrsavanje nije na strani racunara samog korisnika. Da li se u tom slucaju nesto menja?
[ Nedeljko @ 14.08.2007. 10:35 ] @
Postoji i varijanta GPL-a koja sprečava zatvaranje koda koji dinamički kreira html stranice koje čita korisnik.

http://www.affero.org/oagpl.html
http://en.wikipedia.org/wiki/Affero_General_Public_License
[ Nedeljko @ 14.08.2007. 10:41 ] @
Citat:
boccio: Hm, u principu se nista ne izvrsava na racunaru korisnika osim JavaScript koda... A jos nisam video da je neko bilo kakav HTML kod stavio pod (L)GPL :) Znaci jedino bi bila razlika da li se softver izvrsava na tvom serveru, ili si korisniku poslao izvorni kod koji je on okacio na svoj server. A ni u jednom slucaju izvrsavanje nije na strani racunara samog korisnika. Da li se u tom slucaju nesto menja?

Korisnik (L)GPL koda poseduje prava iz licence od trenutka kada primi taj kod, posredno (uključujući i isporuku kroz derivat ili uređaj koji ga sadrži) ili neposredno. Dokle god kod nisi isporučio krajnjem korisniku, nemaš nikakve obaveze u vezi sa tim kodom prema njemu. Izuzetak je Affero GPL.
[ Au197/79 @ 14.08.2007. 12:09 ] @
Ja imam pitanje sličnom onom koje je Shadowed postavio.

Zamislimo situaciju da ja radim u firmi (kao običan radnik) i za potrebe te firme pišem softver i koristim GPL ili LGPL kod. Pošto softver ne radim za prodaju već samo za korišćenje u firmi u kojoj sam zaposlen koje su licencne obaveze kad koristim (L)GPL kod a koje kad ga menjam?
[ BinaryRuler @ 14.08.2007. 12:19 ] @
@Nedeljko
Kada sam stavio onaj include stavio sam ga kao banalan primer.
Jos se nisam odlicio za okruzenje i biblioteke ali evo onih koji mi se svidjaju
Eslipse sa CDT-om za c++
KDevelop
GTK+ i gtkmm
wxWidgets
Qt je dobar ali on mora da se plati za komercijalno koriscenje
Code::Blocks
Planiram u skorije vreme da se presaltam na SUSE 10.2 tako da cu verovatno koristiti i neke njegove biblioteke i kompajler.
[ Nedeljko @ 14.08.2007. 13:20 ] @
Okruženja tu nisu bitna. Ne nameću nikakva ograničenja, kao ni kompajleri.

wxWidgets 100% može da se koristi za pisanje proizvoljno licenciranog koda, bez obzira da li se vrši statičko ili dinamičko povezivanje.

Qt 4 može i besplatno da se koristi u komercijalne svrhe, ali pod uslovima GPL. Recimo, Pera ti naruči program za svoje specifične potrebe, ti ga napišeš pomoću Qt-a 4 i prodaš mu ga pod GPL po bilo kojoj ceni koja obojici odgovara. Ako ti ne smeta da Pera primi tvoj kod pod GPL uslovima, s tim da budeš novčano nagrađen, možeš koristiti i GPL biblioteke. Štaviše, možeš koristiti kod pod bilo kojom slobodnom licencom (s tim da treba voditi računa da sve te licence budu kompatibilne, tj. da se sme sklopiti jedinstven program od takvih delova), mada ne i sav open source kod. Pojmovi slobodnog softvera i softvera otvorenog koda se razlikuju.

@Au197/79

Pod uslovom da se softver koji uključuje (L)GPL kod koristi samo za ličnu upotrebu ili upotrebu unutar firme (dakle, ne izdaje se nijednom drugom pravnom ili fizičkom licu), nikakve obaveze nisu nametnute po pitanju prava na rezultat izvršavanja programa, bez obzira da li je kod programa izmenjen ili ne. Izuzetak je slučaj kada rezultat izvršavanja koji uključuje (L)GPL kod (ako je to slučaj) želiš da daš drugome (uz nadoknadu ili bez nje), onda se moraju primeniti (L)GPL odredbe za taj slučaj. Ukoliko pak izlaz iz tog programa ne obuhvata (L)GPL kod, sa tim izlazom se dalje može raditi šta god se želi.

[ Au197/79 @ 14.08.2007. 13:36 ] @
Hvala Nedeljko na objašnjenju.
[ BinaryRuler @ 14.08.2007. 23:00 ] @
Nedeljko da li ti imas neku preporuku za okruzenje i biblioteke?
Hvala na odgovorima. Respect!!!
[ llux @ 15.08.2007. 07:57 ] @
SDL je pod GNU LGPL licencom. Na primer napravim igru, samo jedan exe fajl. #include "SDL", "SDL_image.h", "SDL_ttf.h" i tako dalje. Hocu da je postavim na svoj ili na tudji sajt da mogu svi besplatno da skidaju, sta treba da radim? Hocu da je postavim da se prodaje, sta treba da radim? Nije valjda da treba da im dajem source code, to je ludost
[ Nedeljko @ 15.08.2007. 09:19 ] @
Citat:
SkyDiverX: Nedeljko da li ti imas neku preporuku za okruzenje i biblioteke? Hvala na odgovorima. Respect!!!

Prvo reci šta zapravo hoćeš. Ja koristim Code::Blocks + Qt + MinGW/GNU C++, ali meni ne smeta da moj program bude pod GPL.
Citat:
llux: SDL je pod GNU LGPL licencom. Na primer napravim igru, samo jedan exe fajl. #include "SDL", "SDL_image.h", "SDL_ttf.h" i tako dalje. Hocu da je postavim na svoj ili na tudji sajt da mogu svi besplatno da skidaju, sta treba da radim? Hocu da je postavim da se prodaje, sta treba da radim? Nije valjda da treba da im dajem source code, to je ludost

Ta dva slučaja se ne razlikuju. Potpuno je nebitno da li isporučuješ kod uz nadoknadu ili bez nje. Ne možeš isporučiti kod linkovan sa kodom pod čistim LGPL (bez dodatnih speciujalnih dozvola, proveri da li je SDL licenca slučajno LGPL + neki special exception) kao closed source legalno. Postoje dva rešenja:

1. Da linkuješ svoj kod sa LGPL bibliotekom dinamički (uvek je moguće) i isporučuješ svoj exe zajedno sa dll-ovima biblioteke. No, u tom slučaju korisnici imaju pravo na izvorni kod te LGPL biblioteke. Budući da isporučuješ kod LGPL biblioteka kroz dll fajlove, to moraš učiniti pod uslovima licence te biblioteke.

2. Da kontaktiraš vlasnike biblioteke u vezi nabavke drugačije licence.
[ Nedeljko @ 15.08.2007. 12:17 ] @
Citat:
llux: SDL je pod GNU LGPL licencom. Na primer napravim igru, samo jedan exe fajl. #include "SDL", "SDL_image.h", "SDL_ttf.h" i tako dalje. Hocu da je postavim na svoj ili na tudji sajt da mogu svi besplatno da skidaju, sta treba da radim? Hocu da je postavim da se prodaje, sta treba da radim? Nije valjda da treba da im dajem source code, to je ludost

Ne nalazim nijedan razlog zašto ne bi isporučio jedan dll-čić od 147 KB uz svoj exe fajl. Lepo su ti ljudi napisali kako se sa SDL-om radi pod raznim operativnim sistemima i raznim okruženjima.

http://lazyfoo.net/SDL_tutorials/lesson01/index.php
[ BinaryRuler @ 15.08.2007. 12:54 ] @
Konkretno meni treba alat za pravljenje projekata sa licencom kakvu ja hocu da stavim. Ako hocu da mi projekat bude komercijalan da to migu da odradim ili ako se odlucim da ga dam pod GPL/LGPL licencom, znaci da mogu da biram.
Koje biblioteke (i grafizke biblioteke dolaze u obzir) i alate da koristim u tom slucaju?
[ llux @ 15.08.2007. 12:54 ] @
A sta ono pise za OpenGL da nije potrebna licenca. Je l to znaci da sam slobodan da radim sta hocu sa svojom igrom, bez obaveza?
[ Nedeljko @ 15.08.2007. 14:14 ] @
Citat:
SkyDiverX: Konkretno meni treba alat za pravljenje projekata sa licencom kakvu ja hocu da stavim.

Ma, to mi je bilo jasno. Nego me zanima, sa tehničke strane, kakva je vrsta projekata u pitanju, (web, baze, igre, "običan" application development), šta biblioteka treba da ima itd. Možda ti pasuje Java, C#, Pascal.

1. Za "bezbrižno" C++ programiranje možeš da koristiš npr. wxWidgets. Linkovao svoj kod sa time statički ili dinamički, imaš pravo da ga licenciraš kako hoćeš.
2. Kao odlično C++ okruženje sa odličnom, ali nešto skromnijom (samo GUI) bibliotekom, možeš koristiti Ultimate++ (www.ultimatepp.org). Biblioteke su pod BSD licencom, ali je jedan deo njih pod GPL, pa vodi računa o tome šta koristiš.
3. Java ima vrlo moćan API, ali zahteva instaliran jre da bi programi radili.
4. Ako ne insistiraš na jeziku C++, možeš probati Lazarus. Najveći deo komponenti je pod izmenjenom LGPL (dopušta da licenciraš program kako hoćeš i u slučaju statičkog povezivanja), ali je poneka i pod "čistom" LGPL, pa ako koristiš te kontrole, onda ih moraš koristiti pod LGPL uslovima, ako ne, onda super.
5. Ako ti je Windows jedina ciljna platforma, možeš probati neke od besplatnih (nisu slobodni, niti otvorenog koda itd.) Majkrosoftovih ili Borlandovih alata.
Citat:
llux: A sta ono pise za OpenGL da nije potrebna licenca. Je l to znaci da sam slobodan da radim sta hocu sa svojom igrom, bez obaveza?

Ne znam gde to piše. Dajte, pomozite drugima da vam pomognu.
[ llux @ 15.08.2007. 15:38 ] @
Opengl.org -ABOUT -LICENSING
[ Nedeljko @ 15.08.2007. 15:54 ] @
Citat:
llux: A sta ono pise za OpenGL da nije potrebna licenca. Je l to znaci da sam slobodan da radim sta hocu sa svojom igrom, bez obaveza?

Da. Upravo tako. No, ako hoćeš da plasiraš hardver koji ima OpenGL (recimo, da praviš igračku konzolu ili grafičku karticu) ili hoćeš da pišeš OpenGL drajver, onda ti treba licenca. Ako pišeš samo igru (kao softver, ne praviš nikakvu konzolu ili drugu vrstu hardvera) i koristiš neki od postojećih drajvera, ili jednostavno koristiš neki OpenGL API (tipičan slučaj, šta tebe briga koju će OpenGL karticu da koristi igrač tvoje igre, igra ne treba da bude zavisna od izbora OpenGL drajvera), onda ti svakako treba licenca za taj drajver ili taj OpenGL API (šta već koristiš), ali ne i za OpenGL. Recimo, ako koristiš OpenGL API iz Qt-a, onda važe uslovi Qt-ove licence. Ako koristiš neki drugi OpenGL API, vidi pod kojom je on licencom, jer se ona primenjuje.
[ llux @ 15.08.2007. 17:08 ] @
Na primer pravim jedan .cpp fajl. Procitam opengl tutorijale i u njega ispisujem c plus plus + opengl kod. Kompajler vec ima opengl biblioteke. Kompajliram i to je to. Zasto sad QT? Mora da se koristi neki API? Koristi se valjda win32 API
[ BinaryRuler @ 15.08.2007. 19:08 ] @
Interesuje me c++ (desk aplikacije) i php ukljucujuci i baze podataka i eventualno OpenGL.
Naravno cross-platform.

[Ovu poruku je menjao SkyDiverX dana 15.08.2007. u 20:35 GMT+1]
[ BinaryRuler @ 15.08.2007. 21:22 ] @
Nedeljko da li znas mozda da li Ultimate++ moze da radi na AMD64 i na winXP 32-bita
Jer prilikom kompajliranja mi stalno izbacuje poruku

Linking...
/mingw/lib/crt2.o:crt1.c:(.text+0x16a): undefined reference to `__cpu_features_
init'
collect2: ld returned 1 exit status

There were errors. (0:00.21)

Koristio sam MINGW.
[ Nedeljko @ 15.08.2007. 21:48 ] @
@Ilux

U tom slučaju koristiš OpenGL API koji je isporučen uz kompajler (ako je isporučen), pa važi licenca koja ide uz taj kompajler. Naravno, ne ona koja se odnosi na kompajler, već ona koja se odnosi na isporučene biblioteke. Ako jeu pitanju MinGW ili GCC ili bilo koji odgovarajući Borlandov ili Majkrosoftov proizvod, onda je sve OK. Izuzetak je besplatno izdanje Borlandovog Kylix-a - on zahteva da aplikacija bude pod GPL. Ja ne želim da ga koristim, jer nameće kratkotrajan natpis prilikom startovanja aplikacije napisane u njemu nalik na "Ovaj program je urađen u besplatnom izdanju Kylix-a i mora biti pod GPL". Ne smeta mi da moj kod bude pod GPL, ali ne podnosim nametnute natpise i slične stvari.

@SkyDiverX

Pretpostavljam da želiš isključivo besplatna rešenja. Verujem da bi ti Lazarus odgovarao, ali ako već bojkotuješ Paskal, onda možeš isprobati wxWidgets. Lepo se integriše sa Code::Blocks-om. Ultimate++ koliko znam nema podršku za baze (treba proveriti).
[ BinaryRuler @ 15.08.2007. 22:11 ] @
A da li mogu da koristim MySQL?
Jel bi ti bila frka da mi napises sta tacno da skinem za Code::blocks i wxWidgets i kako da ih podesim?

Sto se tice Ultimate++ podrzava MySQL, pri instalaciji trazi putanju do MySql-a.
[ Nedeljko @ 16.08.2007. 07:02 ] @
MySQL je dvostruko licenciran. Besplatan je pod GPL, a može se kupiti i komercijalna licenca za njega, što je jedina mogućnost ako želiš da isporučiš svoj kod tako da ne bude pod GPL. Ukoliko hoćeš da zatvoriš svoj kod, a da bazu koristiš besplatno, onda možeš koristiti PostgreSQL. On je pod BSD licencom, tako da nema zime oko licenciranja tvog koda. Takođe, postoje besplatna izdanja ORACLE i SQL Server baza podataka, ali nisam siguran pod kojim se uslovima mogu koristiti. Treba proveriti.
[ BinaryRuler @ 16.08.2007. 12:37 ] @
Skinuo sam devc++ ali je pod GPL-om ali jako mi se svideo. Neznam da li mogu njega da koristim u komercijalne svrhe koliko sam razumeo koristi wxWidgets a on je pod LGPL-om zar ne?
http://wxdsgn.sourceforge.net/
[ Nedeljko @ 16.08.2007. 15:39 ] @
Da. Samo, pazi da linkovanje bude dinamičko.
[ BinaryRuler @ 16.08.2007. 15:53 ] @
Citat:
1. Za "bezbrižno" C++ programiranje možeš da koristiš npr. wxWidgets. Linkovao svoj kod sa time statički ili dinamički, imaš pravo da ga licenciraš kako hoćeš.

Ovde si rekao da moze i jedno i drugo za wxWidgets?

Kazimi za onu varijantu Code::Blocks i wxWidgets sta se prvo instalira?

Usput ako znas zasto mi i devc++ prijavljuje gresku sa MinGW kompajlerom prilikom kompajliranja

[Linker Error] undefined reference to `__cpu_features_init'
ld returned 1 exit status
[ Nedeljko @ 16.08.2007. 15:58 ] @
Još nešto. Budući da ćeš isporučivati nešto tipa wxWidgets.dll, taj fajl moraš isporučivati pod uslovima njegove licence. Znači, prikači jedan README.txt u kome piše da je taj fajl pod tom i tom licencom, isporuči kompletan tekst licence, ostavi svoj e-mail da bi mogao korisniku da isporučiš kompletan izvorni kod wxWidgets-a. U slučaju komercijalne isporuke, dužan si da lično obezbediš svojim korisnicima izvorni kod te komponente, ali ne i da snosiš troškove te isporuke. Možeš da naplatiš isporuku izvornog koda onoliko koliko to tebe košta (slobodno uračunaj i svoje utrošeno vreme, jer time is monez, ali ne preteruj). Da bi te manje davili, u README.txt fajlu napiši gde se izvorni kod te biblioteke može naći.

Ne zaboravi da u slučaju da svoj kod ne zaštitiš kopirajtom, nemaš ama baš nikakvu pravnu zaštitu. Ako je želiš, napiši nečto poput

Citat:
GameVision - Ultimative arcade game
Copyright (c) by Sir Oliver

You can use file game.exe under following license:

License

You may running this file on the single computer in one moment without any other limitations. Copyng is permited for making backup copies for personal use only.

ili šta već hoćeš.
[ BinaryRuler @ 16.08.2007. 17:20 ] @
Kako da napravim dinamicko linkovanje sa bibliotekom stdio.h ?
[ Nedeljko @ 16.08.2007. 17:28 ] @
Citat:
SkyDiverX: Ovde si rekao da moze i jedno i drugo za wxWidgets?

Da, tako je. Zaboravio sam. Prvo se instalira biblioteka, mada mislim da je svejedno. Na ostatak ću probati sutra da odgovorim. Sada nemam wxWidgets.
[ BinaryRuler @ 16.08.2007. 20:20 ] @
Kai mi da li code ::blocks ima visual editor?
[ Nedeljko @ 16.08.2007. 22:53 ] @
E, tu smo dakle. Kada ja lepo kažem da bi ti pasovao Lazarus (možeš koristiti bilo koji priručnik za delfi), ti bojkotuješ paskal, a okruženje je ko bombona.

Postoje wxForms (nije besplatan) i besplatni plugin wxSmith za Code::Blocks.

Uz Code::Blocks 1.0.rc1 se dobija wxSmith, ali ne i uz Code::Blocks 1.0rc2. Možeš nabaviti i svežije razvojne verzije (za koje autori kažu da su stabilnije od poslednje zvanično stabilne verzije 1.0rc2) uz koje se dobija wxSmith.

No, ipak mislim da je Qt Designer kvalitetniji i od Lazarus-ovog dizajnera formi (koji je odličan) i od bilo kog odgovarajućeg softvera za wxWidgets, koji je meni poznat.

Uostalom, evo ti ga link sa raznim informacijama vezanim za wxWidgets.

http://www.wxwidgets.org/wiki/index.php/Main_Page
[ BinaryRuler @ 16.08.2007. 23:15 ] @
Da ali Qt nemogu da koristim za razvoj komercijalnog softvera, zar ne?
[ llux @ 17.08.2007. 07:19 ] @
Kazi ti meni Nedeljko lepo i jednostavno, cime ja mogu da pravim igre i programe a da nemam nikakve obaveze. Da mogu da dajem free i da mogu da prodajem. Koji kompajler, koji API? Moze li win32 api za programe? Ja znam samo za opengl i directx, a SDL je kao dosta slabiji
[ Nedeljko @ 17.08.2007. 11:52 ] @
Ako koristiš MinGW kompajler ili bilo koji od Borlanda ili Majkrosofta (besplatan, ne trial), možeš proizvoljno dugo da ga koristiš i da radiš sa OpenGL-om, DirectX-om i Win API-jem koliko ti duša ište i nećeš imati nikakvih obaveza. Ipak, razmisli o sledećem:

- Da li stvarno želiš da programiraš uz Win API-ju?
- Ako pišeš igru, đe su ti mreže i zvuk u OpenGL-u?

Dalje,

- Ako praviš Windows only igru, možda su ti dovoljni Win API (jer ćeš ga koristiti samo za obradu ulaza, mrežu i zvuk) i OpenGL, a možda je ipak bolje koristiti DirectX za Windows only igre.
- Ako želiš da praviš cross-platform igre, možda SDL dobro dođe (bar kao zvučna dopuna za OpenGL, ako mogu zajedno da rade). Raspitaj se na forumu za razvoj igara.
- Ako želiš da pišeš Windows only programe, možda biti ipak neki od besplatnih Majkrosoftovih, odnosno Borlandovih alata najviše pasovao.
- Ako želiš da pišeš višeplatformske aplikacije, a nisi gadljiv na non-C++ jezike možda bi mogao da razmisliš o java net beans-u ili Lazarusu.
- Ako želiš da pišeš višeplatformske C++ aplikacije, možeš probati wxDev-C++ (http://wxdsgn.sourceforge.net/). On ima sve šta treba za wxWidgets pod Windows platformom. Na ostalim kompajliraj ručno wxWidgets projekat. Uostalom, dao sam link za pregled wxWidgets alata. Ultimate++ ima siromašniju biblioteku, ali uniformno integrisano okruženje na Windows, GNU/Linux i FreeBSD platformama.
[ BinaryRuler @ 17.08.2007. 12:15 ] @
A da li imas neke obaveze ako koristis wxDev-C++?
[ llux @ 17.08.2007. 12:31 ] @
Lele brate ala je to komplikovano. Pa zar opengl nema zvuk? SDL je pod LGPL licencom tako da otpada sigurno. Ja za sada kao pocetnik koristim DEV C++ a hocu da napravim jednu obicnu 2d igru. Sta toliko komplikuju? I naravno moze samo windows
[ Nedeljko @ 17.08.2007. 13:34 ] @
Citat:
SkyDiverX: A da li imas neke obaveze ako koristis wxDev-C++?

Dibidus nikakve.
Citat:
llux: Lele brate ala je to komplikovano. Pa zar opengl nema zvuk? SDL je pod LGPL licencom tako da otpada sigurno. Ja za sada kao pocetnik koristim DEV C++ a hocu da napravim jednu obicnu 2d igru. Sta toliko komplikuju? I naravno moze samo windows

OpenGL znači Open Graphics Library. Podsećam te da te SDL ne tera da otvaraš kod svoje aplikacije. Čak je automatski podešen za dinamičko povezivanje. Isporučiš lepo njihov .dll po LGPL uslovima uz svoj program, a sa svojim parčetom koda radiš šta hoćeš. No, za tvoju Windows only igru je možda najbolje da uzmeš besplatan Visual Studio Express Edition i DirectX i završiš posao. Jesi li sada zadovoljan odgovorom?
[ BinaryRuler @ 17.08.2007. 14:20 ] @
To je tacno za Express varijanti i DirectX sve free ali postoji mala zackoljica ko nema legalan windows ne moze da skine diretX SDK sa microsoftovog sajta.
[ Ivan Dimkovic @ 17.08.2007. 14:28 ] @
E hebi ga sad - ako hoces da pravis Windows softver, onda bar mozes da imas legalan Windows ;-)

U principu - ako to ne mozes da zadovoljis, skines Visual Studio Express i radis OpenGL razvoj, to jos moze da bude i multi-platformski ako se potrudis, pa igra moze raditi i na Linuxu i na Windowsu. Doduse, Audio sloj ces morati da radis posebno, ili da koristis neku biblioteku kao sto je PortAudio (http://www.portaudio.com/)

[ BinaryRuler @ 17.08.2007. 16:57 ] @
Ima tu istine ali ipak smo mi jos daleko od toga nece bas svako da odvoji $199 da bi kupio XP Home Edition, a za proffesional i da ne pricamo mora da doda jos $100. Svi gledaju sto jeftinije da prodju nema se para.
[ llux @ 17.08.2007. 18:39 ] @
Pokusao sam bio da skinem besplatan visual studio ali mi trazi da instaliram SERVICE PACK 2. I tu ja ne mogu da se snadjem, spora veza itd. Ajd mi molim te pojasni malo kakav je to .dll koji ja treba da isporucim uz svoju igru? Jel to isti onaj koji sam ja skinuo za SDL? I sta korisnici imaju od toga sto ce u folderu sa igrom da imaju taj .dll? Pa valjda cu moci da koristim DEV kompajler plus SDL za jednu jednostavnu 2d igru. Meni se SDL svideo zbog toga sto nema gomilu koda. Kao da je cist C++
[ Nedeljko @ 17.08.2007. 21:38 ] @
Citat:
llux: Ajd mi molim te pojasni malo kakav je to .dll koji ja treba da isporucim uz svoju igru? Jel to isti onaj koji sam ja skinuo za SDL?

Upravo taj. Smesti ga u isti direktorijum gde je tvoj .exe fajl.
Citat:
llux: I sta korisnici imaju od toga sto ce u folderu sa igrom da imaju taj .dll?

Imaće mogućnost da pokrenu igru. Bez njega će prilikom pokušaja pokretanja igre dobijati poruku da nije pronađen taj i taj dll.
Citat:
llux: Pa valjda cu moci da koristim DEV kompajler plus SDL za jednu jednostavnu 2d igru.

Moći ćeš, bez obzira na veličinu igre.
[ BinaryRuler @ 19.08.2007. 18:25 ] @
U pravu si Nedeljko, Lazarus lepo radi a ima i GLScene za OpenGL razvoj stvarno je dobar.
Mada ja vise volim c++ od pascala ali mozda ovde napravim izuzetak.
[ Nedeljko @ 28.08.2007. 10:38 ] @
Protestujem protiv premeštanja ove teme (koja je čisto stručnog karaktera) na forum za prepucavanje, jer smatram da ni najmanje nije prikladan temi. Ovde se ne radi o tome koje je licenciranje "bolje" ili "lošije", pa da bude za Avocacy, već na koji se način može koristiti softver pod kojom licencom. Smatram da bi najprikladniji forum za ovu temu bio "IT pravo i politika razvoja".
[ Nedeljko @ 28.08.2007. 10:43 ] @
Citat:
Ivan Dimkovic: E hebi ga sad - ako hoces da pravis Windows softver, onda bar mozes da imas legalan Windows ;-)

Trebalo bi da imaju legalan softver. Ko zna, možda momci za razvoj softvera za Windows koriste ReactOS ;-)
[ Dejan Lozanovic @ 28.08.2007. 15:12 ] @
Citat:

E, tu smo dakle. Kada ja lepo kažem da bi ti pasovao Lazarus (možeš koristiti bilo koji priručnik za delfi), ti bojkotuješ paskal, a okruženje je ko bombona.

Postoje wxForms (nije besplatan) i besplatni plugin wxSmith za Code::Blocks.

Uz Code::Blocks 1.0.rc1 se dobija wxSmith, ali ne i uz Code::Blocks 1.0rc2. Možeš nabaviti i svežije razvojne verzije (za koje autori kažu da su stabilnije od poslednje zvanično stabilne verzije 1.0rc2) uz koje se dobija wxSmith.

No, ipak mislim da je Qt Designer kvalitetniji i od Lazarus-ovog dizajnera formi (koji je odličan) i od bilo kog odgovarajućeg softvera za wxWidgets, koji je meni poznat.

Uostalom, evo ti ga link sa raznim informacijama vezanim za wxWidgets.

http://www.wxwidgets.org/wiki/index.php/Main_Page


Jel smem ja da preporucim ? :) Java/NetBeans npr, imaju jako kvalitetan gui dizajner, opet sa javom je moguce maltene sve (ako izuzmemo pisanje drajvera), opet sa druge strane swing aplikacije se lako pisu, portabilne su svuda gde imate JRE. A i vreme razvoja je krace ako poredimo npr javu sa C++ ili lazarusom.

[ Ivan Dimkovic @ 28.08.2007. 15:15 ] @
Citat:

Trebalo bi da imaju legalan softver. Ko zna, možda momci za razvoj softvera za Windows koriste ReactOS ;-)


Nisam znao da isti podrzava Direct3D doduse ;-)