Fityk is a program for nonlinear fitting of analytical functions (especially peak-shaped) to data (usually experimental data). There are also people using it to remove the baseline from data, or to display data only.
It is reportedly used in crystallography, chromatography, photoluminescence and photoelectron spectroscopy, infrared and Raman spectroscopy, to name but a few.
Fityk knows about common peak-shaped functions (Gaussian, Lorentzian, Voigt, Pearson VII, bifurcated Gaussian, EMG, Doniach-Sunjic, etc.) and polynomials. It also supports user-defined functions.
Fityk offers intuitive graphical interface (and also command line interface), variouse optimization methods (standard Marquardt least-square Algorithm, Genetic Algorithms, Nelder-Mead SIMPLEX), equality constraints, modelling error of x coordinate of points (eg. zero-shift of instrument), handling series of datasets, automation of common tasks with scripts, and more.