Observation on the development of the open source ecology of R&D industrial soft

This article is originally published by Wang Yang, the chief reporter of e-works.

From a global perspective, open source has become an important model for software technology and industry innovation. Software such as Linux, Android, and MySQL have adopted open source strategies, and the number of global open source software projects continues to grow steadily. According to data from GitHub, the world's largest code hosting platform, by 2023, the number of repositories hosted on GitHub had reached 420 million, with 73 million new repositories added, representing a growth rate of 21%.

Proponents of open source firmly believe that the open source model, compared to the closed patent development model of the industrial era, is more in line with the development laws of the digital era, characterized by rapid technological iteration and broad application scope. It stimulates the innovative and creative vitality of various entities through decentralized collaboration, accumulates wisdom through open collaboration, and brings significant improvements to innovation efficiency and quality.

Advertisement

In recent years, the internationalization of the industrial software open source ecosystem has gradually deepened, and the construction of the open source system has moved from a stable start to a new stage of accelerated development. Relying on the open source model to achieve accelerated development has become an important choice for emerging industrial software manufacturers and is also an important path to promote industrial software innovation.

So, what are the open source engines in the R&D industrial software field? What are some open source projects that have developed well? What opportunities and challenges do they face? How is the market layout and progress in this field in China? This article will analyze and introduce these aspects one by one.Observations on the Open Source Ecosystem of Industrial Software

1. From the Ground Up: Starting with the Geometric Modeling Kernel

The geometric modeling kernel is a software component used to provide modeling capabilities in CAX software and is the cornerstone of any CAX software. It defines the expression and design interaction capabilities for modeling shapes, the language of geometric modeling, and encompasses data structures and corresponding algorithms for mathematical, geometric, and topological objects; as well as file import/export functions, enabling the import of IGES model, STEP model, and other standard file formats, and can be uniformly converted into proprietary file formats.

Looking back on the 60-plus years of development in CAX, dozens of kernels/platforms have been born. Among them, in the two-dimensional field, the most famous is undoubtedly ITC (IntelliCAD Technology Consortium). IntelliCAD is fully compatible with AutoCAD, not only in terms of interface, command set, file format, and high compatibility with AutoCAD, but also in programming interfaces such as LISP and SDS (C++), which are also compatible with AutoCAD. This has led to the ITC technology consortium having many paying members.

In terms of standard compatibility in the two-dimensional field, the main reliance is on ODA (Open Design Alliance). ODA is a non-profit technology alliance composed of 1,200 member companies. As is well known, the two industry standards for two-dimensional CAD software—DWG data standard and ARX secondary development standard—are all formulated, updated, and maintained by Autodesk. Member companies that join the ODA alliance can achieve compatibility with the DWG data standard through ODA's technical authorization.Figure 1: The Interconnection between AutoCAD, ITC, and ODA

Thanks to the golden combination of ITC+ODA, a number of influential software such as ZWCAD, Wrightsoft, progeSOFT, FRAMECAD, CADian, ActCAD, MicroSurvey, etc., have been born.

In the field of three-dimensional modeling, the three most representative kernels are ACIS (acquired by Dassault), Parasolid (acquired by Siemens PLM Software), and OpenCasCade (an open-source geometric modeling kernel). In addition, with the development of CAX technology, more and more companies are exploring the path of developing their own kernels, such as PTC's Granite, CATIA's CGM, and SOLIDWORKS is also gradually moving towards CGM, CrownCAD's DGM kernel, ZW3D's Overdrive kernel, etc.

Among them, ACIS was initially a product developed by the American company Spatial Technology (later merged by Dassault Systems) and is applied to the geometric platform for CAD system development. It provides modeling functions from simple to complex entities, as well as various editing functions such as Boolean operations, surface trimming, and surface transitions, and also provides data storage functions for entities and input/output functions for SAT files.

