History/es

Cómo empezó todo
FreeCAD comenzó en enero de 2001 cuando Jürgen Riegel empezó a trabajar en el proyecto Cas.CADE. Cas.CADE era un marco de desarrollo de software comercial que incluía un núcleo de modelado geométrico (o kernel CAD): fue publicado bajo una licencia de código abierto en el año 2000 y rebautizado como OpenCASCADE. Esto hizo posible la realización de un programa de CAD 3D de código abierto, ya que tener que programar un núcleo de CAD desde cero habría requerido una enorme cantidad de trabajo.

En las palabras propio del Jürgen:

"El proyecto FreeCAD fue iniciado por mí en enero de 2001, como un llamado GOM (Modelador gráfico de objetos), con la idea de usar Qt, Python y Cas.CADE, un CAD Kernel comercial que en ese momento usaba en los proyectos de Daimler. Cas.CADE se convirtió en código abierto poco antes, por lo que parecía el momento adecuado para intentar un movimiento en el, en ese momento, espacio vacío de CAD de código abierto. Tuve una experiencia de dos años con OpenCascade en un proyecto llamado QSpect en el que, al final, fui el principal diseñador de software. Aprendí mucho sobre 3D y programación CAD. También me influyó Catia V5 y su muy especial interfaz de usuario y programación... En el 17 de marzo de 2002, dentro del proyecto OpenCascade, registré el software como FreeCAD. No se me ocurrió un nombre mejor, soy muy malo con los nombres... En abril de 2003, Werner Meyer, uno de los compañeros del proyecto QSpect, se pasó a una empresa llamada Imetric. El contacto con Imetric resultó muy prometedor ya que buscaban una nueva plataforma de software 3D para sus sensores 3D. En 2005, Imetric donó la mayor parte de su módulo de malla a FreeCAD y a la comunidad de código abierto, y desde entonces utilizaron FreeCAD como base para el software de su sistema de sensores. Desde entonces, Werner Meyer es un desarrollador muy activo de FreeCAD. En 2005, después de un año de lucha, decidí arrancar el marco documental de OpenCascade y sustituirlo por una implementación propia. Así que, al final, sólo utilizamos el núcleo CAD de OpenCascade y no el resto de su Framework. 2007 fue otro hito interesante. Cambiamos a QT4 y, por tanto, a la LGPL. En ese momento hicimos mucho trabajo, principalmente Werner."

El proyecto se anunció al público en general en el OpenCascade Forum en 2003:

"Hola a todos, mi nombre es Juergen Riegel y hoy quiero anunciar un proyecto OpenCasCade, FreeCAD. Es un RAD CAx de código abierto basado en OpenCasCade, QT y Python. Presenta algunos conceptos clave como la grabación de macros, los bancos de trabajo, la capacidad de ejecutarse como servidor y como extensión de aplicaciones cargables dinámicamente, y está diseñado para ser independiente de la plataforma... Aunque se encuentra en una fase temprana y no es utilizable por los usuarios ni por los desarrolladores -la primera versión para usuarios está prevista para finales de 2003-, me gustaría recibir algunos comentarios sobre la dirección y el diseño de FreeCAD. La interfaz gráfica de usuario está casi terminada y ahora nosotros, mi co-desarrollador Werner Mayer y yo, hemos empezado a añadir las primeras funciones CAD. FreeCAD puede ser visto como un sistema de CAD mecánico de propósito general, pero su primera audiencia, creo, serán los desarrolladores de CAx que necesitan un trabajo de base para su propio desarrollo."

Werner Mayer
Werner Mayer se unió al proyecto tan pronto como se anunció como proyecto de código abierto (antes del anuncio el proyecto era un proyecto privado de Jürgen). Véase este mensaje de Werner en el foro en alemán: https://forum.freecadweb.org/viewtopic.php?f=13&t=40235&start=10#p342330

Con el tiempo, el proyecto fue ganando adeptos y se incorporaron nuevos colaboradores clave en la comunidad.


 * Inicio de Linux

"Un hecho divertido es que quería tener un software CAD de código abierto principalmente para Linux porque en ese momento no existía nada para esta plataforma. Sin embargo, desde el principio desarrollamos exclusivamente en Windows durante los siguientes 1,5 años. Entonces un checo hizo una contribución para hacer el código del núcleo en Linux: https://github.com/berndhahnebach/All_FreeCAD/commit/9fd2e27c95ba3dc84778d92e2564cd094793ce2f#diff-480477e89f9b6ddafb30c4383dcdd705"

"Medio año más tarde continué la construcción de Linux: https://github.com/berndhahnebach/All_FreeCAD/commit/35b962d7d751dd80f7c7781df60f93bc9a3da992"

P: ¿Podría compartir cómo fue ese primer año y medio? ¿Se conocieron en persona o en línea?

"Bueno, en aquella época éramos colegas (hasta 2005), así que podíamos discutir las cosas cara a cara. Después de esa época, seguimos teniendo algunos encuentros personales, pero discutimos la mayoría de las cosas por correo electrónico o por teléfono."

"Como tercer desarrollador del núcleo, Yorik se unió a finales de 2007, pero pasaron otros 3 o 4 años hasta que la comunidad y el número de colaboradores empezaron a crecer significativamente."

