機遇與挑戰|研發類工業軟件開源生態發展觀察
從全球范圍來看,開源已經成為軟件技術和產業創新的重要模式,諸如Linux、Android、MySQL等軟件都采取了開源策略,同時全球開源軟件項目的數量持續呈穩定增長態勢。據全球最大的代碼托管平臺GitHub數據顯示,2023年GitHub托管倉庫已達4.2億,新增倉庫7300萬個,增長率達21%。
支持開源的擁躉者,堅定認為開源模式相比于工業時代封閉專利的發展模式,更順應數字時代技術迭代快、應用范圍廣的發展規律,通過去中心化的協作方式激發各類主體的創新創造活力,以開放協作實現智慧累積,對創新效率和創新質量帶來巨大提升。
近年來,工業軟件開源生態的國際化程度逐漸深入,開源體系建設也從平穩起步邁向加速發展的新階段。依托開源模式實現加速發展,成為新晉工業軟件廠商們選擇的重要模式,也是推動工業軟件創新的一條重要路徑。
那么,研發類工業軟件領域有哪些開源引擎?有哪些做得發展得不錯的開源項目?面臨著哪些機遇與挑戰?中國市場在這一領域的布局與進展如何?本文將逐一剖析與介紹。
一、工業軟件開源生態觀察
萬丈高樓平地起,從幾何建模內核說起
幾何建模內核,是用于提供CAX軟件中的建模功能的軟件組件,也是任何一款CAX軟件的基石。其定義了建模造型的表達和設計交互能力,定義了幾何造型的語言,涵蓋了數學、幾何和拓撲對象的數據結構及相應算法;以及文件導入/導出功能,可實現IGES模型導入、STEP模型等標準文件格式的導入,并可統一轉為自主文件格式。
縱觀CAX60余年的發展歷程,誕生了數十個內核/平臺。其中,二維領域最著名的非ITC(IntelliCAD Technology Consortium)莫屬,IntelliCAD因為與AutoCAD全面兼容,不僅界面、命令集、文件格式和AutoCAD高度兼容,并且編程接口LISP和SDS(c++)也和AutoCAD兼容,這也使得ITC技術聯盟擁有眾多的付費成員。
在二維領域的標準兼容上,則主要依賴ODA(Open Design Alliance),ODA開放設計聯盟是一個由1200家成員公司組成的非盈利技術聯盟,眾所周知,二維CAD軟件的兩項行業標準——DWG數據標準及ARX二次開發標準均由Autodesk制定、更新與維護,而加入ODA聯盟的成員公司可以通過ODA技術授權兼容DWG數據標準。
得益于ITC+ODA這對黃金組合,誕生了ZWCAD、Wrightsoft、progeSOFT、FRAMECAD、CADian、ActCAD、MicroSurvey等一批頗有影響力的軟件。
在三維領域,最具代表性的三個內核則是——ACIS(被達索收購)、Parasolid(被西門子工業軟件收購)和OpenCasCade(開源幾何建模內核)。此外,隨著CAX技術的發展,越來越多公司探索自有內核(Own kernel)的發展路徑,譬如PTC的Granite,CATIA的CGM以及SOLIDWORKS也在逐步轉向CGM,CrownCAD的DGM內核,ZW3D的Overdrive內核等。
其中,ACIS最初是美國Spatial Technology公司(后被達索系統并購)開發的產品,應用于CAD系統開發的幾何平臺。它提供從簡單實體到復雜實體的造型功能,以及實體的布爾運算、曲面裁減、曲面過渡等多種編輯功能,還提供了實體的數據存儲功能和SAT文件的輸入、輸出功能。
ACIS的特點是采用面向對象的數據結構,用C++編程,使得線架造型、曲面造型、實體造型任意靈活組合使用。ACIS產品使用軟件組件技術,用戶可使用所需的部件,也可以用自己開發的部件來替代ACIS的部件。ACIS產品包括一系列的ACIS3DToolkit幾何造型和多種可選擇的軟件包,一個軟件包類似于一個或多個部件,提供一些高級專業函數,可以單獨出售給需要特定功能的用戶。使用ACIS內核的代表軟件包括AutoCAD、ABAQUS、Fluent、Nastran、Cimatron、SpaceClaim、REVIT、ActCAD等。
Parasolid則是由Shape Data公司開發,經過多番并購現在由西門子數字化工業軟件擁有,可以被其他公司許可用于其3D計算機圖形軟件產品。Parasolid的功能包括模型創建和編輯實用程序,如布爾建模操作、特征建模支持、高級曲面設計、加厚和挖空、混合和切片以及圖紙建模等。
Parasolid還包括用于直接模型編輯的工具,包括逐漸變細、偏移、幾何替換以及通過自動再生周圍數據來移除特征細節。Parasolid還提供廣泛的圖形和渲染支持,包括隱藏線、線框和繪圖、曲面細分和模型數據查詢等。使用ParaSolid內核的代表軟件包括NX、SolidEdge、SOLIDWORKS、ANSYS、Onshape、FEMAP、Adams、Adina、Shapr3D等。
CAX開源軟件/項目薈萃,OCC獨領群英
數十年來,隨著技術的演進與革新,CAX內核并沒有呈現多點開花的格局,反而形成ACIS和Parasolid雙寡頭相對壟斷的局面。盡管也有不少公司在探索自有內核(Own kernel)的發展路徑,但較難形成規模化挑戰。
這也使得,開源成了除ACIS、Parasolid和Own kernel之外的另一選擇。
這就不得不提Open CASCADE(Open Computer Aided Software for Computer Aided Designand Engineering),它是全球十分重要的幾何造型基礎軟件平臺之一,也是工業領域唯一具有工程價值的開源幾何建模引擎。
Open CASCADE的歷史最早可以追溯到上世紀80年代的Matra Datavision(馬特拉資訊),當時Matra Datavision發布了Euclid CAD系統,隨著版本的迭代逐漸成為CAD/CAM領域的市場領導者。1993年,Matra Datavision創建了名為CAS.CADE(計算機輔助設計和工程的計算機輔助軟件/Open Computer Aided Software for Computer Aided Designand Engineering)的開發平臺,并于1999年以Open CASCADE的形式開源發布了CAS.CADE開發平臺;2000年,Matra Datavision宣布成立Open Cascade SAS子公司;此后,經過多次并購,Open Cascade平臺更名為Open Cascade Technology(OCCT),以避免與公司本身(Open Cascade)名稱混淆。
在幾何建模上,Open CASCADE是一個功能強大的三維建模工具,提供了點、線、面、體和復雜形體的顯示和交互操作,經過深度開發后可實現紋理、光照、圖元填充、渲染等圖形操作和放大、縮小、旋轉、漫游、模擬飛行、模擬穿越等動態操作;在數據交換上,Open CASCADE為CAD數據交換提供了先進的工具,支持STEP、IGES、STL和VRML等常見格式;在可視化上,Open CASCADE Technology平臺提供了基于OpenGL的自定義可視化子系統,該子系統不僅允許有效地使用庫的幾何資源,而且還支持在真實CAD應用程序中實現交互式3D場景。
在商業模式上,Open CASCADE通過開源方式讓全球各種軟件開發商使用其技術,并因為“開源”的屬性被公眾所知。如今,業界有眾多基于Open CASCADE引擎開發的開源項目/軟件,以及基于Open CASCADE構建的開源社區。
除Open CASCADE外,CAD開源引擎還包括Coin3D和CGAL。Coin3D主要是用于3D圖形編程的開源跨平臺庫,通常與Open Inventor(用于三維圖形開發的標準和工具包)結合使用;CGAL則是開源計算幾何算法庫,盡管也應用于CAD領域,如開源項目Open SCAD就使用CGAL用于構造實體幾何(CSG)評估。但CGAL更多還是應用在地理信息系統GIS、計算機圖形學CG(游戲、娛樂等)以及分子生物學、醫學成像等領域。
而在仿真分析領域,開源引擎則主要包括OpenFOAM、CodeAster、SU2、Calculix等。OpenFOAM是免費的開源CFD軟件,2004年以來由OpenCFD Ltd開發,每六個月發布一次專業版本,包括客戶贊助的開發和來自社區的貢獻。經過多次并購和重組,OpenFOAM如今是ESI Group的全資子公司,2023年ESI Group又被Keysight并購。
CodeAster是開源有限元仿真軟件,適用于固體力學、熱學和聲學等物理現象,具體細分為靜力學、動力學、流固耦合、傳熱學等,發源于法國電力集團(EDF),目前由一個德、法、奧地利多國專家團隊運營。
SU2是用C++和Python編寫的開源軟件工具集合,用于使用最先進的數值方法分析非結構化網格上的偏微分方程(PDE)和PDE約束優化問題,廣泛適用于航空、汽車、船舶和可再生能源行業。其誕生于斯坦福大學航空航天系航空航天設計實驗室(ADL),目前由SU2基金會運營。
Calculix是一個由德國慕尼黑MTU航空發動機公司工程師開發的開源結構有限元軟件,其基于GPL分發,處理器和求解器可單獨使用,并提供外部CAD接口。
另外,還有一系列運作較為成功的CAX開源項目,它們有一個共同的特點,就是建立于Open CASCADE開源幾何建模引擎之上,或構建于多個免費開源軟件庫之上:
比如FreeCAD,就是一個基于OpenCASCADE的開源CAD/CAE工具。FreeCAD具有類似CATIA、SOLIDWORKS、Solid Edge的功能,因此也提供除CAX之外的產品數據管理功能。同時也適用于多平臺,可在Windows和Linux/Unix和Mac OSX等系統運行;
SALOME是一個多方合作的開源CAE集成平臺,由法國電力集團EDF、法國原子能和替代能源委員會CEA和Open CASCADE三方合作共同發起;SALOME主要功能包含幾何建模、網格生成以及后處理,其中幾何建?;贠pen CasCADE,網格劃分主要基于NETGEN及Gmesh,后處理主要通過ParaView來實現;
開源國產CAE軟件集成開發平臺FastCAE的幾何建模模板也是基于Open CasCADE,由開源工業軟件工作委員會(Open Atom openCAX)孵化,面向求解器開發者提供CAE軟件界面與通用功能模塊快速研發集成框架,用戶可免費使用同時鼓勵商業化;
Open Geometry則是國內2023年剛成立的一個基于Open CASCADE的開源社區,由數字化工業軟件聯盟孵化,并由開元幾何作為服務公司運營的開源項目,主要搭建“云幾何內核開源軟件開發平臺”。
其他的開源項目還包括,基于云端的CAM開源項目Open Builds CAM,適用于五軸激光加工和其他數控加工操作;以及由Onshape開源而來的Feature Script,主要用于創建和處理3D參數模型,Feature Script內置于Onshape中,其源代碼是開源的,可在名為“std”的公共Onshape文檔中免費查看。
二、開源工業軟件機遇與挑戰
機遇面前,開源加速創新成共識
縱觀全球開源生態的發展,相較前幾年,呈現出愈加蓬勃發展的態勢:
首先,在技術創新方面,開源具備匯聚眾智,促進多方協同的特點,能有效提升技術創新及重大科學問題突破速度;其次,在產業發展方面,通過吸收開源協同的協作模式,使得分工鏈條更長更廣,可以讓產業鏈更多的人才參與到場景化、定制化的應用需求中,實現共創;在合作方面,通過開源可以鏈接廣泛的國際合作關系,構建更加緊密的全球協作分工體系。
從大方向上來看,這種開放共享的新型協作模式是數字經濟創新、開放、共享和可持續發展的關鍵驅動力,相比于工業時代以專利為牽引的封閉產業體系,具有分工效率更高、協作范圍更廣的特點??梢哉f,開源加速創新已是業界基本的共識。
當然,對工業軟件領域來說,借助開源雖不意味著一定能彎道超車,卻能在固化已久的市場掀起一些波瀾,或在細分市場占據一席之地。
以ITC技術聯盟為例,盡管它是一個需要付費加入的聯盟,但基于IntelliCAD發展出了ZWCAD、Wrightsoft、progeSOFT、FRAMECAD、ActCAD、MicroSurvey等一批頗有影響力的軟件。譬如Wrightsoft已成為暖通空調設計領域的全球領導者,而ZWCAD則為90多個國家和地區的超過140萬用戶提供產品和服務。
基于Open CASCADE更是誕生了一批有代表性的開源項目和產品,覆蓋航空航天與國防、汽車、BIM和AEC、化學、消費品、牙科、電子工程、工業設備、機械工程、醫療、軍事、造船、機器人、特種機械、體育用品等眾多行業和領域。
挑戰并存,開源面臨的潛在風險
另一方面來看,基于開源代碼雖然為工業軟件的開發提供了巨大的便利,但也存在諸多挑戰。
除了代碼漏洞、供應鏈攻擊等常規開源風險,工業軟件開源更大的挑戰在于要遵守相應軟件的開源規范。開源模式下,不同許可證對軟件再發行有著不同的要求,而這對選擇開源的軟件開發商來說至關重要,稍有不慎就可能掉坑里,甚至需要付出高昂的學費。
通常情況下,開源許可有三種類別:第一種是允許二次閉源發行,需要保留原始版權和許可聲明,有代表性許可模式的包括MIT、Apache2.0、BDS2.0-clause等;
第二種是在一定條件下允許二次閉源發行,常見的許可模式有LGLP2.1,其商業軟件通過代碼類庫引用(軟件代碼與引用的源代碼呈“松耦合性”)的方式下可以閉源發行;
第三種是不允許二次閉源發行。常見許可模式如GPL——其2.0版本不允許閉源發行,3.0版本在此之上設置了更嚴格的開源要求。
源自中國科學技術大學的九韶CAX內核,堅持進行自主研發而沒有選擇開源,主要就考慮到GPL許可模式的限制。
目前,大多數選擇開源的工業軟件都基于Open CasCADE內核進行開發,而它們均需要以LGPL License模式發布。LGPL是GPL(GNU General Public License)的一個變種,允許在不將整個項目開放源代碼的情況下使用LGPL代碼。它主要用于軟件庫,允許與閉源軟件鏈接而不強制開源,但修改的LGPL代碼仍需公開。
這就意味著,基于Open CasCADE開源代碼發布自己商用軟件的公司,需要公開和發布改寫的那部分代碼內容,否則可能會遭到侵權起訴。
實際上,在工業軟件領域,因為源代碼造成的糾紛和爭論不一而足。不同開源許可證對于二次發行有不同程度的開源要求,要求越嚴格,開發者越難保護商業版本發行的機密性。如何平衡好知識產權和侵權風險,是工業軟件擁抱開源的重要挑戰!
三、倍道而進的中國開源工業軟件產業
政策加持,加速推動工業軟件開源建設
隨著開源技術的不斷發展,歐美國家在開源政策方面逐漸完善,這些政策在鼓勵創新、促進技術共享和保護開源社區等方面發揮著積極的作用。
過去兩年,我國開源支持政策持續落地,一定程度上推動著工業軟件開源體系建設從平穩起步邁向加速繁榮的新階段。
國務院編制的“十四五”規劃和2035年遠景目標綱要提到,要支持數字技術開源社區等創新聯合體發展,完善開源知識產權和法律體系,鼓勵企業開放軟件源代碼、硬件設計和應用服務;工信部頒發的《十四五軟件和信息技術服務業發展規劃》中,則明確指出要培育重點開源項目、建設優秀開源社區、提升開源治理能力等。
各地方政府更是密集出臺了支持開源的相關政策舉措:
在安徽省人民政府辦公廳印發《以數字化轉型推動制造業高端化智能化綠色化發展實施方案(2023—2025年)》中,提出要支持工業軟件開源生態建設。
青島市人民政府辦公廳印發《數字青島2023年行動方案》則提出:鼓勵行業領軍企業建設開源平臺,孵化一批基礎性、前瞻性開源項目,加快構建開源軟件生態。
無錫市人民政府印發《無錫國家傳感網創新示范區(無錫市物聯網產業集群)發展三年行動計劃(2023—2025年)》提到要深化與國內開源基金會、代碼托管平臺和開源社區合作。
北京市人民政府辦公廳印發《北京市機器人產業創新發展行動方案(2023-2025年)》提到要大力推動開源控制系統、開源芯片、開源仿真軟件等研制和應用。
南京市工業和信息化局印發《加快開源軟件發展三年行動計劃(2023-2025年)》強調,要支持特色化示范性軟件學院發揮開源人才培養的示范帶頭作用,探索產學研一體化的開源人才培養模式,加快推進開源教育。
2023年12月,江蘇省人民政府辦公廳印發《關于加快工業軟件自主創新的若干政策措施》中,提到要支持開源技術創新。鼓勵各地建設、招引自主開源軟件創新平臺,扶持基于自主基礎軟件的開源社區運營,舉辦開源技術交流活動,建立開源軟件項目“白名單”制度,營造開源開放的技術產品創新和應用生態。
2022年7月,在開放原子開源基金會指導下,我國還成立了開源工業軟件工作委員會(Open Atom openCAX),致力于構建一個國際化的開源工業軟件工具鏈,推動我國開源生態有序發展,加速工業軟件關鍵核心技術的積累和產業商用的迭代,為工業軟件開源使用者、開發者、研究者提供國際化交流平臺。Open Atom openCAX通過凝聚國內工業軟件開源力量,組建了10個SIG技術組,籌建國內首個開源工業軟件社區,開展開源工業軟件技術研究,積極開展工業軟件開源文化布道。
試吃螃蟹,探索國產工業軟件開源發展
在探索工業軟件開源發展的過程中,正是有這樣一批勇于嘗試的先行者,推動著我國開源工業軟件的發展。
開源工業軟件工作委員會牽頭的FastCAE項目
傳統CAE軟件開發方式,通常由CAE廠商/研發單位從頭開始設計架構,并逐步開發相應的功能模塊。這導致需要相當長的時間周期、高技術人才和高昂的成本。
過去幾十年,我國一些高校和科研院所在CAE求解器、CAE軟件產品化等方面有過很多探索和積累,如何讓他們的工作形成合力,發揮規?;瘍r值?由開源工業軟件工作委員會(Open Atom openCAX)牽頭的FastCAE開源項目正在探索過程中。
FastCAE項目的發起,是想打造一個CAE軟件集成框架平臺開源模式,通過整合CAE軟件關鍵技術及參與主體,形成開放、共享、協作的研發與應用生態。這樣一來,可以解決兩個關鍵的問題:
一是將CAE開發過程中的低價值、重復工作解放出來,以用來進行高價值的CAE軟件共創;二是將底座共性技術堅持開源,分階段探索開源營收的商業模式。
應該說,經過四年的積累,FastCAE實現了一定程度的業務、技術和人才的協同發展。包括組織開源學院培訓、開源工業仿真軟件集成大賽以及多次的主題演講與宣傳,已應用到船舶、汽車、航空航天、核能、機械、熱能以及多場耦合等行業和領域,服務國產CAE軟件100余例,覆蓋高校、研究所、企業等40余家單位。
當然,FastCAE在商業模式仍有很長的路要走。只有真正意義上打造成有競爭力和生命力的商業化產品,才能立于市場之林。
數字化工業軟件聯盟孵化OGG開源項目
華為在遵守法管母社區的許可下,將OCC俄管子社區全部源代碼遷移到華為云服務器上。
這是Open Geometry Group(OGG)開源社區創建的背景。為區別于OCC原有俄管子社區名稱,2023年,由數字化工業軟件聯盟牽頭的Open Geometry Group(OGG)開源社區正式命名和落地。
2024年4月,OGG 1.0開源幾何建模引擎正式發布。兩年來,華為技術團隊對OGG進行了486項增強,并仍在持續更新和研發。未來,OGG還將針對性地對新一代云幾何融合內核、開源測試用例庫、CAD模型交互標準……等進行規劃。
與FastCAE開源項目聚焦在CAE領域不同的是,OGG有著更宏大的愿景。從技術層面來看,OGG接收了Open CasCADE創始團隊12名元老,同時組建了一支50余人的跨國幾何算法團隊,彰顯了其投入開源的決心;但同樣,OGG面臨的挑戰在于商業模式,只有以市場化的方式贏得市場,才能讓開源這條路行穩致遠。
后記
探討工業軟件開源發展問題,首先需要厘清幾個概念:
一、開源軟件是使用者在遵守許可限制的條件下,可自由獲取源代碼。遵守開源規則與規范至關重要,否則可能會陷入泥潭甚至付出高昂的學費;
二、開源是一種開發理念和方式,并不意味著免費。開源軟件同樣面臨商業化的問題,沒有足夠具有競爭力的商業模式,可能會曇花一現,成為過眼云煙。
總的來說,我們應有擁抱開源的勇氣,鼓勵那些嘗試、探索甚至試錯開源的先行者們?;陂_源模式,他們將積累多年的洞察、經驗和Know-How貢獻出來,本身就是一種開放協作、符合數字經濟價值觀的舉措,也更有助于形成多邊緊密的全球格局和實現可持續發展。
但同時,對開源工業軟件所面臨的挑戰與風險、以及所需要進行的長期投入、有競爭力的商業模式等要有清晰的認知和研判。在此基礎上,借助開源降低企業開發工業軟件的成本、實現全球化使用、全球化迭代、全球化糾錯、全球化分享,未嘗不是工業軟件創新發展的差異化路徑!
文章版權歸西部工控xbgk所有,未經許可不得轉載。