The characteristic of ACIS is the use of an object-oriented data structure, programmed in C++, which allows for flexible combination of wireframe modeling, surface modeling, and solid modeling. ACIS products use software component technology, allowing users to use the required parts or replace ACIS parts with their own developed parts. ACIS products include a series of ACIS3D Toolkit geometric modeling and various optional software packages, where a software package is similar to one or more parts, providing some advanced professional functions, which can be sold separately to users who need specific functions. Representative software using the ACIS kernel includes AutoCAD, ABAQUS, Fluent, Nastran, Cimatron, SpaceClaim, REVIT, ActCAD, etc.

Parasolid, on the other hand, was developed by Shape Data and is now owned by Siemens Digital Industries Software after several mergers and acquisitions. It can be licensed by other companies for use in their 3D computer graphics software products. The functions of Parasolid include model creation and editing utilities, such as Boolean modeling operations, feature modeling support, advanced surface design, thickening and hollowing, blending and slicing, and drawing modeling, etc.Parasolid also includes tools for direct model editing, such as tapering, offsetting, geometric replacement, and removing feature details by automatically regenerating surrounding data. Parasolid also provides extensive graphics and rendering support, including hidden line, wireframe and drawing, surface subdivision, and model data querying. Representative software using the ParaSolid kernel includes NX, SolidEdge, SOLIDWORKS, ANSYS, Onshape, FEMAP, Adams, Adina, Shapr3D, and others.

2. A Collection of Open Source CAX Software/Projects, with OCC Leading the Pack

For decades, as technology has evolved and innovated, the CAX kernel has not shown a pattern of blooming in multiple directions, but rather has formed a duopoly with ACIS and Parasolid. Although there are also many companies exploring the development path of their own kernel, it is difficult to form a scaled challenge.

This also makes open source another option in addition to ACIS, Parasolid, and Own kernel.

This brings us to Open CASCADE (Open Computer Aided Software for Computer Aided Design and Engineering), which is one of the world's very important basic software platforms for geometric modeling and is also the only open source geometric modeling engine with engineering value in the industrial field.The history of Open CASCADE can be traced back to the 1980s with Matra Datavision, which released the Euclid CAD system and gradually became a market leader in the CAD/CAM field through version iterations. In 1993, Matra Datavision created a development platform called CAS.CADE (Computer Aided Software for Computer Aided Design and Engineering), and in 1999, it open-sourced the CAS.CADE development platform under the name Open CASCADE; in 2000, Matra Datavision announced the establishment of the Open Cascade SAS subsidiary; since then, after several mergers and acquisitions, the Open Cascade platform has been renamed to Open Cascade Technology (OCCT) to avoid confusion with the company's own name (Open Cascade).

In terms of geometric modeling, Open CASCADE is a powerful 3D modeling tool that provides display and interactive operations for points, lines, surfaces, solids, and complex shapes. After in-depth development, it can achieve graphic operations such as texture, lighting, primitive filling, rendering, as well as dynamic operations like zooming, shrinking, rotating, roaming, simulated flight, and simulated traversal. In terms of data exchange, Open CASCADE provides advanced tools for CAD data exchange, supporting common formats such as STEP, IGES, STL, and VRML. In terms of visualization, the Open CASCADE Technology platform offers a custom visualization subsystem based on OpenGL, which not only allows for the effective use of the library's geometric resources but also supports the implementation of interactive 3D scenes in real CAD applications.

In terms of business model, Open CASCADE makes its technology available to software developers worldwide through open source and is known to the public for its "open source" attribute. Today, there are many open source projects/software developed based on the Open CASCADE engine, as well as open source communities built around Open CASCADE.

In addition to Open CASCADE, open source CAD engines also include Coin3D and CGAL. Coin3D is mainly an open-source cross-platform library for 3D graphics programming, often used in conjunction with Open Inventor (a standard and toolkit for 3D graphics development); CGAL, on the other hand, is an open-source computational geometry algorithms library, which, although also applied in the CAD field, such as the open source project Open SCAD using CGAL for constructing solid geometry (CSG) evaluation. However, CGAL is more often applied in fields such as Geographic Information Systems (GIS), Computer Graphics (CG, such as games, entertainment, etc.), and molecular biology, medical imaging, etc.

