The best place to start with any open source contribution is with something that fits your knowledge, experience, and area of interest.
If you're a Python programmer, and like the idea of a very well specified, but complex problem, Colosseum is a good place to contribute. Colosseum is a pure-Python, browser implementation of the CSS layout algorithm. BeeWare uses it to lay out widgets on the screen of an application. The CSS specification has an extensive test suite; Colosseum needs to pass all those tests.
The Colosseum documentation has a contribution guide to walk you through your first Colosseum contribution.
If you've got experience with a native widget library - Cocoa on macOS, GTK+ on Linux, Windows Forms, or the native iOS or Android libraries, you may be able to help with Toga. Toga is a cross platform widget toolkit - it provides a common interface for user interface elements like buttons and trees.
Toga has a range of interfaces already defined; however, the implementation of those interfaces isn't complete across all platforms. Pick a widget, and implement that widget for your platform of choice!
Even if you don't know a native widget library, you may still be able to help with Toga. Toga's core library has a test suite, but the coverage of that test suite isn't very good. Pick a widget interface, and see if you can write a test for it!
Android and Java
If you have an Android phone, or you're interested in developing code that needs to run on the JVM, VOC is a fantastic place to contribute. In order for VOC to function, all the functionality of CPython that is implemented in C needs to be re-implemented in Java. As a result, there are lots of very approachable and well-contained tasks suitable for first time contributors.
The VOC documentation has a contribution guide to walk you through your first VOC contribution.
Again, this results in lots of very approachable and well-contained tasks suitable for first time contributors.
The Batavia documentation has a contribution guide to walk you through your first Batavia contribution.
One of the best ways to contribute is to make sure our introductory and tutorial documentation is rock solid. Pick a project of interest from the BeeWare suite, and try to follow the getting started guide and tutorial. If you can't find the getting started guide - then that's the first thing to report!
As you work through the tutorial, take note of anything that doesn't make sense, or doesn't work. Then open a bug report for those problems.
If you're a Windows user, BeeWare can definitely use your help. The core team all use Linux and macOS in their daily development, and as a result, it's really easy for Windows incompatibilities to slip in. This is almost always due to an oversight. Identifying - and maybe even fixing - problems with running BeeWare tools on Windows is an immense help.
Do you speak a language other than English? At present, the core team are all native speakers of English. Providing translations of documentation, or completely new tutorials or guides in your native language is a great way to contribute. Pick a project that already has documentation and translate that text. Alternatively, start from scratch and write a completely new tutorial.
If you speak a language with a non-latin character set (e.g., Russian or Chinese), or a language with a right-to-left script (e.g., Hebrew or Arabic) you'll be able to point out all the places where we've assumed simple ASCII encoding or left-to-right conventions. Pick any of the active BeeWare projects, and try to use it with using your native language. If you hit any problems, report those problems as bugs; if you are feeling particularly adventurous, see if you can work out how to fix the bug, too.