我有來自普通科學實驗的數據。現在,為了分析數據,對我來說最方便的方法是使用一些專有的封閉源代碼軟件。
在研究中使用這種軟件是否合乎道德?
如果使用它,那麼這部分將是我研究中的一個大黑匣子。因此,如果某人無法使用相同或其他軟件來重現我的數據分析,那麼如果我們能夠找出問題所在,則取決於軟件公司的擺佈。如果軟件公司不想合作,那麼可能永遠不會發現問題所在。我覺得這與科學原理相反。
我有來自普通科學實驗的數據。現在,為了分析數據,對我來說最方便的方法是使用一些專有的封閉源代碼軟件。
在研究中使用這種軟件是否合乎道德?
如果使用它,那麼這部分將是我研究中的一個大黑匣子。因此,如果某人無法使用相同或其他軟件來重現我的數據分析,那麼如果我們能夠找出問題所在,則取決於軟件公司的擺佈。如果軟件公司不想合作,那麼可能永遠不會發現問題所在。我覺得這與科學原理相反。
我不認為這首先是一個道德問題。可重複性不受要求花錢購買軟件或進行實驗(或者是否有開源粒子加速器?)的要求所損害。
儘管出於多種原因,開源解決方案是可取的,顯然,在某些情況下,使用某些專有軟件P是適當的:
請注意,我假設P 可以實際上被任何人購買。如果P不是市售產品,而是內部封閉源解決方案,那麼最好使用開源軟件包。
隨著對計算研究的更高重現性的推動,這一問題已成為重要的問題。閉源軟件的使用是大多數領域研究的可接受部分。然而, John Claerbout所闡明的以下觀點正變得越來越普遍:
計算結果是廣告,而不是獎學金。真正的獎學金是產生結果的完整軟件環境,代碼和數據。
從這個角度來看,如果您依賴封閉源代碼,則無法完全發布您的研究。
存在多個問題:
這兩者都是原則性的問題;實際上,解決差異並找到/修復相關的bug也是開源軟件的主要挑戰(但至少可以想像得到)。
發布您自己的所有代碼。您可能有一些腳本調用了專有軟件,或者至少有一些輸入文件設置了要解決的問題。通常,這些腳本包含您研究中的大部分新內容,因此對其他研究人員而言,其中的內容通常比專有資源中的內容更為重要。
使用多種獨立的方法來確認您的發現。這樣可以減少錯誤影響結果的可能性。在我自己的研究中,有時會通過發現專有軟件中的錯誤(導致錯誤結果)而獲得回報。
了解在軟件及其弱點。即使看不到源代碼,您通常也可以了解它們包含的計算方法。一旦知道了這些方法可靠(或不可靠)的情況,就可以檢查它們是否可能為您的問題提供值得信賴的結果(例如,通過檢查輸入到某些線性代數軟件中的矩陣的條件數) )。
請注意,某些商業軟件只是開放源代碼的漂亮界面。例如,用於計算稀疏矩陣特徵值的MATLAB的 eigs
函數只是開源軟件包 ARPACK的一薄薄的包裝。如果使用它,則實際上並不依賴太多(如果有)封閉源代碼。
法律與您的工作息息相關;道德更多地是關於什麼是更好的選擇以及為什麼更好。問題的答案取決於為什麼使用專有軟件。
請注意,“專有”和“封閉源代碼”不是同一個人。例如,MATLAB(專有的商業軟件)實際上隨附了其實現的大多數功能的可讀代碼。您不允許重複使用此代碼(因此稱為“封閉源代碼”),但是可以檢查它是否存在必須解釋的計算差異。
即使沒有源代碼,它也可以通常會記錄由給定的閉源函數實現哪種算法。因此,如果某人無法使用封閉源軟件重現您的結果,那麼他可以在您使用的軟件中找到他懷疑不正確的算法的開放源實現,並使用這些實現比較結果。當然,這很耗時,但是不要指望使用開源軟件會完全使您的結果100%可重現。您的同事仍然需要在確切的計算機環境上運行確切的軟件版本,以確保獲得完全相同的結果,並且這些版本和環境很可能在10到20年內不可用。在那之後,同樣耗時的過程也將應用於開源軟件。
我在這裡假設您不使用對實施該算法的算法保密的軟件包。當然,您不僅要避免重複使用結果,而且還要避免使用這些方法,因為以未知方式獲得的結果沒有任何科學價值。
我將在此處添加其他觀點-如果您基於封閉源程序包中的分析設法獲得了驚人的結果,則該封閉源程序包中沒有可用的開放源代碼實施,或者開發不完善,那麼您會立即強烈鼓勵科學界的開發人員 無法訪問該程序包,但是 希望重現結果,著手開始著手改進所述商業軟件的開源替代品。
這有兩個好處。在第一種情況下,您正在幫助鼓勵開發新的開放源代碼工具,其次,此類工具的並行開發有助於對兩者進行相互檢查。我會說使用可行的方法,最合適的方法以及可以幫助您在預算範圍內最好地完成工作的方法。如果您無權為社區提供更好的開源工具,那麼請讓其他人承擔起這一切。產生有用,獨特和有趣的科學成果,正是從一開始就刺激這種類型的發展的事物。
從某種意義上說,使用封閉源代碼包實際上可以促進開放源代碼開發-因此您仍在以間接方式提供幫助。但是,如果您使用的開源軟件包可以替代開源軟件包,那麼對於其他人來說,使用免費工具通過自己的實現來複製您的結果應該是微不足道的,因此,完全沒有道德問題。如果有的話,它提供了使用兩個不同的工具測試相同結果的機會,從科學上講,這總是比使用相同工具再現結果更好。您可以同時檢查工具(彼此相對)和科學。獎金。
如果您編寫“結果是使用以下設置通過軟件X v X.X處理的,而打印的輸出是”,則這不再是科學,而更像是一種魔術。這些算法必須在某個地方完整記錄下來,並且對於科學研究來說是可以理解的。
如果在用戶文檔中正確描述了這些算法,或者完全可以滿足對專有軟件的這一要求,則完全有可能。專有軟件僅構成執行平台,算法本身在其頂部進行了編碼(Matlab,專有C編譯器等)。理想情況下,專有代碼也應該可以在限制性許可下進行審查。
不幸的是,專有工具通常往往會隱藏確切的算法細節,將代碼的重要部分保密,並且由於某些原因而不受歡迎。科學界。沒有人願意發表文章只是為了發現以後的結果只能由單個專有工具的單個版本複制,這很可能是由於瑣碎的錯誤所致。
自己決定:
根據我的經驗,我可以辯稱,使用封閉源代碼軟件會導致大量潛在的研究人員被拒之門外(或迫使他們在灰色市場上獲得非法副本) 。我在Matlab是標準工具的區域工作了很多年(20年後仍是:-(),然後我在沒有Matlab許可證的地方接受了博士後(並非所有CS部門都擁有它)甚至在德國的優秀大學中,由於它們可能沒有校園範圍的許可證,而在工程學中他們肯定擁有Matlab,這在CS上還是很成問題的。與Matlab相關的項目(因為不能以博士後的薪水購買足夠完整的Matlab許可證...)
(而且我曾經在我所訪問的部門中基本上已經盜取了Mathematica許可證,出於同樣的原因。:-))
另一種情況,甚至更難解決的是岩漿(比Matlab少為人所知,但在代數數論和群論等領域仍然幾乎是標準的),除非您在美國(否則可能必須這樣做),否則很難為選定大學的既定圈子之外的任何人獲得許可證
編輯:我被告知我正在爭論雙重標準(提到用於實驗的昂貴工具),但事實並非如此。科學軟件通常比科學工具更接近科學出版物。在使用免費工具替代昂貴工具的情況下,不選擇免費替代工具類似於為您的工作選擇昂貴且排他的發布者,而不是在網絡上發布。
EDIT2:同樣,可靠性問題閉源研究軟件的大量文獻記載;也許目前最著名的是Mathematica中行列式計算中錯誤的故事。 Wolfram Ic將該出版物以諸如 AMS的通知這樣引人注目的來源加以修復。通常,使用開源工具修復此類錯誤的速度要快得多,或者至少可以在錯誤跟踪器上公開看到。
您提到的軟件有四個方面會引起道德問題:是封閉源代碼,是專有的兩個方面,您沒有提到但它們是閉源專有軟件的特徵-要求(非否定支付)和要求同意
(*)...有人說-這些不道德的方面不利於獲得和發表研究結果的潛在公共利益。做出決定時,請確保您在量表的兩邊都公平地堆疊在一起-並且要考慮他人以及您自己。
我認為我們需要找到問題的基礎;道德問題的答案始於道德(對與錯的科學)。具體來說,我們應該問自己... *我們是否對任何參與的人都進行欺騙? (例如,我們是否披露了與研究相關的所有信息,包括所有潛在的利益衝突?)讓自己處於他人的位置:如果遇到我的情況,我想讓別人做些什麼,而我對這項研究有所涉獵? *我們是否在挪用不屬於我們的東西?
如果我們無法確定特定的道德反對意見,那麼我們將進行針對特定領域的道德規範,即:*是是否存在一個已經承諾並將違反的特定領域道德守則? (例如希波克拉底誓言,醫學,律師-客戶特權等)。您是否已與雇主簽署協議?
最後,我們應該進行“無價值”分析:成本/收益,相對替代方案的實用性和可用性,合理預期的結果。
請注意,將最後一個類別置於最高位置是完全忽略道德操守,並冒著以良好的目的證明可疑手段的風險–總是有危險的
我希望這會有所幫助!
16/08/16編輯:我應該根據上面的標準以及到目前為止所看到的信息和意見(包括此線程),答案是否定的,本身不是不道德的(即,本身)。
在某些情況下,它可能變得不道德,但這是不同的。例如,如果您選擇封閉源代碼軟件是因為這樣做對您的個人財務有利,那顯然是不道德的。或者,如果您知道您可以利用該軟件中的功能或錯誤來使科學競爭者處於劣勢,或獲得更好的結果。換句話說,動機至關重要。
作為一個例子,上述某人提到了“營銷”動機。如果公開了這些信息,顯然會減少人們對您的結果的接受/信任。
在政治上,陽光是最好的消毒劑。也就是說,披露您可以合理預期的所有內容,這些都會影響非信任審計員對結果的接受。
在考慮時間和精力時,“自由”並不總是意味著“自由”。研究可能很昂貴。如果有人可以購買一個軟件包,並且該軟件包具有良好的支持和精湛的文檔,可以節省我在研究項目中的時間,那麼很難相信如果花更多的時間使用開源軟件會更便宜。實際上,我什至可以說,如果我不花$ 2K來加快我的工作,而讓我的資助機構為減少產出而支付相同的費用,那麼從道德上講,比使用專有軟件包更值得懷疑。 (當然,假設開放源代碼不那麼方便,並且所有可以付費的人都可以使用封閉源代碼,是的,我知道那不是唯一的情況,所以請不要打擾指出異常情況)。
我運行Matlab,然後運行Octave。它們是相似的,但是我在運行Matlab方面有更多的無故障體驗,因此我傾向於雙擊。
...是的,我使用PLENTY的開源軟件,它使我的生活更輕鬆。我還只建議向學生開放源代碼(...除了Matlab之外,後者擁有大量的學生許可證),因為每次我向學生提及昂貴的軟件包時,第二天它們就會出現盜版版本,而我不會希望有助於或鼓勵知識產權盜竊。
我認為這不是問題。例如,許多研究生物學家使用Photoshop來處理其圖像。我認為開放源代碼軟件是許多人所首選的,因為它更符合開放研究的原則,但是在幾乎所有情況下,確保您的方法正確無誤且可重現性至關重要。
沒關係。大多數但不是全部科學計算器都以相同的方式計算正弦。您知道計算器是如何計算正弦的嗎?
某些免費軟件簡直是劣等的。一個具體的例子是OpenOffice。真妙的是,它在Microsoft Office認真處理的某些任務中失敗了,甚至沒有嘗試其他任務。
如果我使用Hewlett-Packard氣相色譜儀怎麼辦?使用其他品牌,別人得到不同的結果?我要負責嗎?