FreeCAD Day 2023 - Report and Continued Discussion

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Next, Wookey (whose forum handle I never did catch, so feel free to identify yourself!) presented on Thermal Modeling for construction of low-energy buildings.
  • Most work in this field uses THERM, developed by US government. Free, but not open source
  • "Good enough" so no one does any better
  • Uses small 2D cross sections of critical building areas
  • Question: what is the best way to plumb the process of that 2D extraction into FreeCAD?
  • Comment from audience: FEM has a similar process for 2D analysis
  • Yorik mentioned BIM and his work on level-of-detail processes
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

I led a discussion about GitHub Issue #8281: "The Role of Maintainer is Unclear"

I started with an overview of how we arrived at our current CONTRIBUTING.md document (adapted from C4 with modifications for our current state). Our community of developers is growing, most notably with the launch of Ondsel, which is providing some full-time engineering resources. A larger community is leading to more conflict, and more need to precisely define each role (User, Developer, Maintainer, Administrator).
  • The purpose of CONTRIBUTING.md is to set clear expectations for everyone
  • Currently the role of maintainer is unclear: the maintainers do not all agree what they should do
  • The fundamental break is whether current code quality is the primary driver, or whether encouraging more development is the driver
  • Is it OK to break the rules when the maintainer thinks it is called for?
  • DISCUSS!
Many (possibly ALL) projects face this issue at some point, so this is well-trod ground. It was suggested we view a video by Pieter Hintjens with his ideas on Building Open Source Communities. (Video link is my best guess about what was suggested -- please correct me if there is a better one!).

