With the multiple replies to this topic, you may probably already have come to the conclusion that we have very diverse community (and I meant this positively). Diversity in interests and specialisation. Probably relating to this diversity, is the fact that FreeCAD was designed for flexibility, making it relatively easy to extend to cover virtually any technology supported by physical entities (mechanics, architecture, RF simulations, FEM, ...). This is the main tangible asset of FreeCAD which makes FreeCAD an integrated solution which can be easily leveraged given that it is also designed for automation (mainly using Python). Extensibility, Integration and Automation.mumbricht wrote: ↑Fri Aug 14, 2020 11:49 amI'm a startup CEO and we need CAD for our part and assembly designs. I'm a Linux and FOSS fanatic, but in its current state, FreeCAD is insufficient for our needs. I've bitten the bullet and decided to have our server Linux based, and our clients Windows based.
I would really like to go back to a full Linux engineering stack, but the only way for that to happen is for an enterprise level parametric CAD system to be made for Linux. FreeCAD works, it's fully parametric, but the interface is too clunky for us to use effectively. I think it also lacks a couple critical features (double-curve filets for wing fairings) that we need. (Full disclosure: my CAD skills are pretty rudimentary and I'm going off of what my staff is saying)
The question I have is, how much money would we have to dump on the FreeCAD team to make something that compares favorably to SolidEdge/SolidWorks?
As stated in the wiki, this is a completely volunteer project. My intuition would say that it's about .75 Million/yr to get the core design team to work fulltime + the admin staff required. That's the equivalent of ~40 Catia/NX licences. That makes it more than most companies spend on their CAD suite, but about a dozen companies pitching in their CAD budget would more than cover the costs. That said, I design aircraft, not software so I'm not familiar with the scope of this kind of project, or the particular difficulties of a parametric CAD software.
Anyone have a guess as to how realistic this idea is?
While I have extreme sympathy for people being determined to support FOSS out of pure philanthropic reasons (and I wish I had a couple of millions per year for such philanthropic activities), companies are there to make money. In the good sense (as opposed to questionable financial mechanisms), this is by creating value. Creating value many times, and as far as I understand this is your case, means developing technology further. With this in mind, rather than "how to make FreeCAD be AAA brand", a simpler first question I think you should ask yourself is: will my project benefit from the flexibility in extensibility/automation that (only) FreeCAD can afford me?
This is the "million dollar question", because if you can actually benefit from this, you need at least one "people" preferably employed by yourself and integrated in your core aircraft developing team that can actually understand what each of your multidisciplinary highly skilled professionals needs and can extend FreeCAD to make them more productive and/or help them find solutions for the individual challenges they face. I believe that this is the most misunderstood competitive advantage of FreeCAD. It allows you to extend and automate within a single integrated environment.
Now, if you can leverage this, your main new problem is: how do I manage to hire appropriate people for this task? Hiring appropriate people is difficult. What profile you hire depends too on how many people you are hiring. If you are hiring a single person, you need somebody with experience in Python, a good understanding of software architecture design and a marked ability to problem solving. Knowledge of c++ is a plus.
If you cannot reasonably leverage extensibility, integration and automation in your project (you replied "no" to the question), then the rationale for the decision making gets much more complicated. I think it is not reasonable to plan to use FreeCAD with the features that FreeCAD might have in the future if other alternative software packages do have these features today (unless they have other drawbacks that outweigh these advantages). You may decide to continue using your current proprietary software while getting a developer to code your needs and defer our decision to the future FC is there.
If you decide to do this, you may hire a developer or contact current developers that might work as contractors. I know Yorik has done paid work before. While he is an architect and that may sound a little far away from aircraft designing, he is a highly competent programmer (not only but specially when it comes to Python) with a wide general knowledge in science and very familiar with FreeCAD architecture (he is one of the 3 guys whose name is listed when FreeCAD starts). He is the kind of person that finds solutions for problems. FWIW, he has my full endorsement (if that has any value to you). Another option is Realthunder. While he is not a core developer of FreeCAD as of now, he has a good knowledge of c++ and is able to tackle complex problems. He contributes a quite a lot of code to FreeCAD and even maintains its own fork at the same time. For what I see he is hard working. I am not aware of other developers that are or might be for hire, but if you are interested you may post in the jobs subforum and see if somebody else replies there.
Left for the end is the idea of several companies funding FreeCAD. I do like this idea, but there is no FreeCAD entity today to fund. Being FreeCAD a Community, I am not sure of the growth model that it could follow. It is not as easy as putting a couple of millions on the table of a "FreeCAD CEO", but may also not require a couple of millions. From my experience, as a simplified model, I think that "core" Developers of FreeCAD are created by a combination of merits (code contributions) and values (love for FreeCAD, attitude towards helping others, integration in the Community). I have several times held the view that "money tends to spoil the latter", but I admit that it is easy to say that with a full stomach (people do need money to live). If some core developers could make a living out of working for FreeCAD and this were known, it is reasonable to expect that more new developers would be willing to contribute, which would reasonably lead to more future core developers, thereby increasing the ability to review PRs and have contributions merged and at the same time increasing the visibility of whom to hire by companies (it is basically delegating part of the candidate selection process to the Community while keeping the direct funding). I think this could work, but take it with a grain of salt as it is just an idea.
One last thing, if you finally decide to pay for development, no matter who you hire, or pay as a contractor in whatever country or via Patreon, or what you are paying him/her for exactly, there is one single thing that he or she should do to support both FreeCAD and the future of your investment: Interact with this Community.
You might have realised I underlined tanglible in "tanglible asset" above. This is because the most valuable asset of FreeCAD is intangible, it is its community.
Early involvement with the Community in the development of new features is the best way to arrive to mergeable contributions and generally improves the end product in the process. Merged contributions bring value to you as they would be extensively tested and debugged and will be integrated with all other contributions coming from elsewhere.
Now good luck arriving to a right decision!!