LinuxCNC is modular and flexible. These attributes lead many to see it as a confusing jumble of little things and wonder why it is the way it is. This page attempts to answer that question before you get into the thick of things.

LinuxCNC comenzó en el Instituto Nacional de Estándares y Tecnología (NIST) en EE.UU.. Creció usando Unix como su sistema operativo. Unix lo hizo diferente. Entre los primeros desarrolladores de Unix creció un conjunto de ideas de escritura de código que algunos llaman "la manera Unix". Estos primeros autores de LinuxCNC siguieron esas maneras.

Eric S. Raymond, en su libro The Art of Unix Programming, resume la filosofía Unix como una filosofía de ingeniería ampliamente utilizada, "Mantenlo simple, estúpido" ("Keep it Simple, Stupid" o Principio KISS). Luego describe cómo cree que esta filosofía general se aplica como una norma cultural en Unix aunque, como era de esperar, no es difícil encontrar violaciones graves de la mayoría de las siguientes prácticas en la realidad de Unix:

  • Rule of Modularity: Write simple parts connected by clean interfaces.

  • Rule of Clarity: Clarity is better than cleverness.

  • Rule of Composition: Design programs to be connected to other programs.

  • Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
    [Found at link:https://en.wikipedia.org/wiki/Separation_of_mechanism_and_policy, 2022-11-13]

Mr. Raymond offered several more rules but these four describe essential characteristics of the LinuxCNC motion control system.

The Modularity rule is critical. Throughout these handbooks you will find talk of the interpreter or task planner or motion or HAL. Each of these is a module or collection of modules. It’s modularity that allows you to connect together just the parts you need to run your machine.

The Clarity rule is essential. LinuxCNC is a work in progress — it is not finished nor will it ever be. It is complete enough to run most of the machines we want it to run. Much of that progress is achieved because many users and code developers are able to look at the work of others and build on what they have done.

The Composition rule allows us to build a predictable control system from the many modules available by making them connectable. We achieve connectability by setting up standard interfaces to sets of modules and following those standards.

The Separation rule requires that we make distinct parts that do little things. By separating functions debugging is much easier and replacement modules can be dropped into the system and comparisons easily made.

¿Qué significa "la manera Unix" para usted como usuario de LinuxCNC?. Significa que usted puede tomar decisiones sobre cómo usará el sistema. Muchas de estas elecciones se harán durante la integración de la máquina, pero muchas también afectaran a la forma en que se usará la máquina. Durante la lectura de la documentacion, encontrará muchos lugares donde tendrá que hacer comparaciones. Eventualmente se deberan tomar decisiones, "Usaré esta interfaz en lugar de esa otra" o "Voy a escribir offsets de piezas de esta manera en lugar de hacerlo de esa otra". A lo largo de estos manuales describimos el rango de posibilidades disponibles actualmente.

As you begin your journey into using LinuxCNC we offer two cautionary notes:
[Found at link:https://en.wikipedia.org/wiki/Unix_philosophy, 07/06/2008]

  • Parafraseando las palabras de Doug Gwyn en UNIX: "LinuxCNC no fue diseñado para evitar que sus usuarios hagan cosas estúpidas, ya que eso también les impediría hacer cosas ingeniosas."

  • También las palabras de Steven King: "LinuxCNC es fácil de usar. Simplemente no se descuida con respecto a qué tipo de usuarios es amigable".

A series of videos on YouTube provide plenty of evidence a transition to LinuxCNC is possible no matter what your regular computer operating system may be. That said, with the advent of additive manufacturing like 3D printing there is an increasing interest by the broader IT community in CNC machining and it should be possible to find someone with complementary skills/equipment near to you to jointly overcome the initial hurdles.