P: ¿Dividieron las tareas o trabajaron en implementaciones que competían entre sí?

"''Sí. Jürgen diseñaba e implementaba la mayor parte de la aplicación y la lógica del documento y yo hacía lo básico de la interfaz gráfica de usuario.

''"

"Sin embargo, no ha sido un proceso gradual, sino que hemos experimentado con muchas cosas al principio. Por ejemplo, en la versión inicial utilizamos el marco documental de OCC, OCAF, y su visor, pero al cabo de uno o dos años nos metimos en un callejón sin salida porque la documentación sobre OCC era muy pobre y no conseguimos que funcionara para ampliar OCAF con nuestros propios tipos de características. Así que decidimos utilizar únicamente las capacidades de modelado de OCC pero desarrollar nuestro propio marco de aplicación/documento."

P: En aquel momento, ¿pensabas que FreeCAD estaría donde está hoy?

"No lo sabíamos pero lo esperábamos. Por supuesto, no podíamos anticipar cómo se vería exactamente FreeCAD hoy en día. Las decisiones de diseño más importantes fueron hacer que estuviera disponible en todas las plataformas principales y hacer que todo el SW fuera lo más accesible posible, es decir, imponer todas las funciones importantes a Python para que los usuarios (avanzados) pudieran extender FreeCAD con sus propias funciones. De esta manera esperábamos conseguir una amplia audiencia."

(Ver este post del foro de Werner Re: Historia de FreeCAD)

Yorik se une al proyecto
Yorik van Havre se unió al proyecto en 2008 y comenzó a trabajar en el Módulo de Borrador. Antes de ese momento, no había forma de crear geometría 2D a través de la GUI. Este módulo fue programado completamente en Python en lugar de en C++ (el lenguaje de programación principal utilizado en FreeCAD). El nuevo banco de trabajo de Borrador demostró que la integración de Python era un éxito y que podía utilizarse para ampliar o personalizar las capacidades de FreeCAD. Además de su trabajo en el módulo Draft, Yorik trabajó en la expansión de la documentación de FreeCAD, y se convirtió en el "director de arte" de facto de FreeCAD, creando muchos iconos para la interfaz gráfica de FreeCAD y definiendo su estilo.

La versión 0.7 de FreeCAD lanzada en abril de 2009 fue la primera en incluir el módulo Borrador. El módulo Pieza proporcionaba un simple flujo de trabajo de CSG con la creación de formas primitivas y operaciones booleanas accesibles a través del menú Pieza. También era posible la extrusión de perfiles 2D y el fileteado.

Version 0.8 released in July 2009 saw some more work in the Draft module, including a new Dimension tool. The Part module benefited from a new toolbar along with new tools, Revolve and Section.

By the end of 2009, FreeCAD was accepted as a Debian package in the Debian repositories. FreeCAD was added to the Ubuntu 10.04 repositories in 2010.

The project goes on
Version 0.10 was released in July 2010 and introduced the Sketcher Workbench, based on Sketchsolve, a constraint-based solver to create 2D geometry. The first version was limited to creation of rectangles and lines.

In early 2011, taking the opportunity given by the Launchpad online platform, the FreeCAD Maintainers team was created to provide fresh stable releases along with daily build packages of FreeCAD to users of the Ubuntu operating system.

Version 0.11 as released in May 2011 and introduced the new Part Design workbench which included tools such as Pad, Pocket, Fillet and Chamfer. The Draft workbench received enhancements and new tools, like BSpline. The Robot workbench featured more GUI tools.

Version 0.12 was released in January 2012 and featured a more complete Sketcher workbench. It included a totally rewritten solver, FreeGCS. It was the result of months of work by the main FreeCAD developers along with newcomers logari81 (who programmed the solver) and mrlukeparry. More tools were added to the PartDesign workbench.

Enlargement of core developer team
In April 2019 the team of core developers was expanded: Jürgen, Werner and Yorik were joined by Abdullah, Bernd, sliptonic and WandererFan

Interesting Posts on the forum

 * about PartDesignNext and other design decisions: https://forum.freecadweb.org/viewtopic.php?f=8&t=34923&start=130#p297074
 * about Forum history: https://forum.freecadweb.org/viewtopic.php?f=8&t=7448&start=200#p287106
 * about Project history: https://forum.freecadweb.org/viewtopic.php?f=8&t=47703
 * about Code history: https://forum.freecadweb.org/viewtopic.php?f=10&t=46733&start=10#p405068 BTW: initial code checkin was on March 18th in 2002 (may be the birthday?)
 * about Project to be OpenSource: https://forum.freecadweb.org/viewtopic.php?f=13&t=40235&start=10#p342330
 * about The release commit history: https://forum.freecadweb.org/viewtopic.php?f=8&t=23695#p184940
 * about Who is behind FreeCAD: http://forum.freecadweb.org/viewtopic.php?f=8&t=295
 * about FEM history: https://forum.freecadweb.org/viewtopic.php?f=18&t=48646#p416389
 * about FEM mesher history: https://forum.freecadweb.org/viewtopic.php?f=18&t=48733#p417627