In the field of simulation analysis, the main open source engines include OpenFOAM, CodeAster, SU2, Calculix, etc. OpenFOAM is a free open-source CFD software developed by OpenCFD Ltd since 2004, with a professional version released every six months, including customer-sponsored development and contributions from the community. After several mergers and reorganizations, OpenFOAM is now a wholly-owned subsidiary of the ESI Group, which was acquired by Keysight in 2023.

CodeAster is an open-source finite element simulation software suitable for physical phenomena such as solid mechanics, thermodynamics, and acoustics, specifically divided into statics, dynamics, fluid-structure coupling, heat transfer, etc., originating from the French electricity company (EDF), and currently operated by a multi-national team of experts from Germany, France, and Austria.SU2 is an open-source software suite written in C++ and Python for analyzing partial differential equations (PDEs) and PDE-constrained optimization problems on unstructured grids using state-of-the-art numerical methods. It is widely applicable in industries such as aerospace, automotive, naval, and renewable energy. Born in the Aeronautics and Astronautics Department at Stanford University's Aerospace Design Laboratory (ADL), it is currently operated by the SU2 Foundation.

Calculix is an open-source structural finite element software developed by engineers at MTU Aero Engines in Munich, Germany. It is distributed under the GPL, with processors and solvers that can be used separately and provides external CAD interfaces.

Additionally, there is a series of more successful CAX open-source projects that share a common feature: they are built upon the Open CASCADE open-source geometric modeling engine or constructed on top of multiple free open-source software libraries:

For example, FreeCAD is an open-source CAD/CAE tool based on OpenCASCADE. FreeCAD has functionalities similar to CATIA, SOLIDWORKS, and Solid Edge, thus also providing product data management capabilities beyond CAX. It is also suitable for multi-platform use and can run on systems such as Windows, Linux/Unix, and Mac OSX.

SALOME is a collaborative open-source CAE integration platform initiated by a partnership between Electricité de France (EDF), the French Alternative Energies and Atomic Energy Commission (CEA), and Open CASCADE; SALOME's main functionalities include geometric modeling, mesh generation, and post-processing, with geometric modeling based on Open CasCADE, meshing primarily based on NETGEN and Gmesh, and post-processing mainly implemented through ParaView.The geometric modeling template of the open-source domestic CAE software integrated development platform FastCAE is also based on Open CasCADE, incubated by the Open Source Industrial Software Working Committee (Open Atom openCAX), and provides a rapid development and integration framework for the interface and general functional modules of CAE software for solver developers, which users can use for free while encouraging commercialization;

Open Geometry is a newly established open-source community in China in 2023 based on Open CASCADE, incubated by the Digital Industrial Software Alliance and operated by the open-source project of the service company Open Geometry, mainly building a "cloud-based geometric kernel open-source software development platform."

Other open-source projects include the cloud-based CAM open-source project Open Builds CAM, suitable for five-axis laser processing and other CNC machining operations; and Feature Script, which is open-sourced from Onshape, mainly used for creating and processing 3D parametric models. Feature Script is built into Onshape, and its source code is open-source and can be freely viewed in a public Onshape document called "std."

Opportunities and Challenges of Open-Source Industrial Software

1. In the face of opportunities, the consensus is that open-source accelerates innovation.Looking at the development of the global open-source ecosystem, compared to previous years, it shows an increasingly vigorous growth trend:

Firstly, in terms of technological innovation, open source has the characteristics of gathering collective wisdom and promoting multi-party collaboration, which can effectively enhance the speed of technological innovation and breakthroughs in major scientific issues. Secondly, in terms of industrial development, by absorbing the collaborative model of open-source cooperation, it allows for a longer and broader division of labor chain, enabling more talents in the industry chain to participate in scenario-based and customized application demands, achieving co-creation. In terms of cooperation, open source can link a wide range of international cooperative relationships, constructing a more closely-knit global collaborative division of labor system.

