OctoPrint is a web interface that allows to control 3D printer connected to a web server's USB ports. It allows to do operations such as uploading, printing, and viewing G-Code files or monitor a webcam (for example, to supervise the printing process). This way you don't need a dedicated desktop machine for controlling the 3D printer, making something like a monitorless Raspberry Pi sufficient.
Ranked in these QuestionsQuestion Ranking
Pro Very responsive support
Pro Well supported by common slicers
For example, both Slic3r and Cura can successfully upload to OctoPrint.
Pro Open source
Everything is available here.
Pro Works well with slow hardware
OctoPrint functions well even with slow hardware, like the Raspberry Pi 2.
Con Takes a while to boot
You have to wait some time while it boots, possibly because it creates some caches in advance.