WeBWorK is an open-source online homework platform that has support from the NSF and MAA. Portland Community College has its own WeBWorK server.