From a macro perspective, this new type of open and shared collaborative model is a key driver for innovation, openness, sharing, and sustainable development in the digital economy. Compared to the closed industrial system of the industrial era, which is driven by patents, it has the advantages of higher division of labor efficiency and a broader scope of collaboration. It can be said that the acceleration of innovation through open source has become a basic consensus in the industry.

Of course, for the industrial software field, leveraging open source does not necessarily mean that one can take a shortcut to overtake, but it can create some waves in the long-established market or occupy a place in the niche market.

Taking the ITC Technology Consortium as an example, although it is an alliance that requires payment to join, it has developed a number of influential software based on IntelliCAD, such as ZWCAD, Wrightsoft, progeSOFT, FRAMECAD, ActCAD, MicroSurvey, etc. For instance, Wrightsoft has become a global leader in the field of heating, ventilation, and air conditioning design, while ZWCAD provides products and services to more than 1.4 million users in over 90 countries and regions.Based on Open CASCADE, a number of representative open-source projects and products have emerged, covering a wide range of industries and fields such as aerospace and defense, automotive, BIM and AEC, chemistry, consumer goods, dentistry, electronic engineering, industrial equipment, mechanical engineering, medical, military, shipbuilding, robotics, special machinery, sports equipment, and more.

2. Challenges coexist, potential risks faced by open source

On the other hand, while open-source code provides great convenience for the development of industrial software, it also presents numerous challenges.

In addition to conventional open-source risks such as code vulnerabilities and supply chain attacks, a greater challenge for open-source industrial software lies in adhering to the corresponding open-source standards. Under the open-source model, different licenses have different requirements for the redistribution of software, which is crucial for software developers choosing open source. A slight misstep could lead to falling into a pit, and it may even require paying a hefty tuition fee.

Typically, there are three categories of open-source licenses: The first category allows for closed-source redistribution, requiring the preservation of the original copyright and license statement, with representative license models including MIT, Apache 2.0, BSD 2-clause, etc.;

The second category permits closed-source redistribution under certain conditions, with common license models such as LGPL 2.1, where commercial software can be distributed in a closed-source manner through the use of code libraries (the software code and the referenced source code exhibit "loose coupling").The third type is the prohibition of secondary closed-source distribution. Common licensing models such as the GPL—specifically, its version 2.0 does not allow closed-source distribution, while version 3.0 imposes even stricter open-source requirements on top of that.

The Jiushao CAX kernel, originating from the University of Science and Technology of China, insists on independent research and development instead of choosing to open-source, primarily due to the restrictions of the GPL licensing model.

Currently, most industrial software that opts for open-source development is based on the Open CasCADE kernel, and they all need to be published under the LGPL License model. LGPL is a variant of the GPL (GNU General Public License), allowing the use of LGPL code without opening the entire project's source code. It is mainly used for software libraries, permitting linkage with closed-source software without mandatory open-sourcing, but any modified LGPL code still needs to be disclosed.

This means that companies that publish their commercial software based on the Open CasCADE open-source code must disclose and publish the rewritten parts of the code; otherwise, they may face lawsuits for infringement.

In reality, in the field of industrial software, disputes and arguments caused by source code are numerous. Different open-source licenses have varying degrees of open-source requirements for secondary distribution; the stricter the requirements, the harder it is for developers to protect the confidentiality of their commercial version distribution. Balancing intellectual property rights and the risk of infringement is an important challenge for industrial software to embrace open source!Accelerating the Development of China's Open Source Industrial Software Industry

1. Policy Support Accelerates the Construction of Open Source Industrial Software

With the continuous development of open source technology, Western countries have gradually improved their open source policies, which play an active role in encouraging innovation, promoting technology sharing, and protecting the open source community.

