The open source software i looked into was Krita. Krita is a free alternative to photoshop, one that I personally use regularly. It has features like photowarping, an animation timeline, and a decent range of brushes that can be expanded on through plugins. It has a github forked from kde that I wasn't familiar with previously. It has all of the categories on the front page, so it felt a bit easier to get lost searching through other projects, even though github does have its own sorting system. The project has a GNU General Public License (version 3), but something I noticed was that the read me states that individual files may have their own, compatible, licences. I hadn't thought of that as a possibility, thinking that one licence would automatically apply to all files added, but after considering it as long as additional licences are "compatible" then it means that people who work on a specific file has a little control over the section of the project that they worked on. Though it does feel like it would be harder to comply with multiple licences rather than one, that most likely only applies to very specific situations. I haven't found any files with their own licence yet, but bringing it up that it's a possibility does make me consider the uses of a multi-licence project.
  Going to kritas main website, there's a history section in the about tab. It's first prototype by Matthias Ettrich was a hacked version of GIMP in 1998, and then was integrated into a seperate project by Michael Koch. After several copyright issues, the software was officially renamed to Krita. The KDE project team officially maintains the software. Currently it's community supported, with the krita foundation being a way to help fund the project. Krita allows a large variety of contributions, from developers and testers to tutorial makers and artists for promotional usage.
  Kde hosts their own community for projects on invent.kde.org but it has a similar structure to github. Their issues are in "Bugzilla" and a neat feature of their merge requests is that the requests include a checklist of tasks.
  As much as I enjoy using the software, im not entirely sure of how I would effectively contribute to it on the programming side. The software is relatively advanced for me, and most of it is in C# or python, languages im not super familiar with. I think the most effective way I could contribute is bug testing, as throughout using the software I have encountered bugs before.