登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
源碼專案 用 JotGit 簡化科學協同寫作

用 JotGit 簡化科學協同寫作

本文翻譯自 opensource.com,原作者為 John Lees-Miller:https://opensource.com/life/14/6/scientific-writing-with-jotgit

多年以前,在一堂研究所的電腦科學課程上,我負責實作透過運動偵測進行變分影像分割 (variational image segmentation) 的演算法。這個演算法非常特殊。該課程簡單地用幾篇論文介紹過它,演算法包含幾十個子程序,在實作時成長為數千行的 MATLAB 程式碼。但是其中有個被神秘地命名為數值更新 (numerical upgrading) 的程序,科學記錄中很神秘地缺少了關於該程序的描述。沒有這個不起眼但關鍵的程序,這整個偉大的影像分割機器只能停擺。

幸運的是,在歷經多次挑燈夜戰後,我終於設法追查到一篇未出版的技術報告,其中概述 (用的是日文,不過那是另個故事了) 了我需要的程序。於是那偉大的機器開始轟隆隆地運作起來分割影像,也挽救了我的 GPA。

這堂課教了我許多事,其中一件,就是我們在邁向可重現的科學成果,特別是科學程式碼上,還有很長的路要走。這也是我們最近著手 JotGit 這項開源專案的原因之一。

JotGit 結合了 git 強大的版本控制與離線作業,以及線上協作的豐富文本編輯。我們的目標是讓使用 git 追蹤與發表科學論文變得簡單:包括論文的文字、使用到的資料、用來處理資料的程式碼,以及其他和論文相關的一切。這裡是簡單的原型展示

該專案程式碼在 GitHub 上。JotGit 還只是個原型,不過我們會儘早且經常地釋出。為了讓你更容易執行、架設、修改 JotGit,我們採用了 meteor 網路框架來建構它,所以非常容易在各種 Mac 或 Linux 系統上運作,相依性也最少。Meteor 讓開發即時網路軟體變得有趣,所以就算你之前沒碰過網路軟體開發,這裡是個不錯的開始。

JotGit 背後的理想是,每個人都應該能夠使用自己所喜愛的工具與程序對科學論文做出貢獻。目前在使用 git 的科學家們,也傾向採用 LaTeX 與 Markdown 這類工具來撰寫他們的論文。這些工具是以文字為基礎,容易用 git 管理。但是大多數科學家仍在使用 Word 文件,這些文件與 git 並不相容。而且,不幸的是,從 Word 到 Markdown/LaTeX/git,有很陡峭的學習曲線等待跨越。

我們是從運行 writeLaTeX 的經驗中,獲得對這個問題的了解。writeLaTeX 是個針對 LaTeX 並有豐富文本層的協同編輯器,為 LaTex 帶來所見即所得功能。協助 LaTeX 技客與非 LaTeX 技客的協同合作,一直是我們對 writeLaTeX 的主要目標之一。如果你已經習慣於以 LaTeX 撰寫論文時,使用強大的腳本功能、版本控制、歷史記錄,你可能會因為有人給你一份 Word 文件而不知所措。同樣的,如果你慣用的是 Word,當有人給你一大堆不像論文的電腦程式碼時,你可能也會有一樣的反應。透過 JotGit,我們在後端使用像 git、LaTeX、Markdown 的強大工具,不過我們把它們都包在簡單、協作、所見即所得的前端之中。最後,你可以使用任何你偏好的工具。

像 git 這樣的分散式版本控制系統,在科學論文協作與分享上所帶來的機會,令我們感到興奮。GitHub 已經用它 fork 與 pull request 的協作模式,徹底改變了開源軟體。我們能否在科學記錄上實現同樣的結果?fork 一篇論文的意義為何?目前 JotGit 可以在本地 git 儲存庫運作。不久後,我們就會把它掛上 GitHub,到時我們就能找出答案。

這就是目前的現況。請期待不久後更多的更新。儲存庫裡有關於後續步驟的規劃,如果你有任何問題,都可以留言給我們或開啓議題來討論。

祝黑客愉快!




自由軟體鑄造場電子報 : 第 244 期 正確尋找自由開源軟體的授權資訊

分類: 源碼專案