跳至主要内容

2 篇文章 含有標籤「GitHub」

檢視所有標籤

Give up GitHub ?

· 閱讀時間約 2 分鐘
kywk
Site Maintainer

Give Up GitHub: The Time Has Come! - Conservancy Blog - Software Freedom Conservancy 是今天上 Hacker News 的熱門討論. 通篇來說, 支持反對或中立幾方的討論, 好像還是回到 Vim V.S Emacs 之類的信仰之爭.

前些日子, GitHub 毫不意外地公告了 Atom 退場, 近日 GitHub 又推出了可能有版權疑慮的收費服務 GitHub Copilot, 相信這些舉動會踩到 FOSS 基礎教義派支持者.

對許多開源開發者來說, MS 代表了原罪. 即使 GitHub 打從一開始就聲明 GitHub 是商業公司, 不是非營利組織. 當他獨立經營時, GitHub 對開發整合帶來的便利, 深受各方開發者喜好, 也包括 FOSS 專案與社群. 而當 MS 買下 GitHub 後 GitHub 一舉一動都會被放大檢視與批評.

個人暫時是中立偏向支持 GitHub 的立場. 自由軟體若能適當結合商業行為, 才能走得更遠.

ref: Give Up GitHub - Software Freedom Conservancy

22.07.05 update

相關後續報導:

GitHub Copilot GA

· 閱讀時間約 5 分鐘
kywk
Site Maintainer

GitHub Copilot

這幾天開發者社群最大的新聞應該是 GitHub 公告正式開放 GitHub Copilot. Hacker News 上也討論的沸沸洋洋: GitHub Copilot is generally available

價錢也出來了,US$10/mo 或是 US$100/year:

We’re making GitHub Copilot, an AI pair programmer that suggests code in your editor, generally available to all developers for $10 USD/month or $100 USD/year. It will also be free to use for verified students and maintainers of popular open source projects.

書寫程式時, GitHub Copilot AI 會即時跑出建議的修改或是下一行的編寫, 建議的資訊, 不單是幾個字或一行程式, GitHub Copilot 會以最完整的解決方法來協助開發者解決問題. 無論是提供樣板程式碼, 整個單元測試, 甚至是更複雜的演算法等。

Tabnine

早些年前, Tabnine 就提供了利用 AI 分析程式碼的自動完成工具. 傳統 IDE 的自動補完, 大多是分析程式碼中的變數, 物件屬性, 函式等, 提供對應的自動完成建議.

而 Tabnine 除了程式庫中的既有程式碼等分析資料外, 也會利用 AI 訓練分析的結果, 提供開發者可能會需要的自動補完推薦. 長期使用下來, 覺得 Tabnine 確實對開發上是有幫助的.

但 Tabnine 主要僅提供自動完成的推薦, 開發上還是一行行自己輸入. 而 GitHub Copilot 提供更多程式片段, 可能是一整個功能區塊程式樣板等.

可以理解 GitHub Copilot 帶來的便利. 畢竟過往經驗中, 有相當程度功能區塊其實都非常雷同, 尤其是像 CRUD / Error Handling / unit test / ... 等程式片段. 很多時候開發上確實是複製貼上到不同專案而已.

Amazon CodeWhisperer

無獨有偶地, 近日亞馬遜在 re:Mars 公布了一款名為 CodeWhisperer 的自動寫程式輔助工具的預覽版本.

亞馬遜的 CodeWhisperer 是一種能協助軟體工程師擁有更高寫程式效率的 AI 工具, 根據亞馬遜的說法,CodeWhisperer 將不斷檢查工程師所寫的程式碼, 並且提供正確的建議.

Issues

license

目前這個服務被著重討論的問題, 第一個是 license 問題, Hacker News 上有人提到有些程式碼的授權是有感染性的 GPL 類的, 若 GitHub Copilot 自動完成的程式片段引用了這些程式碼, 是否違反 GPL 規範, 這是個全新的問題, 在法院上還沒有被戰過.

code quality

另一個疑慮是, 學術界針對 Copilot 的研究論文指出, 在 1,689 個使用 Copilot 建議的程式中, 有 40% 的程式生成的程式碼具有已知的弱點. 而另一篇論文則指出 Github Copilot 事實上加速了劣質程式碼的產生.

所以類似工具的使用, 仍然很依靠工程師對程式碼掌握的程度. 否則程式產出快速, 但後續除錯的功夫, 可能事倍功半. (也許之後會有 AI debug 服務吧, 笑)

References