GSoC '18: CM Project Thread
- kkremitzki
- Veteran
- Posts: 2422
- Joined: Thu Mar 03, 2016 9:52 pm
- Location: Illinois
GSoC '18: CM Project Thread
In a general sense, configuration management (CM) is a systems engineering approach for systematically managing complexity to guarantee performance. My job this summer will be applying this approach to FreeCAD.
Because mine will be the only project, we will be doing something a bit different for the mentorship and community activity/engagement part of things. However I'll wait for Yorik to chime in and explain more.
Needless to say, because of the broad nature of this project the scope will be largely community driven. I have a shortlist of specific goals and three broadly general ones. In my opinion, attacking the problem of less-than-perfect Debian GNU/Linux and Windows 7/10 development experiences will suffice to make headway on the CM problem. The Debian improvements will move downstream for developers and users alike in distros like Ubuntu and Linux Mint. If I'm lucky, they will even make it to future low-cost ARM devices like the next Raspberry Pi (think of the increase in use FreeCAD could gain there!) Improving things on Windows, largely by furthering loooo's work on conda, will make it easier for devs on Windows to contribute and to reach the largest share of users out there. Finally, Buildbot, a cross-platform build automation solution used by many projects, such as Chromium and Blender, has for too long been a future goal for FreeCAD. I want to get this working on at least Linux and Windows workers so we can, e.g. release more test builds and have improved continuous integration.
And finally, I just wanted to say I look forward to everyone's contributions to this thread. Even though it's a summer of code I posted it on Open Discussion instead of the Developer's Corner because this especially involves everyone.
Because mine will be the only project, we will be doing something a bit different for the mentorship and community activity/engagement part of things. However I'll wait for Yorik to chime in and explain more.
Needless to say, because of the broad nature of this project the scope will be largely community driven. I have a shortlist of specific goals and three broadly general ones. In my opinion, attacking the problem of less-than-perfect Debian GNU/Linux and Windows 7/10 development experiences will suffice to make headway on the CM problem. The Debian improvements will move downstream for developers and users alike in distros like Ubuntu and Linux Mint. If I'm lucky, they will even make it to future low-cost ARM devices like the next Raspberry Pi (think of the increase in use FreeCAD could gain there!) Improving things on Windows, largely by furthering loooo's work on conda, will make it easier for devs on Windows to contribute and to reach the largest share of users out there. Finally, Buildbot, a cross-platform build automation solution used by many projects, such as Chromium and Blender, has for too long been a future goal for FreeCAD. I want to get this working on at least Linux and Windows workers so we can, e.g. release more test builds and have improved continuous integration.
And finally, I just wanted to say I look forward to everyone's contributions to this thread. Even though it's a summer of code I posted it on Open Discussion instead of the Developer's Corner because this especially involves everyone.
Re: GSoC '18: CM Project Thread
Okay so let me explain the "community mentoring" I have in mind:
There will be only one "offcial" mentor for Kurt's GSOC project: me. Bernd and HoWill agreed to do co-mentoring, but mostly to get us administratively right (each student needs at least 2 mentors). So, since Kurt's project is pretty broad and flexible, and he's well-known to the community already, I thought this would be perfect to experiment something a bit broader and inclusive than we did the other years, so here is my idea:
The mentors would be all of us. Kurt will be paid by Google to work on FreeCAD from may 14 to august 6, basically to make FreeCAD easier to pack and deploy, and make it easier to release new versions. I propose that during this time we consider him as a kind of "FreeCAD steward", and we can all suggest stuff that we think it would be cool for him to work on, as long as it goes more or less into the same direction of his original goal.
Of course Kurt still decides for himself what he will or will not do, and I'll still be there in case we exaggerate a lot and make it impossible for him to work or turn him into a FreeCAD slave
But the idea is really that we would all work together to make it easier to release more often, and Kurt would be the one who does the heavy work.
My own suggestion would be to start with some kind of "release plan", which would list tasks, target platforms, packaging tasks, etc... that we could use all together somehow. Maybe the mantis tracker would be good for that. A good portion of the "pre-release" delay go into bug fixing, which is largely done by Werner, and that we should also address somehow, to minimize it. More/better continuous integration would of course help a lot there. I'm all for porting to new platforms too, but I would take care of not spending too much efforts there, as it could easily swallow all of your time, with little direct benefit for FreeCAD itself.
There will be only one "offcial" mentor for Kurt's GSOC project: me. Bernd and HoWill agreed to do co-mentoring, but mostly to get us administratively right (each student needs at least 2 mentors). So, since Kurt's project is pretty broad and flexible, and he's well-known to the community already, I thought this would be perfect to experiment something a bit broader and inclusive than we did the other years, so here is my idea:
The mentors would be all of us. Kurt will be paid by Google to work on FreeCAD from may 14 to august 6, basically to make FreeCAD easier to pack and deploy, and make it easier to release new versions. I propose that during this time we consider him as a kind of "FreeCAD steward", and we can all suggest stuff that we think it would be cool for him to work on, as long as it goes more or less into the same direction of his original goal.
Of course Kurt still decides for himself what he will or will not do, and I'll still be there in case we exaggerate a lot and make it impossible for him to work or turn him into a FreeCAD slave

