標籤:

GCC是在GPL協議下發布的,那麼使用了GCC標準模板庫的軟體也要受到GPL的傳染而被要求開源嗎?


GCC 中,STL 的實現是 libstdc++。

https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.any_program

2.2. So any program which uses libstdc++ falls under the GPL?

No. The special exception permits use of the library in proprietary applications.

程序使用該庫並不會被 GPL 傳染。特別例外條款允許在專屬(或者翻譯成專利?)軟體中使用該庫。

https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what_restrictions

2.4. I see. So, what restrictions are there on programs that use the library?

None. We encourage such programs to be released as free software, but we won"t punish you or sue you if you choose otherwise.

使用該庫的軟體沒有任何約束,我們鼓勵程序以自由軟體發布,如果你選擇了其它協議我們也不會為難你。

再來看看例外條款:

https://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html

When you use GCC to compile a program, GCC may combine portions of

certain GCC header files and runtime libraries with the compiled

program. The purpose of this Exception is to allow compilation of

non-GPL (including proprietary) programs to use, in this way, the

header files and runtime libraries covered by this Exception.

當使用 GCC 編譯程序,GCC 將會把一部分 GCC 的頭文件和運行庫與目標程序組合在一起。這個例外的目的是允許非 GPL 程序可以這樣使用。換句話說,頭文件和運行庫的使用被這種例外情況所涵蓋。

不過這種例外不是無限制的,只有程序是獨立模塊才能算作例外。具體可看上面授權許可協議鏈接的詳細規定。


推薦閱讀:

請問陳碩博客中使用的繪圖軟體是什麼?
有哪些知名的網站是用wordpress搭建的?
有哪些開源的即時戰略遊戲?
如何評價微軟Connect 2015?

TAG:開源 | GPL | STL | GCC |