2012-11-18 43 views
5

我現在正在開發PHP程序,我讀了GPL。我已經在別處讀到過,如果我的程序甚至遠程連接到Oracle的免費版MySQL數據庫,我的整個PHP應用程序必須完全支持GPL。MYSQL和GPL推薦?

如果我不希望我的應用程序獲得GPL許可,是我從SUN購買商業許可證的唯一選擇嗎?

任何人都可以幫助我的信息來支持我的需求如下:

  • 我想下,除了GPL的東西分發該申請過網,這是可能的,而使用Oracle的MySQL的非商業版?

  • 我必須連接到它並將數據保存在數據庫中,例如使用類似WordPress,Joomla或Drupal的CMS。

例如,如果我只有這個代碼:

<?php 
$con = mysql_connect("localhost","root","abc123"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("my_db", $con); 

mysql_query("INSERT INTO X (A, B, C) 
VALUES ('A', 'B','C')"); 


mysql_close($con); 
?> 

有它是在GPL或GPL兼容? 如果是,我是否也發佈了源代碼? 如果是,它可以用Zend或Ioncube加密它嗎?它甚至是合法的加密(只有當它適用於GPL)代碼與任何加密工具?

+3

另請參見http://stackoverflow.com/questions/620696/mysql-licensing-and-gpl –

+0

Thanks.I會考慮Postgre.Now讓我們只關注這個問題,對我來說很重要的是要清楚地知道我寫的東西 - GPL + MYSQL,此刻沒有其他DBMS,請讓我們遠離其他DBMS瞭解這個特定的配置。謝謝。 – user1654591

回答

6

是的。和不。

即使您的程序,即使遠程觸摸MYSQL數據庫,它也必須在GPL下。 除非你將它與之前購買的商業化的mysql庫一起發佈。

GPL說,如果你的程序正在使用GPL庫,它必須是GPL:

http://www.gnu.org/licenses/gpl-faq.en.html#IfLibraryIsGPL

如果庫是在GPL(不是LGPL)下發布的,這是否意味着任何使用它的軟件必須符合GPL或GPL兼容許可證? (#IfLibraryIsGPL) 是的,因爲它實際運行的軟件包含庫。

看看短語「使用它」。只有使用它才足以達到這個要求。

另外看太陽牌: http://www.mysql.com/about/legal/licensing/oem/

Q3:作爲一個商業的OEM,ISV或VAR,我應該購買的MySQL軟件的商業授權?

答:OEM廠商,獨立軟件開發商和那些希望在他們的商業應用程序中嵌入MySQL軟件的商業二進制文件的好處,但不希望受到GPL和不想發佈源代碼的VAR的專有應用程序應從Oracle購買商業許可證。購買商業許可意味着GPL不適用,而商業許可包括分銷商通常在商業分銷協議中找到的保證。

Q4:什麼是甲骨文公司針對MySQL軟件的雙重授權模式?

Oracle根據GPL和商業許可證提供MySQL數據庫服務器和MySQL客戶端庫。因此,在GPL下使用或分發開源應用程序的開發人員可以使用GPL許可的MySQL軟件,以及不希望按照GPL許可證將MySQL軟件與其自有商業軟件組合或分發的OEM,ISV和VAR。可以購買商業許可證。

什麼是其他方式這一條款的意義呢?

而且這還不是對點的虛擬主機可以有一些許可證,無,虛擬主機不分發他們的網站託管其使用MySQL所以它並不適用環境。

而且誰知道在哪裏我想安裝程序,在本地主機上或共享網絡上?

如果你不想擁有它GPL下你必須從SUN/Oracle的MySQL的購買商業許可,並與單獨的庫程序分佈。

這裏,它去PHP。 如果你在PHP開發的程序,然後回答是:

NO

它不被GPL。 爲什麼?由於PHP是FOSS名單上 http://www.mysql.com/about/legal/licensing/foss-exception/

因此,有2個回答你的問題:

1.YES - 如果它,如果它是使用PHP作爲層做直接接觸的MySQL 2.No。

那麼對你來說,在這個特殊的PHP的情況下,它是NO,你的PHP軟件不必是GPL。