As part of this discussion, we talked about:
  • Quick vs. slow merge
  • Taking care of ALL contributors, not just new ones (rules apply for not causing others difficulties later)
  • "Merge fast" can lead to technical debt that is difficult to get out of later (can't just revert when other changes depend on it)
  • How much has to happen in an Issue, before going to a PR? (C4 works in part because all the discussion happened in the issue first)
  • Discussion of branch strategy: what is the best fit for FreeCAD? Right now we have working master, branches for releases. Could go to a dev branch, more stable master, tags for releases. Or "Git Flow" workflow, with feature branches feeding dev branch feeding stable master.
  • Model versioning and tests help
  • Smaller PRs are WAY nicer -> let's encourage those
  • 33 PRs merged in last seven days. Go team!
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Pieter Hijma from the Open Toolchain Foundation presented on the work they are doing in the FreeCAD ecosystem:
  • @paddle is being funded to work on snapping
  • @yorik is being funded to work on IFC spec
  • @sliptonic/@jnxd (ONDSEL) is being funded to work on B-splines
  • @uwestoehr is being funded to work on magnetic simulations
  • @jmwright and others are being funded to work on Coded CAD
They are sponsoring a hackathon in Hamburg on 6-7 March 2023: they have chosen an open hardware project to help port to a fully open toolchain, the router "Nimble." They are looking for both users and developers to join them, and you should also check out https://forum.opentoolchain.org .
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Stefan Tröger (@ickby) presented "Experiments in Collaborative Editing"

Many people now expect easy direct collaboration a la Google Docs, Microsoft Office, etc. Instant feedback, dynamic sharing, etc. The project goal here was to bring some of that the the CAD workflow. The data is synchronized, but not the viewport. This is only reasonable with loading/saving of individual object data. He needed to create a "single source of truth" for the data so that conflicts could be resolved. Fortunately there is a lot of literature on this problem, he uses the "Raft" algorithm because it can actually be understood. He has a working first draft, but development is a bit stalled now. Anyone want to help?

A lot of the discussion focused on how unsuitable this workflow would be for a rigorous commercial CAD environment, but the basic response (if I am paraphrasing correctly) is that this has plenty of applications beyond that, and allows instantaneous switching of "control" by just saying so in your teleconference, etc. It's not suitable for all kinds of collaboration, but is a very interesting platform for other (maybe less formal) works.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
user1234
Veteran
Posts: 3345
Joined: Mon Jul 11, 2016 5:08 pm

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by user1234 »

chennes wrote: Sat Feb 04, 2023 5:18 pm
  • Stop moving my toolbars! (applause)
I only can talk for Debian, but this is because many fiddle around with many versions of FreeCAD. When they have LinkBranch from realthunder or an older version of FreeCAD installed, they share the same config files. Then, of course, they get in conflict each other (overwriting, destroying, .....). When using more then one version, they should define different config folders, see https://wiki.freecad.org/Start_up_and_Configuration.

The only thing, that will not stay are the panels (Task, Property, Combo, Tree, ....), because it seems they still saved in an different way. But it is a two click operation to reorder them.

Some other thing are in the list are still false or already solved.


Greetings
user1234
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by adrianinsaval »

Ugh... wanted to be there so badly, nice to see so much stuff happening over there! The future of FreeCAD looks bright!
chennes wrote: Sat Feb 04, 2023 7:58 pm Stefan Tröger (@ickby) presented "Experiments in Collaborative Editing"
[...]
He has a working first draft, but development is a bit stalled now. Anyone want to help?
That sounds like something right up the alley of what ondsel could fund.
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Keith Sloan (@keithsloan52) did a live demo of some of his recent work in the OpenSCAD workbench. He is working towards a more dynamic model where OpenSCAD modules and code fragments can be embedded in, and edited in, FreeCAD. This is in contrast to the current situation where once it is executed the OpenSCAD code is effectively discarded, and replace by an import of the generated parts.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Probably the most anticipated session of the day came from John Dupuy, under contract to ONDSEL, who talked about "Organizing the Topo-Naming Update".

John has been hired by @sliptonic/ONDSEL to assist with merging @realthunder's work on the Topological Naming Problem. As many of you already know, realthunder has developed a mitigation strategy in his fork of FreeCAD, and has been working on a development branch of FreeCAD to get those changes ready for merge into the main project. This is an enormous piece of code, much of which is entwined with other work that realthunder has in his branch. As such, the merge will not be a simple matter of rebasing and "clicking the big green merge button."

John (a professional software developer with many years of experience) has been working on reviewing real thunder's branch in depth. He presented a plan to re-sort and break up the complete branch into 20-30 functional steps. He intends to present a schedule and Gannt chart in a forum thread in the coming weeks, and to assist us in doing a merge by:
  • Branching from master
  • Adding documentation where required
  • Make all merges non-breaking (even though sometimes they will be temporary "bloat" as uncalled methods, etc.)
  • Add basic unit tests where missing in master and needed to verify correct merge
  • Add unit tests to changes
  • Submitting a PR to master with a single, tested, non-breaking changeset
Rinse and repeat! I suspect we'll be hearing much more about this project in the coming weeks, but the consensus in the room was that this was the right approach, and that John should go forth and do that thing.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

Finally, Yorik van Havre (@yorik) asked "What should the FPA Fund?"

He got some answers:
  • More in-person meetings!
  • An annual project like Blender does
  • Porting open hardware to FreeCAD
  • Showcasing things where FreeCAD is actually better than proprietary CAD solutions
  • Can we get a foothold at universities? (it's hard!)
  • Showcase the guy who designed his house using FreeCAD
  • Google Summer of Code - we need mentors, who can help?
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3881
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: FreeCAD Day 2023 - Report and Continued Discussion

Post by chennes »

user1234 wrote: Sat Feb 04, 2023 8:00 pm Some other thing are in the list are still false or already solved.
This is the attitude I am worried about. If there is something there that is "false" it is a transcription error on my part. We had nearly 50 FreeCAD people in that room, be careful asserting anything was "false." Sometimes possibly we decided "OK, there is a way to do that, but it is indecipherable or undiscoverable," so you can read that as the criticism instead. If I have made a mistake in my notes, please let me know what it is.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
Post Reply