Freegemas is an open source version of the well known Bejeweled, for GNU/Linux and Windows. It's written in C++ using SDL2, and licensed under the GPL v2.0.
Only critics: When I play timeless mode, it adds the points from the last play to the new score. So the score is not restarting from zero, but increasing more and more.