2017-04-21 48 views
9

注意:這個問題包括單詞「許可證」但是,我們必須清楚:。這個問題是要求許可意見這是問如何同時滿足「程序員通常使用的軟件工具」的文件命名要求:Github和CRAN,這個問題可以很容易地與README文件有關,僅僅使用「license」這個詞似乎使得人們對他們的近距離投票感到滿意。 )如何同時滿足CRAN和Github的許可文件命名要求

我有一個R包,誰的代碼我想繼續在Github上。

按照有R的requirements(見here有關模板許可證的說明),我有我的DESCRIPTION文件中的行:

License: MIT + file LICENCE 

而且我LICENCE文件包含MIT模板,如需要:

YEAR: 2017 
COPYRIGHT HOLDER: Don Quixote 

Github上僅通過查看LICENSE文件,這讓我保持MIT文本LICENSE使Github上會DET弄清楚牌將它和CRAN模板放在LICENCE之內,以便CRAN檢測到它。該方法使用.Rbuildignore來隱藏來自CRAN的Github LICENSE

但是現在,黑暗已經隕落在土地上:Github看着LICENSELICENCE。發現它們不同,它放棄了它確定項目許可證的企圖。

因此,似乎不可能以滿足CRAN和Github的方式使用MIT許可證或其他模板許可證。

將我的CRAN許可證模板文件從LICENCE重命名爲LICENCE.template將解決此問題,但後來CRAN抱怨非標準文件。

我可以從git倉庫中省略一個CRAN許可證模板文件,但是我並沒有爲了權宜而犧牲版本控制。

是否有解決方法?

+1

您可以包含您的許可證文件。Rbuildignore文件,因此出現在Github上,但也符合CRAN。 – Thomas

+0

@Thomas:這很好!我正在使用'.Rbuildignore'來實現CRAN合規性,但是我不喜歡使用'.gitignore':同時控制所有版本是很好的。但它可能是必要的。 – Richard

回答

3

我目前的做法的基礎上,托馬斯的評論如下:

  • 文件LICENCE包含MIT許可證模板,每個CRAN的要求。它現在列在.gitignore中,所以它不會與Github混淆。

  • 根據Github的要求,文件LICENSE包含實際的MIT許可證。它沒有在.Rbuildignore中列出,所以它不會與CRAN混淆。

當然,這不是一個理想的解決方案,因爲現在既沒有CRAN也沒有Github準確地存檔整個代碼庫。特別是,如果代碼是從Github獲得的,則它不處於允許將其上傳到CRAN的狀態。如果代碼是從CRAN獲得的,那麼將其發佈到Github上將是不合作的(因爲Github不會推斷該許可證)。

+0

如何將整個MIT許可文本放入您的LICENSE文件中?然後你的描述可以讀取「許可證:文件許可證」。它將允許Github正確地做到這一點,並且它符合R''字符串'文件LICENSE'或'文件LICENSE'中涉及包(源和安裝)頂級目錄中名爲LICENSE或LICENSE的文件的要求「。我不確定CRAN是否會以這種方式接受使用「標準」許可證,而不是「MIT +文件許可證」。 – jpshanno

相關問題