In the past two years, China's open source support policies have been continuously implemented, to some extent, driving the construction of the open source system for industrial software from a stable start to a new stage of accelerated prosperity.The "14th Five-Year Plan" and the Long-Range Objectives through 2035, as outlined by the State Council, mention the need to support the development of innovative consortia such as open-source digital technology communities, improve the open-source intellectual property and legal system, and encourage enterprises to open up software source code, hardware designs, and application services. The "14th Five-Year Plan for the Development of Software and Information Technology Services Industry" issued by the Ministry of Industry and Information Technology clearly points out the need to cultivate key open-source projects, build excellent open-source communities, and enhance open-source governance capabilities.

Local governments have also been rolling out policies and measures to support open source:

In the "Implementation Plan for Promoting the High-end, Intelligent, and Green Development of the Manufacturing Industry through Digital Transformation (2023-2025)" issued by the General Office of the People's Government of Anhui Province, it is proposed to support the construction of an open-source ecosystem for industrial software.

The "Digital Qingdao 2023 Action Plan" issued by the General Office of the People's Government of Qingdao proposes to encourage leading enterprises in the industry to build open-source platforms, incubate a batch of foundational and forward-looking open-source projects, and accelerate the construction of an open-source software ecosystem.

The "Three-Year Action Plan for the Development of the Wuxi National Sensor Network Innovation Demonstration Zone (Wuxi City IoT Industry Cluster) (2023-2025)" issued by the People's Government of Wuxi mentions the need to deepen cooperation with domestic open-source foundations, code hosting platforms, and open-source communities.The General Office of the People's Government of Beijing issued the "Beijing Municipal Action Plan for the Innovative Development of the Robot Industry (2023-2025)", which mentions the need to vigorously promote the development and application of open-source control systems, open-source chips, and open-source simulation software.

The Industrial and Information Technology Bureau of Nanjing City issued the "Three-Year Action Plan for Accelerating the Development of Open Source Software (2023-2025)", emphasizing the support for characteristic demonstration software colleges to play a leading role in the cultivation of open-source talent, exploring an integrated open-source talent training model of industry, academia, and research, and accelerating the advancement of open-source education.

In December 2023, the General Office of the People's Government of Jiangsu Province issued "Several Policy Measures for Accelerating the Independent Innovation of Industrial Software", which mentioned the support for open-source technology innovation. It encourages localities to build and attract independent open-source software innovation platforms, support the operation of open-source communities based on independent basic software, hold open-source technology exchange activities, establish a "white list" system for open-source software projects, and create an open and innovative ecosystem for technology products and applications.

In July 2022, under the guidance of the OpenAtom Open Source Foundation, China also established the Open Source Industrial Software Working Committee (Open Atom openCAX), which is committed to building an international open-source industrial software toolchain, promoting the orderly development of China's open-source ecosystem, accelerating the accumulation of key core technologies in industrial software and the iteration of industrial commercial use, and providing an international exchange platform for users, developers, and researchers of industrial software open source. Open Atom openCAX, by gathering domestic industrial software open-source forces, has established 10 SIG technical groups, prepared for the first domestic open-source industrial software community, carried out research on open-source industrial software technology, and actively promoted the culture of industrial software open source.

2. Trying crabs, exploring the open-source development of domestic industrial software

In the process of exploring the open-source development of industrial software, it is precisely these pioneers who are brave enough to try that are driving the development of China's open-source industrial software.2.1. The FastCAE project led by the Open Source Industrial Software Working Committee

The traditional CAE software development approach typically involves CAE manufacturers/research and development units designing the architecture from scratch and gradually developing the corresponding functional modules. This leads to a considerable time cycle, a need for highly skilled technical personnel, and high costs.

Over the past few decades, some universities and research institutes in China have explored and accumulated experience in the areas of CAE solvers and the commercialization of CAE software products. How can their efforts be combined to create a synergistic effect and realize value on a larger scale? The FastCAE open-source project, led by the Open Source Industrial Software Working Committee (Open Atom openCAX), is in the process of exploring this.

