So far I’ve been hanging around in the Discord, but I haven’t gotten much progress aside from compiling FreeCAD twice. I once compiled in Windows, switched to Void Linux where I had a hard time compiling (not sure if I made it to completion there), then I accidentally force cancelled a partition resize and had to reinstall my system and now I’m on openSUSE.
The biggest trouble I’ve faced so far is with dependency resolution. Since Void isn’t listed in the wiki, I had to manually figure out the package names one by one as the build failed. Void did have a source packages repository, but it seemed like there were differences in dependencies from the latest release to the master. Anyways now I’m on openSUSE because I didn’t have time to setup Void again at the moment. Even though openSUSE is listen in the Wiki, all the packages did not get installed right from the beginning. I particularly had issues with hdf5-openmpi4-devel and SoQt-devel conflicting with Coin-devel. I went around and found some instructions from the forums, and that way I had to manually figure out what packages the pkgconfig(QtXXX) were as listed in FreeCAD.spec in the OBS (which was easy thanks to pkgs.org). Then while compiling it showed me a warning that I didn’t have Coin docs. By a zypper search, I found that there was Coin4-devel along with its docs, and I figured that could fix SoQt for me. But I feel like SoQt isn’t a big requirement since CMake did build without it.
I also know that OpenMPI is for parallelization, so I don’t see why FreeCAD needs it. It was only listed in the wiki for the openSUSE package, so I think it is dated information. FreeCAD.spec looks like the right reference point.
So, I feel like instead of going by trial and error, it would be better to know what these individual packages are and how they fit in. e.g. Qt-XXX, PyQt-XXX, graphviz?, Med, Shiboken2. Do I have to reverse engineer everything and make a block diagram (Diagrams.net/Gaphor)?
I’m a beginner and I don’t have much experience working with big projects. So I’m kind of looking for how to start and get acquainted with the ecosystem. The people at Discord told me that it’s mostly users there, and the devs don’t hang around much. So forum seems to be the right place, but I’m normally used to IRC for development. I don’t know forum workflow can be. For example, the search here is not very usable because it tells me the keywords are too common. I don’t know if this is a configuration issue, but that’s how it is for now.
[quote=yorik post_id=2612 time=1337847818 user_id=68]
Before you start to code for FreeCAD, you must have a good knowledge of the application itself. This might seem obvious, but the OpenCascade kernel of FreeCAD is very complex, and you won’t go very far if you don’t know how it works, what it can do and what are its limitations.
[/quote]
Also I can see this is another aspect too. So far I haven’t started using it, but I really want to. I just didn’t get time yet. I’ve also applied for GSoC, so that’s one of the reasons I have to know about it early on, to stay prepared.
[quote=yorik post_id=2612 time=1337847818 user_id=68]
Present yourself to other developers. FreeCAD is before anything a social project, we discuss almost everything on this forum before implementing it, and it’s always best to discuss your ideas and tell people what you are planning to do before actually doing it.
[/quote]
This is mainly why I’ve started this thread. I know there’s more resources to go through, but I think letting other developers know is important too.
About communications: I hear that during GSoC we’ll have better communications. I was expecting it to be just Discord/IRC, but apparently that’s not the case right now. So in case we normally have better development communications during GSoC, why can’t we extend it to the normal case, with a developer presence on Discord etc? Maybe there are other factors like mentoring newbies is a big task? Also in the GSoC thread, I was asked to contact Bernd, and I tried PMing him, but I didn’t get any response. I don’t know if it was the right channel for communications, but I couldn’t find him on Discord, so, I don’t know.
So, I need a brief on all these. Sorry if it was long, but it’s late and I’m a bit sleepy.