My own suggestion would be to start with some kind of "release plan", which would list tasks, target platforms, packaging tasks, etc... that we could use all together somehow. Maybe the mantis tracker would be good for that. A good portion of the "pre-release" delay go into bug fixing, which is largely done by Werner, and that we should also address somehow, to minimize it. More/better continuous integration would of course help a lot there. I'm all for porting to new platforms too, but I would take care of not spending too much efforts there, as it could easily swallow all of your time, with little direct benefit for FreeCAD itself.
- kkremitzki
- Veteran
- Posts: 2422
- Joined: Thu Mar 03, 2016 9:52 pm
- Location: Illinois
Re: GSoC '18: CM Project Thread
Both luckily and unluckily the ARM builds take forever, so this will really just be an afterthought "fire off the builds and check sometime later" thing.yorik wrote: ↑Tue May 01, 2018 10:51 pm More/better continuous integration would of course help a lot there. I'm all for porting to new platforms too, but I would take care of not spending too much efforts there, as it could easily swallow all of your time, with little direct benefit for FreeCAD itself.
Re: GSoC '18: CM Project Thread
I think we need to discuss the Linux/Ubuntu/PPA/AppImage strategy.
It's hard to sum up in a single post, maybe we need some sort of "conference"?
"fight the good fight"
- kkremitzki
- Veteran
- Posts: 2422
- Joined: Thu Mar 03, 2016 9:52 pm
- Location: Illinois
Re: GSoC '18: CM Project Thread
Have y'all heard of Nextcloud Talk? I am running an instance of it and it works pretty well. Perhaps we could try that for video conferencing?
Re: GSoC '18: CM Project Thread
No, if we try the quick trial can we test it?kkremitzki wrote: ↑Wed May 02, 2018 10:53 pm Have y'all heard of Nextcloud Talk? I am running an instance of it and it works pretty well. Perhaps we could try that for video conferencing?
"fight the good fight"
- kkremitzki
- Veteran
- Posts: 2422
- Joined: Thu Mar 03, 2016 9:52 pm
- Location: Illinois
Re: GSoC '18: CM Project Thread
Hmm, perhaps, but we can also just try it on my server, the quick trial is for their hosted version. I will PM you a username & pass.sgrogan wrote: ↑Wed May 02, 2018 10:57 pmNo, if we try the quick trial can we test it?kkremitzki wrote: ↑Wed May 02, 2018 10:53 pm Have y'all heard of Nextcloud Talk? I am running an instance of it and it works pretty well. Perhaps we could try that for video conferencing?
Update: the chat functionality works at least and the video should be, but I seem to need a bit more setup to get it working: "ICE failed, add a TURN server and see about:webrtc for more details"
Re: GSoC '18: CM Project Thread
there is also http://meet.jit.si
we could do such an online meeting some day, I'm all for it, but things said there are more "volatile" than written on a forum...
@kremitzki I also have a nextcloud instance running but never tried the talk app... Does it work between different instances?
we could do such an online meeting some day, I'm all for it, but things said there are more "volatile" than written on a forum...
@kremitzki I also have a nextcloud instance running but never tried the talk app... Does it work between different instances?
Re: GSoC '18: CM Project Thread
The gpu is often also a major problem as it needs to support full opengl not the cut down gl designed for portable devices, on most arm devices.kkremitzki wrote: ↑Wed May 02, 2018 1:55 pmBoth luckily and unluckily the ARM builds take forever, so this will really just be an afterthought "fire off the builds and check sometime later" thing.yorik wrote: ↑Tue May 01, 2018 10:51 pm More/better continuous integration would of course help a lot there. I'm all for porting to new platforms too, but I would take care of not spending too much efforts there, as it could easily swallow all of your time, with little direct benefit for FreeCAD itself.
Re: GSoC '18: CM Project Thread
And that's what I don't like. People who won't be able to attend (we are far from being all on the same time zone) will be cut off from the discussion.