The initiation of the FastCAE project aims to create an open-source model for an integrated CAE software framework platform, by integrating key CAE software technologies and participants to form an open, shared, and collaborative research and development and application ecosystem. In this way, two key issues can be addressed:

First, it liberates the low-value, repetitive work in the CAE development process to be used for high-value co-creation of CAE software. Second, it insists on keeping the foundational common technologies open-source and explores the business model for open-source revenue in stages.

Figure 4. FastCAE offers three service models: open-source free, copyright-free, and technical service.It should be said that after four years of accumulation, FastCAE has achieved a certain degree of coordinated development in business, technology, and talent. This includes organizing open-source college training, open-source industrial simulation software integration contests, and multiple keynote speeches and promotions. It has been applied to industries and fields such as ships, automobiles, aerospace, nuclear energy, machinery, thermal energy, and multi-field coupling, serving more than 100 cases of domestic CAE software, covering more than 40 units including universities, research institutes, and enterprises.

Of course, FastCAE still has a long way to go in terms of business model. Only by truly becoming a competitive and vital commercial product can it stand out in the market.

2.2. Digital Industrial Software Alliance Incubates OGG Open Source Project

In 2022, due to the sanctions against Russia caused by the Russia-Ukraine conflict, which included the Open CasCADE open-source geometric modeling engine created by a French company. As the OCC mother community ceased cooperation with the Russian community, leading to the paralysis of community work, the cessation of technical updates, and code maintenance. Against this backdrop, Huawei took over the OCC Russian community, incorporating the vast majority of R&D personnel into Huawei's Russian research institute, which also allowed the technical maintenance and code updates of the OCC Russian community to be resumed.

Subsequently, in compliance with the license of the mother community, Huawei migrated all the source code of the OCC Russian community to Huawei's cloud servers.

This is the background for the creation of the Open Geometry Group (OGG) open-source community. To distinguish from the original Russian community name of OCC, in 2023, the Open Geometry Group (OGG) open-source community, led by the Digital Industrial Software Alliance, was officially named and established.In April 2024, the OGG 1.0 open-source geometric modeling engine was officially released. Over the past two years, Huawei's technical team has made 486 enhancements to OGG and continues to update and develop it. In the future, OGG will also plan specifically for the next-generation cloud geometric fusion kernel, open-source test case libraries, CAD model interaction standards, etc.

Figure 5: Public beta test of the OGG 2024.4 PreviewBeta version based on the Open CASCADE open-source engine.

Unlike the FastCAE open-source project, which focuses on the CAE domain, OGG covers a broader range of fields and categories. From a technical perspective, OGG has accepted 12 founding members of the Open CasCADE team and has established a multinational geometric algorithm team of over 50 people, demonstrating its commitment to open-source development. However, the challenge OGG faces lies in the business model; only by winning the market in a market-oriented manner can the path of open-source be sustained and stable.

Postscript

To discuss the development of open-source industrial software, it is first necessary to clarify several concepts:I. Open-source software allows users to freely access the source code under the condition of adhering to license restrictions. It is crucial to follow open-source rules and standards; otherwise, one may find themselves in a quagmire or even pay a hefty tuition fee.

II. Open-source is a development philosophy and approach, but it does not imply that it is free of charge. Open-source software also faces the issue of commercialization. Without a competitive business model, it may be short-lived and fade away like a fleeting cloud.

In summary, we should have the courage to embrace open-source and encourage pioneers who attempt, explore, and even make mistakes with open-source. Based on the open-source model, they contribute years of insights, experience, and know-how, which is itself an act of open collaboration and aligns with the values of the digital economy. It also helps to form a closely-knit global structure and achieve sustainable development.

However, it is essential to have a clear understanding and assessment of the challenges and risks faced by open-source industrial software, as well as the long-term investments and competitive business models required. On this basis, leveraging open-source to reduce the cost of developing industrial software for enterprises, and to achieve global use, iteration, error correction, and sharing, is not a bad path for the innovative development of industrial software!

Comment