MyPaint is an Open Source project made for the artist community. The code has been built over many years by volunteer developers and artists to be what it is today. We need your ongoing help to develop the program.

To get started visit our Contributing wiki page.

Code Developing

We use git for code maintenance, and we organize development on Github.

MyPaint is mostly written in Python, with some parts coded in C++ for speed. Its brush engine is written as a portable C library. MyPaint uses GTK for its user interface, and some of the more complicated bits are designed in Glade.

All bugs and related issues are public, and can be searched in the issue trackers for the two main projects (MyPaint, libmypaint). We also have a dedicated developer’s discussion forum for those wanting help or a place to chat.

Packaging

Get official source tarballs from the releases page on Github. Most packages should be built from these.

Our Packaging wiki page is a catalogue of all the ongoing packaging efforts we know about, including those made by third parties. If you intend to start a new packaging project, please tell us about it and link it on the wiki.

We’re also looking for people willing to maintain builds for Mac OS X and Windows. It helps having a person familiar to the platform they’re building on.

See the main README file for details of how to build MyPaint from source across a variety of platforms. If you have questions, or want to port MyPaint to Mac OS X, Windows, another Linux distribution, please vist our Community forums under the Porting MyPaint Category, and ask away there.

Web Developing

MyPaint.org uses Jekyll as its static page generator. We mainly use HTML and CSS, and avoid using JavaScript as much as possible.

You can get started developing our website by going to our Website documentation wiki.

Documenting

Good documentation is essential to the project. We need a good user manual that anyone can read, and helpful technical information for developers.

You can start improving the MyPaint docs right away. We’re coordinating efforts on the Documentation wiki page.

Translating

Help MyPaint reach a more international audience by helping us translate it to your language. We use Weblate, a free web-based translation management system, to make it simpler for new translators to get started.

Contributing Artwork

You can contribute to MyPaint by creating artwork which we can reuse. We’d like all sorts of designs for use in the program, as part of website designs, or for promotional purposes.

If you want (and only with your permission), you can contribute artwork which helps us promote MyPaint, or for use in the program itself. The work will have to abide by our Licensing Policy.

If you want to share a tutorial, brushes, or other resources for MyPaint and get feedback, please share them in the Resources category on our discussion forums.

Testing and Bug Reporting

You can help us out a lot by building and testing new features, and by reporting bugs. The most effective feedback we get comes from people testing the development master directly, who are willing to try things out and experiment by themselves.

Connecting in the Community

Connect with other artists and people whose use MyPaint at our new Community Forums Site. We created it as a place for you to post your artwork for others to enjoy, collaborate with other artists, share resources and tutorials, and above all have fun!

There are several third-party MyPaint groups springing up too. The most up to date list can be found on the Community and Contacts wiki page. Please add your community there if it’s not already listed.

However you choose to get involved or meet us, we’re glad to have you aboard!