Frequently Asqued Questions
Q: What is Little CMS?
- lcms is a Library FOR PROGRAMMERS ONLY.
- lcms is FREE and does include SOURCE CODE.
- lcms deals with color management stuff.
- lcms is a CMM engine; it implements fast transforms between ICC profiles.
- lcms is a standalone engine; it doesn't need ICM or ColorSync to work.
- lcms intends to be PORTABLE across several platforms.
- lcms is distributed under the MIT license agreement.
Q: What is Little CMS NOT?
- lcms is NOT a file format or display library. lcms knows nothing about how to display bitmaps (JPEG, TIFF, GIF or whatever).
- lcms is NOT a complete color management solution.
- lcms is NOT commercial: thus, lcms is NOT supported software.
Q: How can I use Little CMS in my apps?
Little CMS adds basic ICC profile support. Then you can use the profiles to prepare a bitmap for display, keeping the original image colors. Little CMS is also useful for quickly converting between color spaces. Little CMS can also generate accurate separations based on the target printer, or inversely it can recover RGB data from a stored separation. Also, Little CMS can "Proof" an image, showing the final colors as they would be rendered on a specific device.
Less common usage would be to convert from RGB to CMYK accurately, to convert separations done for one printer to another printer, to use CIEL*a*b as working space, to read Lab TIFF, to characterize Colorimetric PNG, etc. etc.
Q: Is Little CMS really free?
As long as you abide by the licensing conditions, yes. It is free under the MIT license agreement. You can use Little CMS in your commercial apps, too. This is an extremely liberal license. The license requires a pointer referencing the copyright, so you can add a file in your distribution disk saying that your product uses Little CMS, and the coyright. That's all. (Of course, if you use the package and can improve on it, then your contribution will be welcome, but no contribution is required.)
Q: Do I have to release my own source code if I use Little CMS?
Q: Do I have to release changes I make to Little CMS?
From Little CMS 1.2 I use the MIT license, which does not require you to do this. However, you should consider the maintenance overhead of keeping your own custom version of Little CMS, versus the advantages you might get from participating in the community (such as bugfixes and extensions that others may make on top of yours).
Q: What do I need to do to abide by the MIT license?
Simply include our license text somewhere in your own software distribution; this could be in a text file, in a printed manual, in the credits, etc.
Q: t what point do I have to ensure that I’ve complied with the license?
When you distribute any part of your application to a third party.
Q: Why the MIT license?
Little CMS did use LGPL until revision 1.12, but after that, we switched to the MIT license because is more suitable to commercial products. I can consider other licenses for particular needs in commercial products, Please contact me in such case
Q: I'm not a programmer. Can I benefit from Little CMS?
Even if you are not a programmer but you are interested in colorimetry, you can
still download the utility programs to experiment with
profiles and see how much images can change when profiles are involved. Of course,
programmers are also welcome! ;)
Q: Which C/C++ compilers are supported?
Any C99 compliant compiler, like GCC or Intel. In addition and MS Visual Studio and Borland 5.5 are also supported
Q: I see that Little CMS is written in "C". Can I use it in my XXX programming
If your XXX programming language supports pointers and DLL or so calls, yes. Little CMS (as a DLL) uses the stdcall convention, so, it is usable from Visual Basic, for example. There is a special package for full Delphi support. On linux this applies to shared libraries.
Q: Will Little CMS work with my XXX "C" compiler ?
Probably YES. Little CMS is not using K&R, but the ANSI standard C99.
Q: Does Little CMS work on Mac?
Q: Does Little CMS work on embedded linux? My machine is a big-endian one, will still
Yes and Yes. Of course, if your C compiler accepts the code, as far as I know, there are also ports to FreeBSD, Solaris, Sun and even VMS. The best way to find out is to try it! ;)