Development overview

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
kandelabr
Posts: 12
Joined: Wed Jun 29, 2016 6:10 am
Contact:

Development overview

Post by kandelabr »

Hello,

after a few years I'm reconsidering joining this development team but I'm also considering joining others so I'd like to know a few details to help me decide. I think FreeCAD is one of the best open source projects ever and it's a great tool already and the future is even brighter.

But I wonder...
  1. Is there a vision or at least some general direction in which the software is going? Who is deciding which pull requests to accept?
  2. How are new features added and what happens when developers of the new features 'quit'? There are many workbenches with very basic functionality (a couple of icons only) and it's been like that for quite a while.
  3. Who decides what other modules should be included and how they should be treated? Specifically, there's the FEM workbench that requires separate Calculix install. Why Calculix and not something else? For instance, If one decided to make a fluid analysis workbench with OpenFOAM, how should that look like?
  4. Is there anyone keeping an eye on consistency of user interface, design (like icons and stuff), workflow etc... ?
I'm not trying to be a smartass, I just need a very general overview so that I start with something that will have a big impact with little work :)

Thanks!
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Development overview

Post by yorik »

1. No :) FreeCAD has no boss, it goes where the community pushes it. Werner and me merge pull requests. Besides rare exceptions, mostly because really problematic code, usually everything is accepted provided that it doesn't break anything. It's always wise to discuss your ideas here on the forum before submitting pull requests. Also, when a pull request has impact on existing functionality, we usually discuss it here with everybody, so there might be opposition.

2. Everybody is free to work on what he/she wants and new features are added that way. When a developer quits, unfortunately there is not much to be done and indeed often things stay in that state for a long time.

3. At the moment most new modules are developed in python, so they don't really need to be part of the source code anymore, specially because we now have a plugin manager that makes them easy to install. We're trying to gather everything at https://github.com/FreeCAD/FreeCAD-addons Only C++ modules really need to be part of the source code. So far, nobody came up with a new C++ module, but we would certainly include it if asked.

4. @agryson, the new visual effects master of FreeCAD

To resume, there is basically nobody taking any big "decision" in FreeCAD. There is no boss. You work on what you want. But everything is discussed here in this forum, so if you want to work on things that could potentially have impact on the workflow of other users, it is really recommended to discuss things here first, to avoid loosing precious coding.
User avatar
PrzemoF
Veteran
Posts: 3520
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Development overview

Post by PrzemoF »

3) Search forum for Z88, Fenics or OpenFOAM - you'll be surprised :)
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Development overview

Post by triplus »

Hi @kandelabr.

In addition to what was said a lot of community management is going on (on all levels and mainly here on the forum). Based on my past experience core devs are not all that interested in this area. Some recognition or initial "good to go" is sometimes provided. But beyond that don't expect too much. As after that community management is where the hard work is usually being done. I won't pollute this thread too much as it was posted under the developers corners forums section. And community management usually goes on in other forum sections.

P.S. As for being smartass. In general that is acceptable up to a point just don't focus on the last part of the term too much.
User avatar
kandelabr
Posts: 12
Joined: Wed Jun 29, 2016 6:10 am
Contact:

Re: Development overview

Post by kandelabr »

Thanks for replies. I'm actually pretty suprised everything is working so good without a boss (looks like anarchy could work after all :) )...
Let me do some source-code scrolling now... see what I can find :)
User avatar
saso
Veteran
Posts: 1920
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: Development overview

Post by saso »

kandelabr wrote:Thanks for replies. I'm actually pretty suprised everything is working so good without a boss (looks like anarchy could work after all :) )...
We do have a more or less common goal, even if our paths sometimes are a bit different... Pa dobrodošel ;)
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Development overview

Post by Kunda1 »

kandelabr wrote:Thanks for replies. I'm actually pretty suprised everything is working so good without a boss (looks like anarchy could work after all :) )...
Let me do some source-code scrolling now... see what I can find :)
feel free to checkout the bug tracker: http://freecadweb.org/tracker for ideas and a way for the community to get to know you and your style.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Development overview

Post by ickby »

. I'm actually pretty suprised everything is working so good without a boss (looks like anarchy could work after all :) )...
You have to keep in mind that most people coding here are highly educated experts with good jobs and little time. All are friendly and very open for ideas, but no-one would follow "orders". We code the things we want, need or we are interested in.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: Development overview

Post by abdullah »

I would like to say that although we arguably might not have a "leader" with a great vision, we do have a great community with a great vision.

A leader is limited by his brainpower, energy, capacity of interaction and knowledge. This community does not have that limitation, because it is simply distributed. Distributed brainpower, distributed energy, distributed capacity and distributed knowledge.

When somebody has something to code and starts a thread exposing the idea, a group of interest is generally created (in a natural way in the forum, just by common interest). This group provides user requirements as input, evaluates the ideas and implementation, helps with problems (no all of us have been vested with advanced math knowledge or have professional CAD engineering skills, but we have some in this community that have), helps with debugging, provides windows builds for extended tests if needed, until when the functionality is merged into master... and beyond, as complete as the most complex product life cycle you can imagine, with further debugging after merge, functionality request, new ideas that merge with old ones and just waiting for some hands to code them.

It is not that we do not have great "leaders" within us, I do believe we have them, but we simply do not need them in that role, because it simply works great without one "leader" and generally speaking, what do you need a hierarchy for when you have a round table with the right people sitting beside you?

Are you hesitating between projects/communities to code for? My advise is rather transversal. Think what you want to code, if it lays within the boundaries of FreeCAD, you may stop the search. :)

abdullah
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Development overview

Post by microelly2 »

For my FreeCAD is a way how I can glue technology and mathemantics. The outcome of FC is always real and has to run. From an idea to a model to CNC or 3D Plot.

There is an endless list of questions in different professions that can be solved with computer support. Because FreeCAD is open we always can try to answer one of these questions. The results are reusable in other domains too. It's a great field to learn and to test ideas.
There is no share holder who says do this and don't that.

I see all that helpful people who answer questions in the forum and write and translate the manuals. I see all that satisfied users after the first supported steps.

I see that FreeCAD goes forward and gives answers and encourages to ask further questions. The quality of this community is a big miracle never seen before.
Post Reply