Sachverhalt: A. Am 8. Juni 2016 verurteilte das Bezirksgericht Zürich X._ wegen Anstiftung zur qualifizierten Widerhandlung gegen das Betäubungsmittelgesetz, mehrfachen Hausfriedensbruchs und mehrfachen geringfügigen Diebstahls zu einer unbedingten Freiheitsstrafe von 14 Monaten und einer Busse von Fr. 300.--, dies teilweise als Zusatz zum Urteil des Bezirksgerichts Zürich vom 3. März 2015. Es ordnete an, dass die ambulante therapeutische Massnahme gemäss Urteil des Bezirksgerichts Zürich vom 3. März 2015 weitergeführt wird, schob den Vollzug der Freiheitsstrafe zugunsten der Massnahme auf und erneuerte die Auflage, während der Massnahme begleitet zu wohnen. Es verpflichtete X._, der Genossenschaft A._ eine Umtriebsentschädigung von Fr. 150.-- zu bezahlen und der Genossenschaft B._ eine solche von Fr. 100.--. B. Die dagegen gerichtete Berufung von X._ hiess das Obergericht des Kantons Zürich am 6. Dezember 2016 insoweit gut, als es die Freiheitsstrafe von 14 Monaten auf 12 Monate reduzierte. Im Übrigen wies es die Berufung ab. C. X._ beantragt mit Beschwerde in Strafsachen, das obergerichtliche Urteil sei teilweise aufzuheben. Er sei vom Vorwurf der Anstiftung zur qualifizierten Widerhandlung gegen das Betäubungsmittelgesetz freizusprechen und wegen mehrfachen Hausfriedensbruchs sowie mehrfachen geringfügigen Diebstahls mit einer angemessenen Geldstrafe und Busse als teilweise Zusatzstrafe zu belegen. Die Kosten seien ausgangsgemäss neu zu verteilen. Eventualiter sei das obergerichtliche Urteil aufzuheben und die Sache zur Neubeurteilung und neuen Strafzumessung an das Obergericht zurückzuweisen. X._ ersucht um unentgeltliche Rechtspflege. D. Das Obergericht und die Oberstaatsanwaltschaft des Kantons Zürich verzichten auf eine Stellungnahme. E. Das Bundesgericht hat den Entscheid am 15. Februar 2018 öffentlich beraten (Art. 58 Abs. 1 BGG).