What’s so Special About CentOS? | Why we Chose it for our Project? | And what’s Beyond of it?

CentOS 8 Cockpit Web Console

As already pointed out, many times, we stick with CentOS as a robust basis for our Libre-VE-Toolbox, later named as the LVT Project. Currently, the question is Why? What is so special about it?

CentOS means Community Enterprise Operating System which is binary compatible with the Red Hat Enterprise Linux. It is released by the community usually a few months after each Red Hate Release. But you should know there is no service from Red Hat for CentOS. In case you need some support, which goes beyond the public CentOS forum, I strongly recommend to speak with the Red Hat Team.

RHEL is customized to the needs of large companies and government organizations. The strength of the platform is security, stability, support, and reliability. And the same applies of course to CentOS, since it is binary compatible and will run on the same hardware for which RHEL is certified.

Major CentOS releases are supported for 10 years, and any security updates coming as needed. Before included in RHEL, a lot of the tools and features are being tested in the upstream distro Fedora.

Listed as follows are some more features:

  • best-in-class container technology ( Podman & Buildah )
  • SELinux by default
  • available package groups
  • awesome web-console delivers an extended system overview, useful for everyone. OMG, there is even a build-in terminal!
  • tons of documentation from Red Hat and not to forget to mention the numerous related CentOS and fedora community forums.

You will surely find more arguments on the official CentOS page.

But one can learn a lot when using also other good distros, which comes along with more cutting-edge software and advanced Kernel.

So, the question comes up, why we are running also some tests on Ubuntu and OpenSuse? I realize more and more, that container technology, virtual machines, and OpenStack might be the right basis for our LVT Project. Since there is no one-suits-all distro for all the diverse Virtual Engineering Software.

So software which runs plenty on Ubuntu is running inside a Ubuntu VM, and software which runs perfectly on Fedora is running on the other VM with Fedora, and so on. All the different VMs will then run on OpenStack installed on a CentOS server.

I’m using Ubuntu for my daily work on my private laptop and was testing OpenSuse for a long time on different machines, it’s really my old love and one day I want to do a deep dive into the topic. It’s another rock-solid distro, which serves as an upstream distro for SUSE. By the way, SUSE Linux Enterprise has a strong competence related to SAP applications, it’s a pioneer and market leader in this area.

We are not running any experiments with Desktop Environments and prefer to use what’s already available. We decided to go with both popular and robust GNOME and MATE Desktops.

How we use Free and Open Source Software (FLOSS) and for what

Since we decided to build our Libre-VE-ToolBox with and based on FLOSS, I want to deliver a short overview of which packages are being used and for what. This overview is a mix of Free Software and Open Source Software with different license models (GNU GPL, BSD, …). At least to me, it’s crucial to understand the differences.

Here are some links with some more information, which might be useful:

DevOps & System

GNU/Linux | Python | Nano, Kate, Gedit Editors | Cmake | Gcc compiler | Git | Miniconda | Spyder | R | Fortran | Jupyter | Docker | GNU Midnight Commander | FileZilla | TigerVNC

Documentation | Picture & Video Editing

Libre Office | Doxygen | Sphinx | Kdenlive | Gthumb | Shutter | Gimp | Audacity | Image Magick | Inkscape | WordPress

Project Management & Communication

Odoo | OpenProject | Pidgin

Virtual Engineering

OpenFOAM | ParaView | Salome | FreeCAD | OpenCascade | OpenModelica | Code_aster | Code_saturne | Telemac | OpenTurns | Meshlab | Blender | Scilab | Octave

One very important step when dealing with software is licensing. One can spend a long time to investigate how to choose a suitable license and how to integrate the licensing info into the files.

Good practice has been developed by the SPDX Workgroup, which is a Linux Foundation Project. The Free Software Foundation Europe can help to answer the question of how to automate the license verification process and become compliant, see the REUSE SOFTWARE Project.

Both topics were presented and discussed at the SFScon 2019 in Bolzano.

Integrated PDM / PLM Solution

A professional CAE / Virtual Engineering solution needs also a PDM / PLM system to ensure a high-quality level of data management for engineering data | production data | change management data | simulation data and more.

When you lose the overview and the control of your data you will probably also lose your customers!
To avoid this situation we take this topic very seriously and start to speak with competent partners to develop a strategy for a minimal solution.

I myself got the chance to gain some useful experience with professional engineering development systems for many years when I worked for a global player in the car industry, at least from a user perspective, so I know less (or more) what we are speaking about. The system consisted of a 3D CAD system integrated into a Product Data Management system PDM which was coupled with the ERP from SAP.

Before we do a deep dive into the topic and start any activities, we need to investigate in detail which data can be integrated into such a system.
Here are some thoughts:

  • which file formats and categories need to be included (3D data, drawings, docs, specs, …)
  • a kind of a master system will be needed (database) to assign all the unique identification numbers within a big organization for the parts and additional ID’s for documents and other objects before someone can start some first engineering activities in the engineering systems
  • data repositories, groups, and user strategies
  • data backup solutions
  • data check-in and check-out system
  • meta-files need to be created for each data file (creator, ID, status, license, material, …) this might also be relevant and useful for Elasticsearch operations
  • how to organize libraries with standard-parts? (an external server?)
  • how to create and manage bill of materials (ERP solution?)
  • how to manage engineering changes
  • how to handle CAE simulation data and simulation configuration files (structured and unstructured)
  • how to manage very large data, for example, CAE meshes or 3D models in STL format?

FreeCAD | Industry Standard Version on CentOS 8

Today we started some first activities to launch a stable and customized FreeCAD version for the industry in 2020. This is the first package for our long-term project < Libre-VE-ToolBox >. It’s being build from scratch with all the pain, difficulties and lessons learned!

What exactly do we mean by that:

  • we thinking about to tidy-out some irrelevant Workbenches and focus more on basic functions that are required to perform some simple 3D operations. Some people see it as a kind of a “Swiss Army Knife” or an “all-in-one device suitable for every purpose”
  • so, a tailored version for simple mechanical design, engineering and CAE simulation preparation tasks might be very useful
  • how to implement FreeCAD in big companies is the other question. Based on my own experience, the biggest obstacle might be the needed implementation/certification process and to find some free resources or volunteers to manage the communication to the community outside of the company
  • all these means to make FreeCAD more lean, smart and more attractive for the industry

There is a very interesting contribution from Frank Wiles about how to “Using Open Source in Business”. Worth to mention are also the instructions from Chris Aniszczyk about “How to start an open source program in your company”. And from the perspective of a company, I strongly recommend to invest some more time and consider to establish an Open Source Programs Office.