2010-09-17 292 views
10

基本上就是這樣。我在Matlab中有一些代碼,我想發佈它,以便任何人都可以使用它。此外,我想阻止代碼在我之後關閉。我可以使用GPL授權我的Matlab代碼嗎?

問題:我可以選擇GPL來授權嗎?如果不是,我的選擇是什麼? (除了使用MATLAB,停止這我已經在考慮)


編輯

我只是編輯它,因爲這是更準確的我的情況。不便之處,敬請原諒。

Q:是否建議使用GPL發佈,以使其在社區發展我的Matlab代碼?如果不是,你會選擇什麼?

回答

0

當然你可以在GPL下發布你的matlab代碼。但是請注意,人們需要matlab來運行它。但是,您可以控制自己的代碼,並根據您希望的任何許可證進行發佈。

+0

因此,在Matlab許可證協議中沒有特殊的條款,您必須按照他們想要的方式發佈Matlab代碼? – 2010-09-17 13:56:52

+0

不,沒有。你可以自由地以任何你想要的方式分發你的代碼。 – Geodesic 2010-09-17 22:33:23

+0

雖然我可以在GPL下發布它@Ben是正確的,當他認爲它不會真的是件好事。它將完全凍結我的代碼,因爲(幾乎)沒有人能夠重新發布它(不擁有Matlab庫的重新發布權)。這是一個重要的觀點,儘管你正確回答我的問題。謝謝! – 2010-09-19 20:24:25

2

誰擁有該代碼? (如果你有付款來寫它,可能是支付你的人 - 如果它是大學或學校項目,它可能屬於他們)。

我不知道任何使Matlab代碼特殊的東西,會阻止根據GPL發佈。

+1

我支付研究費用,結果產生了一些代碼。我不認爲大學擁有代碼,儘管它擁有我的研究成果(但作者身份)和我的靈魂。 – 2010-09-17 13:53:29

+1

我想我一定會仔細檢查一下 - 你有一個可以檢查的實際合同嗎?也可以問大學某人的意見。 – JosephH 2010-09-18 03:04:06

+0

檢查我的合同不會受傷,但我真的懷疑它說的是關於代碼的東西。我敢肯定,它不會給我錢專利......這都是爲了大衆(就像我正在申請專利一樣)。 – 2010-09-19 20:21:07

3

使用GNU Octave
它的約95%的語法與Matlab兼容。並且由於代碼是您的創建,所以如果Matlab的EULA中有任何條款阻止您根據您需要的任何許可證發佈您的代碼,那麼您總是可以聲稱它是Octave代碼,而不是Matlab。

+0

我喜歡這是Octave代碼而不是Matlab的唯一方法,唯一的是我使用(強烈)圖像處理工具箱,並且與之相關的代碼(imrotate,iradon等)可能不會與Octave一起使用。 – 2010-09-17 21:14:40

+0

嘗試Octave僞造包,特別是圖像包:http://octave.sourceforge.net/image/overview。html – 2010-09-18 09:27:49

+0

聽起來不錯,謝謝!我有一天要檢查它,因爲Matlab有許多煩人的事情。但我懶得做出改變: - | – 2010-09-19 20:18:00

0

@dave幾乎沒錯。

畢竟,什麼是「代碼」?文字,你寫的 - 無論是在Word中或在文本編輯器。所以基本上,你可以把它寫在你的紙質筆記本上,並以你想要的任何條件發佈它。

然而,運行它卻是另一回事 - 所以要小心不要,或者至少提到它,你不擁有/版權任何MATLAB功能的權利,等等...... 合法的mumbo jumbo去這裏 ...

+0

感謝您的回答,但這與@ dave's有同樣的問題。有關更多信息,請參閱@ Ben的答案。 – 2010-09-19 20:25:35

4

既然你改變這個問題,我的帖子另一個答案:

使用BSD license

原因:

  1. 其簡單而短。
  2. Mathworks has chosen BSD as a mandatory license在其代碼交換庫的代碼 - Matlab Central

注意,它不包含Copyleft,因此您的代碼可以在將來被關閉。

+0

再次感謝您的回答!我已閱讀許可證和我不喜歡任何人都可以使用我的代碼來開發工具我將在稍後收費。即使我沒有被指控,我更喜歡它是免費的(如在自由中)。我會考慮只是爲了能夠在Matlab中發佈我的代碼,但我不認爲它的好處超過了自由度的損失:-( – 2010-09-19 22:51:32

1

是的,你可以在GPL下發布MATLAB代碼,人們可以重新發布你的代碼,而不必提供MATLAB二進制代碼或代碼本身,因爲通過指定你的代碼是用於MATLAB,你提供了一個隱式權限來允許再分配沒有附帶MATLAB庫的代碼。

應該指出的是,如果任何GPL代碼最初不是爲MATLAB分發的(但對於Octave而言),則情況並非如此,因爲重新分發者無法添加此隱式權限。

參見http://www.gnu.org/licenses/gpl-faq.html#InterpreterIncompat

相關問題