2008-11-11 50 views
7

我正在開發一個項目並試圖確定要使用的平臺。現在,我的第一選擇是使用ASP.Net MVC和MySql數據庫。我關心的是MySql驅動程序擁有GPL許可證。我正在爲一家公司創建這個項目,因此它不能成爲一個開源項目。以下是我的問題:從.Net使用MySql - 許可問題

  1. 如果我使用具有GPL許可證的MySql驅動程序,是否必須使整個應用程序爲開源?
  2. 有誰知道任何其他MySql驅動程序的限制較少的許可證?
  3. PostgreSql有一個LGPL許可證,我相信應該沒問題,但我找不到任何託管站點有ASP.Net和PostgreSql。任何人都知道任何便宜的託管計劃(最好是$ 10- $ 20/mo)都可以提供嗎?

回答

7

使用MySQL庫將GPL代碼庫。

如果您正在爲多個客戶編寫代碼,您將有義務將源代碼發佈給您的系統給這些客戶。 GPL沒有義務向公衆開放源代碼,你根本無法阻止其他人這樣做。

讓我重複一遍,因爲人們對這一點真的不清楚。GPL有義務將您作爲分發軟件的實體,將源代碼僅發佈給您實際發佈了軟件二進制文件的實體。如果你和我有關係,並且我得到了一份你的軟件的副本(理想情況下我已經賠償了你),然後弗蘭克出現要求購買這個軟件,你沒有義務給予(或者出售,或者其他任何東西)該軟件給弗蘭克。這不是一些「貓」的東西。我可以給他(賣,交易)給他,但你不能阻止我這樣做,但你沒有承諾自己分發軟件,也不支持弗蘭克。由於我很可能在輪胎業務,分發軟件真的不是我的包,所以我不太可能在某些公共檔案上張貼代碼。

如果項目是針對單個客戶的,那麼他們可能有權獲得源代碼,所以在這種情況下,GPL可能不是問題。

只要您擁有代碼的版權,您隨時可以更改未來版本的許可證。因此,如果您選擇不再使用MySQL,那麼您可以在下一個版本中使用「un-GPL」並使用其他許可證,但是您不能「un-GPL」任何發佈的軟件。

對於定製的垂直軟件,GPL確實不是問題,因爲大多數公司根本不在軟件分銷業務中,而作爲供應商,您沒有義務實際支持任何人而不是實際客戶,而不是他們可能也會給出源代碼的任何人。主要關心的是商業機密等。

當然,大衆市場軟件是一個不同的問題。

+0

儘管有一個更正:使用免費提供的(GPL)MySQL驅動程序將GPL代碼庫。使用商業的不會。 如果您提供軟件並且要求客戶自己提供數據庫驅動程序(基本上可以是任何供應商和任何許可證),我不確定這些機制是什麼 – 2008-11-11 16:27:42

1

您不能將MySQL GPL客戶端庫用於商業產品,它只能用於開源項目。 MySQL根據商業許可提供相同的客戶端庫,收取合理的費用,您可以將其用於您的目的,您可以瞭解有關商業許可here的更多信息。

0

@ Jeff-Donnici:我絕對不排除使用SQL Server。我傾向於MySql的兩個原因是1)如果它對於共享主機提供商來說太大了,那將是一個更便宜的選擇,2)我將需要能夠創建多個數據庫,並且從我已經看到了共享主機提供商,SQL Server僅限於1或2個數據庫,而它們允許使用不少MySql數據庫。

2

根據我的理解,如果您不更改,修改或更改GPL'd庫,並且您只是使用它們的內容,那麼其餘代碼庫將不屬於GPL。現在,如果您分發應用程序,則必須提供對這些庫的許可證的訪問權,並訪問您使用過的庫的來源。但其他一切都是你的,並且可以根據你的需要進行授權。