Paint.NET is primarily programmed in the C# programming language. Its native image format, .PDN, is a compressed representation of the application's internal object format, which preserves layering and other information. Excluding the installer, text, and graphics, Paint.NET was released under a modified version of the MIT License. It was initially released as completely open source, but due to breaches of license, all resource files (such as interface text and icons) were released under a Creative Commons license forbidding modification, and the installer was made closed-source.
Version 3.36 was initially released as partial open source, but the sources were later removed by Brewster, citing problems with plagiarism. In version 3.5, the license was altered to reflect this, and users are now prohibited from modifying the software. As free licenses cannot be revoked, developers can still legally develop forks based on version 3.36 and earlier.
Paint.NET originated as a computer science senior design project during spring 2004 at Washington State University. Version 1.0 consisted of 36,000 lines of code and was written in fifteen weeks. In contrast, version 3.35 has approximately 162,000 lines of code. The Paint.NET project continued over the summer and into the autumn 2004 semester for both the version 1.1 and 2.0 releases.
Development continues with one developer who now works at Microsoft and worked on previous versions of Paint.NET while he was a student at WSU. As of May 2006 the program had been downloaded at least 2 million times, at a rate of about 180,000 per month.
Paint.NET supports plugins, which add image adjustments, effects, and support for additional file types. They can be programmed using any .NET programming language, though they are most commonly written in C#. These are created by volunteer coders on the program's discussion board, the Paint.NET Forum. Though most are simply published via the discussion board, some have been included with a later release of the program. For instance, a DirectDraw Surface file type plugin, (originally by Dean Ashton) and an Ink Sketch and Soften Portrait effect (originally by David Issel) were added to Paint.NET in version 3.10.
Hundreds of plugins have been produced; such as Shape3D, which renders a 2D drawing into a 3D shape. Some plugins expand on the functionality that comes with Paint.NET, such as Curves+ and Sharpen+, which extend the included tools Curves and Sharpen, respectively.
Examples of file type plugins include an Animated Cursor and Icon plugin and an Adobe Photoshop file format plugin. Several of these plugins are based on existing open source software, such as a RAW plugin that uses dcraw and a PNG optimization plugin that uses OptiPNG.
Paint.NET was created for Windows, and has no native support for any other system. With its previous open-source nature, the possibility for alternate versions was available. In May 2007, Miguel de Icaza officially started a porting project called paint-mono. This project had partially ported Paint.NET 3.0 to Mono, an open-source implementation of the Common Language Infrastructure on which the .NET Framework is based. This allowed Paint.NET to be run on Mono-supported platforms, such as Linux. This port is no longer maintained and has not been updated since March 2009.
In 2010 developer Jonathan Pobst started a project called Pinta, describing it as a clone of Paint.NET for Mono and Gtk#. Pinta reused the adjustments and effects code from Paint.Net but otherwise is original code.
Sells, Chris (12 August 2005). MSDN TV: Paint.NET - The .NET Framework in Action. Microsoft Download Center. Microsoft Corporation. Retrieved on 15 March 2011. “Chris Sells interviews Rick Brewster, Tom Jackson, and Craig Taylor about their project, Paint.NET v2.1.”