“很多人都知道 KiCad,但 Horizen 卻鮮有人知。同樣是開源的 PCB工具,為什么有了 KiCad 之后還要做 Horizen 呢?Lucas 的演講讓我感慨良多,分享給大家。”
? 有興趣的小伙伴可以先看下作者 Lucas 在 FOSDEM 上的演講: Horizen 簡介
和 KiCad 一樣,Horizen 也是一個(gè) PCB 設(shè)計(jì)套件,包括元器件管理、原理圖繪制和 PCB Layout。
Horizen EDA 是 GPL3 的 License,官網(wǎng)的地址在這里:
https://horizon-eda.org/
Github 的倉庫在這里:
https://github.com/horizon-eda/horizon
有意思的是,Horizen最核心的 PCB 布線器(router)及文件格式解析器(sexpr)參考的是 KiCad 6.04 版本。從某種程度來說,這就是開源的最大魅力之一:沒必要重復(fù)造輪子,可以基于很多優(yōu)秀的開源項(xiàng)目,更快速、高效地構(gòu)建一個(gè)新的應(yīng)用。那你肯定會(huì)問,為什么要另起爐灶搞個(gè) Horizen?不能直在 KiCad 上搞嗎?答案是不一定可以!規(guī)模越大的開源項(xiàng)目,貢獻(xiàn)者和維護(hù)者越多,他們來自全球各地,但通常會(huì)有一個(gè)核心的 lead developer 團(tuán)隊(duì)。要添加一個(gè)新的功能(尤其是比較大的改動(dòng)),需要大部分核心開發(fā)者的認(rèn)可。那么問題來了,雖然技術(shù)沒有國界,但每個(gè)開發(fā)者認(rèn)可的技術(shù)棧或?qū)崿F(xiàn)方式未必一致。于是乎...
一言不合就開干...
Lucas 說,他以前也一直是 KiCad 的用戶,之所以要做一個(gè)新的工具,是因?yàn)閷?duì) KiCad 庫管理方式不滿意,且遲遲沒有改變的計(jì)劃。這是一個(gè)很好的理由... 其實(shí)不止是 Horizen EDA,另一個(gè)當(dāng)紅的開源 PCB EDA 套件 LibrePCB 的問世也是出于同樣的原因。如果你熟悉 AD 或者 EasyEDA,就會(huì)發(fā)現(xiàn) KiCad 一直缺少一個(gè)重要的概念:元器件(Component),原理圖符號(hào)和PCB封裝是分開管理的,元器件的參數(shù)屬性(比如MPN、廠商等)只能存儲(chǔ)在符號(hào)內(nèi),且很難關(guān)聯(lián)供應(yīng)鏈。這就對(duì)元器件管理提出了很大的挑戰(zhàn)。且直到 2024 年的 KiCad 8 才出現(xiàn)了類似 DBLib 或 Capture CIS 的 Database Library(說實(shí)話還不太好用)。
另一個(gè)原因是因?yàn)?KiCad 使用了 wxWidget 作為 UI 的框架。雖然 KiCad 社區(qū)和 wxWidget 關(guān)系很鐵,wxWidget 也沒有什么大的瑕疵,但很多有情懷、有能力的工程師們總覺得 QT、Electron 等框架可以給 PCB 工具帶來更優(yōu)秀的視覺體驗(yàn)。
既然這樣,那就另起爐灶吧!因?yàn)橥瑯邮情_源項(xiàng)目,不僅可以復(fù)用 KiCad 中優(yōu)秀的代碼,還可以嘗試更新的技術(shù)棧。更重要的是,可以按照自己的想法實(shí)現(xiàn)自己想要的功能!
我們來看看 Horizon 有哪些和 KiCad 不一樣的功能:
以今天的標(biāo)準(zhǔn)來看,其中很多功能 KiCad 也都有了。但如果回到幾年前,Horizen 確實(shí)有很多創(chuàng)新之處。比如 ODB++ 輸出,這對(duì)于很多工程師來說是剛需(因?yàn)?a target="_blank">仿真軟件需要ODB++格式),而 KiCad 在很長一段時(shí)間里一直未能支持。我知道華秋電子的 Eric 為了在 KiCad 中增加 ODB++的功能,前前后后差不多用了半年左右的時(shí)間,工作量巨大。Spec 有 600 多頁,閉源軟件沒法參考,當(dāng)時(shí)只有 Horizen 提供了部分開源的 ODB++ 代碼。雖然 Horizen 中的 ODB++ 代碼并不十分優(yōu)雅,功能也不全,但仍為 KiCad 9 中 ODB++ 功能的出現(xiàn)提供了巨大的幫助!這也是開源項(xiàng)目的價(jià)值所在!
對(duì)于元器件的管理及供應(yīng)鏈的集成是 Horizen 另一個(gè)出彩的地方。時(shí)至今日,KiCad 仍然沒有添加“元器件”的計(jì)劃,這并不代表核心開發(fā)者們看不到“元器件”的價(jià)值。與之相反,大家都希望 KiCad 可以支持這一對(duì)象,但對(duì)于一個(gè)已經(jīng)存在了 20 多年的開源項(xiàng)目來說,重構(gòu)這一塊的難度和需要的資源實(shí)在太大。與其他“重要”的功能相比(比如裝配變量、高速走線、API框架等),“元器件”只能一等再等。畢竟相較于元器件管理,更流暢的原理圖、PCB繪制體驗(yàn)無疑更加重要。
什么是一個(gè)成功的開源項(xiàng)目?
Horizen 在 Github 上的 Star 是 1.2k,從這個(gè)角度而言,您可能覺得這是一個(gè)不錯(cuò)的項(xiàng)目。 那你知道 Horizen 的用戶數(shù)么?看一下下面的圖表,告訴我你真實(shí)的想法。 如果這是一個(gè)商業(yè)軟件,開發(fā)了將近10年(Horizen是從2016年開始的),只有不到100個(gè)用戶在用,你是老板的話你會(huì)怎么做? 但開源項(xiàng)目就完全不一樣了,只要作者愿意,可以再做10年!Lucas 同學(xué)也正是這么做的,下圖是 Horizen 的 Commmit 記錄:
你會(huì)發(fā)現(xiàn)一個(gè)有趣的事兒,從2023年起,Horizen貌似停止進(jìn)步了。原因是 Lucas 同學(xué)突然對(duì) 3D CAD 工具感興趣了,又做了個(gè)參數(shù)化的 3D CAD 工具 Dune 3D,所以沒花太多時(shí)間在 Horizon 上了??吹竭@兒,您可能和我的想法一樣,這老外也太能折騰了吧,就一個(gè)人可以整那么多活...... 在我看來,無論 Horizen 的用戶數(shù)有多少,這就是一個(gè)成功的開源項(xiàng)目。它的價(jià)值不只是提供了一個(gè)創(chuàng)新的工具,還為其他的項(xiàng)目提供了很多新的思路甚至是直接可以復(fù)用的“輪子”。更重要的是,這種基于興趣的創(chuàng)新和堅(jiān)持會(huì)鼓勵(lì)更多的人創(chuàng)造出更優(yōu)秀的產(chǎn)品,并分享給更多的人!
中國的開源環(huán)境如何?
這個(gè)問題可能不需要我回答,Deepseek 的出圈就是一個(gè)很好的證明。當(dāng)然在很多垂直領(lǐng)域,我們和國外仍有不小的差距。以電子行業(yè)為例,雖然無論設(shè)計(jì)還是供應(yīng)鏈都還不如國外“開放”,但我看到的是越來越多的開源硬件社區(qū)和開源硬件項(xiàng)目;雖然還沒有 KiCad 這樣優(yōu)秀的開源PCB設(shè)計(jì)工具,但我看到更多的企業(yè)和個(gè)人開始為 KiCad 社區(qū)做出貢獻(xiàn);我還看到很多高校的學(xué)者,開始從理論的角度開始“開源”生態(tài)的推進(jìn)。
在我看來,如果將開源生態(tài)與商業(yè)邏輯形成閉環(huán),必然可以更高效地推動(dòng)行業(yè)乃至社會(huì)的進(jìn)步。無論是 DeepSeek、RiscV 還是樂鑫科技(ESP)都已經(jīng)證明了開源的強(qiáng)大!
在 KiCad 的貢獻(xiàn)者中,我看到了不少高校的學(xué)生,他們不僅有想法,實(shí)踐能力也非常強(qiáng),敢想敢干。我想,這就是我們的未來。假以時(shí)日,中國的開源土壤一定會(huì)孕育出更豐碩的果實(shí)!
注意:如果想第一時(shí)間收到 KiCad 內(nèi)容推送,請(qǐng)點(diǎn)擊下方的名片,按關(guān)注,再設(shè)為星標(biāo)。
常用合集匯總:
和 Dr Peter 一起學(xué) KiCad
KiCad 8 探秘合集
KiCad 使用經(jīng)驗(yàn)分享
KiCad 設(shè)計(jì)項(xiàng)目(Made with KiCad)
常見問題與解決方法
KiCad 開發(fā)筆記
插件應(yīng)用
發(fā)布記錄
審核編輯 黃宇
-
eda
+關(guān)注
關(guān)注
71文章
2925瀏覽量
177952 -
開源
+關(guān)注
關(guān)注
3文章
3688瀏覽量
43827
發(fā)布評(píng)論請(qǐng)先 登錄
RT-Thread榮獲2025優(yōu)秀開源項(xiàng)目 | 新聞速遞

Open Echo:一個(gè)開源的聲納項(xiàng)目

全球的AI+EDA(電子設(shè)計(jì)自動(dòng)化)創(chuàng)新項(xiàng)目
ElfBoard開源項(xiàng)目|智能消防車項(xiàng)目

安泰功率放大器應(yīng)用:納米材料的前世今生

開源鴻蒙榮獲開放原子“2024年度操作系統(tǒng)領(lǐng)域國內(nèi)活躍開源項(xiàng)目”
開放原子開源基金會(huì)與三個(gè)開源項(xiàng)目舉行捐贈(zèng)簽約儀式
深入了解Java泛型——從前世今生到PECS原則

凌蒙派OpenHarmony開源項(xiàng)目榮獲本期Gitee官方推薦

KiCad EDA版本說明

如何提升EDA設(shè)計(jì)效率
ElfBoard開源項(xiàng)目|“智慧光伏”開源項(xiàng)目技術(shù)文檔

評(píng)論