Kurt makes FOSS and takes our Twitter mic from September 16 to 23. Thank you, Kurt!
I’m a Debian Developer and FreeCAD developer/admin. During the day, I work as a scientific software developer. I have a degree in biological & agricultural engineering, but that’s such a mouthful I prefer the shorter, and in my opinion more descriptive descriptor ‘biosystems’. Not sure that’s much clearer though, what do you think? :)
FreeCAD depends on a lot of utility software, and two in particular, CalculiX and Netgen, are in a rough state in the Debian archives right now. I’ve just recently uploaded new versions for both, but they’re both mostly broken right now; the autopkgtests for CalculiX are failing on ARM64, and Netgen is failing to build altogether on every architecture except for x86_64.
The CalculiX tests are failing when they try to diff the output of two calculations, expecting no difference. This touches on a topic that is a huge can of worms, working with numbers and their representations on computer hardware. This can be very surprising for people, especially for example when they fire up a Python interpreter and get an unexpected result for a calculation like 0.1 + 0.2. For an Easter egg, take the output from Python on that, add .com, and visit the website for an explanation!
A friend of mine gave me Red Hat 9 on a few CDs when I was a kid. I wasn’t able to get my winmodem to work, though, and every time I had to check something on the Internet I had to reboot into Windows, wait for dialup to connect, and then look for an answer to a problem I didn’t understand at 3 Kbps! Needless to say that experiment didn’t last long, and it wasn’t until around 2012 that I rediscovered Linux by way of Ubuntu. Luckily, by that time, I had a high-speed connection.
I always thought the whole endeavor was very interesting, but it seemed beyond me to really do anything to help. It wasn’t until around the time I was studying engineering and using Linux full-time that I decided to buckle down, be analytic and simply try to resolve problems I was encountering in my own usage.
There are many motivating factors. You get the opportunity to deeply explore interesting technology in a way that is both hands-on and undirected by someone else, which I find rewarding. There’s the fundamental aspects of control and freedom which are worth fighting for on their own. There’s a social aspect, both in terms of using technology to help people, but also to meet and learn from other people around the world.
Try things yourself. Take notes as you go. Find other people. Share and learn.
There are plenty, but a few are fairly evident from my anecdotes about discovering and getting started with FOSS. When I was on the technological fringe, with dialup internet and surrounded by corn fields instead of computer scientists, things were out of my reach. When I was at a university studying I had time, opportunity, and the right environment to contribute.
Access and inclusion. There are many great programs out there like Google Summer of Code which provides access in the form of a remote paid opportunity to university students almost worldwide, but then you have the drawback of still needing to be attending a university. Even better are efforts like Stu Keroff’s Penguin Corps, which gets middle school students involved with active learning.
For non-code contributions, the path to actually manifesting your contribution is often not clear. This is something we see often with artistic contributions to FreeCAD, like redesigned logos encountering the bikeshed crew. Even with clear-cut code contributions there can be years-long struggles behind small things.
My suggestion to fight this, simply document and share your work, and be clear about how it’s licensed, and with luck, others may come to push your work through for you. This can take the form of a blog post, for example, where you share your background, motivation, and results.
I’m a bit of a workaholic so I find it kind of funny that I find this question hard to answer… I guess I would say, it would be a day that is completely unstructured, but I wake up fully rested with no obligations, with nice weather and mostly good things to fill up the day. But since I have no attachment to any particular expectations, I cannot be bummed out on this perfect day off, because everything is exactly what it is for.
Free and open source CAD is not something that will just happen, it’s too complicated a field! It is very important, though. Find your favorite effort, even if it’s not FreeCAD, and help push.