The only open-source CAS (Computer Algebra System) that I know of is called Maxima, but as I have not used it, I cannot say whether it is any good. I own a copy of Mathematica 7.0, and can say that it is superb. The programming language is easy to learn, and in many ways quite similar to that of the TI-89. The university I attend uses Maple 13, which from my experience is not as strong as Mathematica in the area of purely symbolic manipulation, but is superior in terms of numerical modeling.