Welcome | Sign In
ECommerceTimes.com
Tech Buzz

OPINION
Painting by Numbers with Paint.NET

Print Version
E-Mail Article
Reprints
Painting by Numbers with Paint.NET

In some ways, software is like the dinosaurs in Jurassic Park -- they are engineered with limits so that they cannot reproduce, but life always finds a way to propagate or it must extinguish. Microsoft can try to use Paint.NET to bring more image manipulators back to the Windows platform, but unintended events might occur.


eMarketer Whitepaper: Optimizing the E-Commerce Experience
From the Web to the Contact Center, are you prepared to proactively engage and keep your savvy customers? Read how e-commerce leaders are optimizing their sites with ratings, reviews, live help, Web analytics, mobile and more.

It's a new year, time for focusing on those New Year's resolutions. One of my resolutions was to spend more time outdoors, but it's the rainy season so I'm stuck indoors for now. In that case, I decided to put my cool new presents to good use. I took to the Web to research photo manipulation software to go with my new digital camera.

Since I'm not the best photographer, my pictures need some touching up to be good enough to send to the grandparents. I quickly discovered that I needed something more sophisticated than Microsoft (Nasdaq: MSFT) Paint. As I was deciding whether to go the commercial route with Paint Shop Pro from Jasc Software or Adobe (Nasdaq: ADBE) Photoshop, or the open-source route with GIMP, I came across Paint.NET, which defies easy categorization.

In the case of Paint.NET, there seems to be more going on. My attention was quickly diverted from the features of the product to how it came into being and its open-source nature.

The Concept Behind Paint.NET

Paint.NET is positioned as a free replacement for Microsoft's Paint software and also as a possible replacement for expensive commercial photo manipulation software. It started as a project of a student of Washington State University named Rich Brewster. Brewster is now a Microsoft employee and serves as Microsoft's project mentor for Paint.NET development.

Whether or not the program got Rich his job after college, the increasingly common practice of writing an open-source project as a strategic career move is a win-win all around. The developer gets a better job, the employer gets to see the job candidate's talent level before committing to hire the candidate, and the consumer gets a good software product.

It is hard to see exactly where Paint.NET fits in the marketplace. It is not a good replacement for expensive commercial image manipulation applications because for professional graphics manipulators, cost is not the determining factor for which software they use. They probably spend much more for ink cartridges than they do for a package like Adobe Photoshop. For the hobbyists, there are other low-cost alternatives or open-source projects that have more of a history behind them.

Beyond the Lens

A good photograph leaves the viewer speculating about the world beyond what the lens can see. Paint.NET left me speculating about what is behind the program. For example, it was developed at a university but with help from Microsoft, so it is written to run only on Microsoft operating systems. It is purportedly open source, but a closer look reveals that not all of the source code is open.

Installing the software requires Microsoft's .NET 1.1 environment, which is conveniently loaded by the Paint.NET install process if it does not already exist. Rather than install it, I decided to first examine the source code and licenses included in the source.

Borrowing from the Source

In the true tradition of open-source programming, Paint.NET borrows code from others rather than trying to reinvent the wheel. The source code includes code from ZipLib, which is derived from Classpath, a compression library owned and licensed by the FSF under a modified GPL. Since other parts of the program involve Microsoft "redistributables" with the EULA having prohibitions against combining it with GPL code, this is somewhat surprising.

Nonetheless, it seems that someone has done their homework, because Classpath is licensed under a modified GPL that loosens the downstream constraints imposed by the GPL for combining the library with executable code. The modified GPL allows for independent modules to be licensed under license terms other than those imposed by the unmodified GPL.

Open-Source Illusion

Paint.NET includes code for Skybound's VisualStyles. This apparently involves some serious hacking to get user interface features to work right, so interface designers might want to learn from Paint.NET how it is done. Skybound's Web site does not allow for open disclosure of its source code. It could be that WSU negotiated a license beyond what is available to the public, but a license to release Skybound's hacks nonconfidentially would remove any trade secret restrictions Skybound placed on its code.

Looking closely, I noted that the Paint.NET source code does not actually include Skybound's source code. Instead, it just includes a DLL file. For those who are not familiar with the Windows operating system, or Linux users pretending to forget, a DLL (Dynamic Linked Library) file is a Windows-compiled object file that is not human-readable. As far as I know, DLLs can only be used on computer systems running the Windows operating system. In other words, Paint.NET is not as open as one would expect.

Paint.NET also includes the Windows Image Acquisition (WIA) Library v2.0, which Microsoft licenses under a EULA that allows for redistribution but not combination with GPL-ed code. Of course, the source for WIA is not included with Paint.NET.

Life Finds a Way

In some ways, software is like the dinosaurs in Jurassic Park -- they are engineered with limits so that they cannot reproduce, but life always finds a way to propagate or it must extinguish. Microsoft can try to use Paint.NET to bring more image manipulators back to the Windows platform, but unintended events might occur. Users might just ignore Paint.NET, preferring GIMP or Photoshop. Others might take Paint.NET and migrate to an open platform where the agenda is simply to make a good paint program, not a good paint program that draws users to Windows for image manipulation tasks. Of course, they still have to deal Increase Customer Sales with Email Marketing -- Free Trial from VerticalResponse with the fact that not all of the code for Paint.NET is included in source form.

At least the Paint.NET license does not provide constraints on use of the source that is provided beyond the licenses from code borrowed from other projects, and the need to tie into the .NET framework. Anyone can bypass the latter requirement using open-source .NET replacements such as Mono.

Picture Perfect

At this point, Paint.NET is no masterpiece. It might not even meet a compelling need as a program, since those accustomed to commercial, paid software already have mature solutions and open source fanatics will stick with GIMP.

But art is in the eye of the beholder and while it may not be picture perfect, Paint.NET could grow into an interesting experiment. If it garners significant market share, it would help Microsoft achieve image manipulation mindshare and tie its users to Microsoft's operating systems. Even as an almost open-source program, with Microsoft's backing it could become a serious player in the image manipulation arena.

It could also open the door to more software that looks like open source, but is really just a photo image.


Phil Albert, a LinuxInsider columnist, is a patent attorney and partner with the San Francisco office of the intellectual property law firm Townsend and Townsend and Crew LLP.


Print Version E-Mail Article Reprints More by Philip H. Albert


Talkback: Join the Discussion.
Re: Painting by Numbers with Paint.NET
Kagehi
Posted 2005-01-04
> As far as I know, DLLs can only be used on computer systems running the Windows operating ...

More by Philip H. Albert

License Proliferation: When More is Less
April 26, 2005
According to Nobel Laureate Dr. Herb Simon, people generally choose the "satisficing" option: the first decent choice that fits their preference as opposed to exhaustively scanning all options until finding the perfect one. In the open-source context, it means that you need to know what you want.
Innovation: Not Just for Products Anymore
April 12, 2005
Even the most strident open-source advocates have to -- or at least should -- acknowledge that proprietary, closed-source licensing has a place. Where the end user is necessarily a pure consumer of a product, there is no loss of flexibility if the end user does not have access to the source. This particular end user just wants a product.
No Really, Lower the Volume Already
March 29, 2005
Whenever someone posts a comment about my column, the post often includes a conjecture that I must be on the payroll of some group that wants me to write an advocacy piece favoring them. For the record, I shill for no one.
Don't miss a story -- sign up for our FREE e-mail newsletters and view the latest headlines at a glance.
Tech News Flash [ View Sample ]
E-Commerce Minute [ View Sample ]
ECT News Network Weekly Newsletter [ View Sample ]
Shortcuts
ECT News Network Information
Reader Services
Corporate
ECT News Network