[ Nedeljko @ 01.11.2006. 15:53 ] @
Koliko vidim, ta licenca je GPL (bar tako piše u zaglavljima). To dakle znači da se pomoću GNU C++ kompajlera ne mogu pisati vlasnički programi koji koriste STL.
[ Dragi Tata @ 01.11.2006. 16:10 ] @
Srećom, postoji izuzetak:

http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/license.html
[ Nedeljko @ 02.11.2006. 10:30 ] @
Ćale, rekao bih da se nismo razumeli.

Nisam mislio na linstdc++ (odnosno standardnu biblioteku koja postoji i u binarnom obliku), već na STL. Obrati pažnju na slovo "T". U jeziku C++ nije moguće isporiučiti binarni oblik šablonske klase. Samim tim, šablonska klasa set nije sastavni deo libstdc++. Ona ima samo izvorni oblik u odgovarajućem zaglavlju. Samim tim, napomena koja važi za libstdc++ ne važi i za šablonske klase. U zaglavlju u kome je definisana šablonska klasa set jasno piše da je to zaglavlje pod GPL.
[ Dragi Tata @ 02.11.2006. 12:54 ] @
Citat:
Nedeljko: Ćale, rekao bih da se nismo razumeli.


Bez brige - razumeli smo se :)

Citat:
Nedeljko:
Nisam mislio na linstdc++ (odnosno standardnu biblioteku koja postoji i u binarnom obliku), već na STL. Obrati pažnju na slovo "T".


libstdc++ je GNU implementacija C++ Standardne Biblioteke, koja između ostalog uključuje i STL. Strogo gledano, naziv STL se i ne upotrebljava u C++ standardu, ali ga koristimo iz istorijskih razloga. Dakle, ne beri brige, libstdc++ sadrži i STL. Ako ne veruješ baci pogled: http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/index.html

Citat:
Nedeljko:
U jeziku C++ nije moguće isporiučiti binarni oblik šablonske klase. Samim tim, šablonska klasa set nije sastavni deo libstdc++. Ona ima samo izvorni oblik u odgovarajućem zaglavlju. Samim tim, napomena koja važi za libstdc++ ne važi i za šablonske klase. U zaglavlju u kome je definisana šablonska klasa set jasno piše da je to zaglavlje pod GPL.


Sa linka koji sam ostavio u prethodnoj poruci:
"Q: How is that different from the GNU {Lesser,Library} GPL?
A: The LGPL requires that users be able to replace the LGPL code with a modified version; this is trivial if the library in question is a C shared library. But there's no way to make that work with C++, where much of the library consists of inline functions and templates, which are expanded inside the code that uses the library. So to allow people to replace the library code, someone using the library would have to distribute their own source, rendering the LGPL equivalent to the GPL"

Dakle, upravo iz razloga koje pominješ, nisu objavili libstdc++ pod LGPL-om, već modifikovanim GPL-om koji dozvoljava korišćenje koda, a ne samo linkovanje.

Inače, malo off topic: ako imamo recimo C biblioteku pod LGPL-om i linkujemo je uz svoj program - to bi trebalo da bude OK. Međutim, u praksi je često neophodno i da se uključi header fajl u izvornom obliku, čak i kad radimo sa binarnim bibliotekama. Da li je to kršenje LGPL-a?