Open source project manager Robin Rowe shares suggestions how to find the perfect FOSS project for you

CinePaint 1.4.7 for Windows with GTK1 Dark Mode display 2023/2/20
BEVERLY HILLS, CA (GoshRobin) 2023/11/3 – Free Open Source Software (FOSS) projects can offer a better experience, or at least a different one, from giving some cash to a faceless charity or volunteering our time at a food bank. Whether you are a programmer, a writer, a publicist, FOSS offers opportunities to bond with talented individuals, to build experience and portfolio, and to create something interesting that makes the world a better place.
According to Google Bard, there are many reasons to work on open source projects, both personal and professional…
Personal benefits:
- Learn new skills and technologies. Open source projects offer a great opportunity to learn new things, both in terms of programming skills and specific technologies. You can also learn from other developers and get feedback on your work.
- Build your portfolio. Contributing to open source projects is a great way to build your portfolio and show potential employers your skills and experience. It can also help you to build a reputation as a knowledgeable and skilled developer.
- Make a difference. Open source projects are used by people all over the world. By contributing to an open source project, you can make a real difference in the lives of others.
Professional benefits:
- Improve your employability. Many employers value open source experience. Contributing to open source projects shows that you are a self-motivated and skilled developer who is passionate about their work.
- Increase your salary. Open source experience can also lead to a higher salary. According to a 2022 survey by HackerRank, developers with open source experience earn an average of 10% more than developers without open source experience.
- Build relationships with other developers. Working on open source projects is a great way to meet and network with other developers. This can lead to new job opportunities, collaboration on other projects, and even friendships.
In addition to the personal and professional benefits, working on open source projects can also be a lot of fun. It is a great way to be creative and to solve interesting problems. It is also a great way to give back to the community and to make a positive impact on the world.
Choosing which open source is right for you
- Surf FOSS repo websites
Look around on GitHub and GitLab. - Choose an open source project to learn a programming language or other technology
Whether it is a new language like Rust, or a classic like C, having a FOSS project can be the fastest way to learn. - Choose an open source project that speaks to your interests
If already a user, we may have specific feature enhancements or bug fixes in mind, a great start! However, if the software codebase is huge, something like Blender, Firefox or Thunderbird, it may take a lot of effort to master. Even to figure out where to start. A midsize or smaller project can be easier to onboard. And unless you know you can trust the principal architect, beware of announced yet vaporware projects that may never complete. Try to pick FOSS software with at least one release done already. Something real.
CinePaint
CinePaint is an open source graphics software project I have led for many years. The Lord of the Rings films, the Harry Potter films, Too Fast Too Furious and The Last Samurai are some of the many Hollywood motion pictures that have used CinePaint as a post-production tool for image retouching and visual effects.
The Academy Software Foundation (ASWF ) is a Hollywood technology think tank, a collaboration between the motion picture studios of the Motion Picture Academy and the Linux Foundation. At recent ASWF meeting, I presented the latest version of CinePaint and asked for feedback and suggestions from Hollywood’s top creative technologists. Generative AI is the one feature Hollywood says it wants to see in CinePaint.
CinePaint is free software maintained by open source programmers. We’ll be launching a Kickstarter campaign on November 13th to fund development of generative AI in CinePaint.
UE5 ToonShader
I suggested avoiding projects that are only announcements, but if you wish to ignore that advice… ToonShader is a fresh project of mine. I worked at DreamWorks Animation (DWA). With a few DWA alumni we are creating an animated short using Blender, Reflex and UE5. I’m leading development of our 3D-to-2D toonshader, written in C++ for Unreal Engine 5.
LibUriPath
OAIO is the OpenAssetsIO project, an Academy Software Foundation (ASWF) project. My arena in this project is file path handling, converting file paths between local file system syntax and web URLs. LibUriPath is tiny scope, so small effort. It’s great to start with something small like this.
Cmaker
Cmaker is a Cmake and C++ code generator with a simple ctest frameworks.
C2 Programming Language
While its chairman was away for the summer of 2023, I was the interim chairman of the Academy Software Foundation Rust Working Group. Rust has received a lot of attention since NSA and the CTO of Microsoft suggested it was safer than C and C++. I’m a member of the ISO C and C++ standards committees, and have programmed Linux safety-critical embedded systems (U.S. traffic control). Rust is interesting and has nice features. But, is it anything we couldn’t get by implementing some changes to the C programming language? Let’s find out… Am developing a compiler and an interpreter to demonstrate my new C-like language that I’ve named C2. The goal of C2 is to implement safety features from Rust and C++, without making C bigger like C++.
GTK1
GTK1 is a classic windowing toolkit that was replaced by in 2002 by GTK2, then later by GTK3 and GTK4. Because later GTK versions broke capability with previous versions, many popular GTK1 programs never moved on to later versions. Too much work. After GTK1 was abandoned, I took over development. GTK1 version 1.5 is available to build Windows 32-bit or 64-bit applications that use GTK1. A new Linux GTK1 version is coming.
Need someone to create the MacOS version. The open source developer who implemented the previous port, for the old Mac version of CinePaint, was a recent grad. After implementing Mac CinePaint he was employed by Apple to work on Final Cut. The MacOS graphics APIs have since changed. An open source developer would do the Mac port all over again.
Conclusion
Working on open source projects can be a rewarding experience, both personally and professionally. If you are a developer, I encourage you to consider contributing to an open source project today. Once you have found an open source project that you are interested in, start by reading the project’s documentation and the project’s issue tracker. Contact the project manager to ask how you can best help.
About Robin Rowe
Robin Rowe manages the free open source project CinePaint. Project manager since 2002, after writing an article about Hollywood using CinePaint to produce visual effects in the film Scooby-doo. An avid programmer, Robin’s software designs span the U.S. traffic control system, AI for national defense and motion picture animation technology used by Disney Marvel and Mattel. Robin’s taught C++ software design at the Naval Postgraduate School and the University of Washington. Chairman of the ISO C++ Low Latency Financial Systems subcommittee, for algorithmic trading and banking.