跳至主要内容

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

WWDC 2022

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

一如往常蘋果開發者年會, WWDC 主要著重在 OS 方面的更新, 比較少硬體相關發表. 而從 2020 一鳴驚人的 M1 處理器面世之後, 蘋果大型發表會幾乎都有更強大後續更新發表. 從 M1 Pro / M1 Max / M1 Ultra, 這次則發表了 M2 處理器.

有趣的是, 在官方發表的訊息看來, M2 處理器, 除了採用新一代的 5nm 製程外, 本質架構上似乎是和 M1 一樣, 由 A14 魔改而來的版本. 期待的以 A15 核心發展而來的 M2 似乎還在路上?

更新: 後續多家媒體的評測分析來看, 大多認為 M2 採用的應該是 A15 核心. 不過官方沒有正式消息, 先補充備記於此.

過去 Intel CPU, 以架構和製程各每兩年一次重大更新交錯發表聞名的 Tick-Tock 戰略, 而好些時間發表效能又不符合期待, 被戲稱為擠牙膏.

M2 相對於 M1 已有兩年時間, 體質架構上沒有改變, 而是製程的成長帶來了效能提昇. 兩年之後的效能提昇了 18%, 似乎和擠牙膏時期的 Intel 差不多? 期許 Apple 別走向 Intel 後塵, 期待市場上有多樣各自特色的產品供應選擇.

WWDC 2022 上另一個新硬體是和 2020 M1 一起發表的 Macbook Air / Macbook Pro 13". 其中 Macbook Pro 13" 除了 CPU 升級外, 其餘都和 M1 版本一樣. 可以看得出來 MBP 13" 準備走入歷史了, 由 MBP 14" 取代.

而 M2 Macbook Air 各項設計語言也和 MBP 14"/16" 看齊. 看來我所不喜歡的外表, 會是未來好段時間 Macbook 系列的統一長相. 而我最期待的 Macbook 12" 並沒有後續機種的消息, 看來是徹底走入歷史了.

而 WWDC 上主軸的軟體更新, 一方便覺得 3C 整合確實越來越方便了. 手機 / 平板 / 電腦的協同工作越來越無縫銜接.

不過蘋果自成體系的生態圈似乎也越來越排外, 近年來許多新功能, 對於非完全蘋果體系的用戶, 是很無感的.