This words from Dave Coffin, dcraw creator, talk themselves and are the best possible introduction to this article:
“So here is my mission: Write and maintain an ANSI C program that decodes any raw image from any digital camera on any computer running any operating system”.
Dave Coffin | dcraw
And I can assert, without risking to fail, that he is succeeding. By the moment, dcraw is the only one program that can decode any raw image from any digital camera (and, as it has been programmed in ANSI C, it can be compiled in any machine under any operative system, as I will demonstrate soon).
The matter is simple: is dcraw is not supporting a camera, only the camera manufacturer will (dcraw supported cameras). It is so, that all commercial raw developers and non commercial are using dcraw code for loading and decoding raw files in someway, and many of them includes a dcraw.dll file without embarrassing.
So, dcraw is out entrance to the world of raw developing. Just by using i as a command line raw developer, and full understanding each parameter, we will learn a lot about the technical aspects of raw developing. If you want to follow that road, I recommend you to start with Guillermo Luijk’s dcraw tutorial.
As you can see, dcraw is a command line application: no GUI. If you want to modify one development parameter you will have to develop the whole raw again with that new parameter and open the resulting file (.ppm or .tiff), that dcraw will create in the same folder that contains the raw image, with your image viewer.
It is not the more confortable way of developing, but it will give you a level of control no other raw developer will. In fact, dcraw is the only raw developer (perfectRAW also was going to) that will develop a perfectly neutral result. The rest will apply some automatic parameters for exposure, brightness and contrast. Many of them will, even if you set all controls to zero.
This is a characteristic of commercial raw developers, that try to show a first image pleasant enough for the photographer eye, and it is the main reason that makes difficult to compare different raw developers result with the same parameters. The images tend to have the “developer firm”. (Hugo Rodríguez has done the best raw developers comparison till now).
My proposal, and so of the biggest dcraw experts as Guillermo Luijk, is that you get used to a neutral result: few contrasted and few saturated. It is the best possible starting point for a successfully postprocesing and will give you more control over the final result.
So, we depend in dcraw for loading and decoding our raws and we will. But, how much quality has dcraw processing? The answer is controversial. Some years ago dcraw was giving more quality than commercial raw developers and, of course, than in camera jpegs. But, in the last months, the market of raw developing has progressed a lot, implementing more and more sophisticated algorithms, thanks to the competence between them, but also thanks to the open source and non commercials raw developers. Meanwhile, dcraw processing has stuck.
One small programmers community, to which I belong to, is putting big efforts in equiping dcraw with the best algorithms to make it compete again with commercial raw developers. This website aim to demonstrate how far is it possible.