Sachverhalt: Sachverhalt: A. Der 1962 geborene K._ war seit 1. Dezember 1995 als Betriebsmitarbeiter/Rüster bei der zur F._-Gruppe gehörenden V._ Kolonialwaren tätig. Wegen Rückenbeschwerden musste er von September 1996 bis März 1997 physiotherapeutisch behandelt werden. In dieser Zeit traten vermehrt absenzartige Zustände von ca. 1-2 Minuten Dauer auf. Dazu kamen Kopfschmerzen. Neurologische Untersuchungen führten zur Diagnose einer partiellen Epilepsie mit Pseudoabsenzen bzw. komplex-partiellen Anfällen. Das Leiden wurde medikamentös behandelt. Im Oktober 1998 traten erneut und verstärkt Rückenbeschwerden auf. Gemäss Angaben des Arbeitgebers war K._ vom 1. November 1998 bis 14. März 1999 zu 100 % und vom 15. bis 31. März 1999 zu 50 % aufgrund krankheitsbedingter Absenzen arbeitsunfähig. Auf diesen Zeitpunkt hatte die Firma das Arbeitsverhältnis aus gesundheitlichen Gründen aufgelöst. Ab 1. April 1999 war K._ arbeitslos gemeldet und er bezog auf der Grundlage einer Vermittlungsfähigkeit von 100 % Arbeitslosenentschädigung. Die Rheumapoliklinik des Spitals Q._ attestierte im Arztzeugnis vom 8. April 1999 zuhanden der Arbeitslosenversicherung volle Arbeitsfähigkeit. K._ könne die bis zu seiner Kündigung ausgeübte Tätigkeit als Lagerist ausführen, sofern keine repetitiven Arbeitsgänge zu erledigen seien und ohne Heben von Lasten über 15 Kilogramm. Im November 1999 war K._ zu 100 % arbeitsunfähig geschrieben. Ab 1. Dezember 1999 bestand wieder Arbeitsfähigkeit für leichte Tätigkeiten mit maximaler Traglast von ca. 20-25 Kilogramm und mit Wechselbelastung (Arztzeugnis vom 8. Dezember 1999). Vom 22. Mai bis 2. Juni 2000 arbeitete K._ bei der Bäckerei-Konditorei P._ und vom 1. bis 23. Juni 2000 in der Werkstatt der B._ in Y._. Seinen Angaben zufolge stand er ab 26. Juni 2000 im Rahmen eines vom Regionalen Arbeitsvermittlungszentrum organisierten Arbeitsprojektes wiederum bei der P._ im Einsatz. Die Arbeit bestand im Heben von 10-15 Kilogramm schweren Metallblechen mit Rotationsbewegung des Oberkörpers. Wegen zunehmender Schmerzen musste K._ die Tätigkeit bei der P._ am 6. Juli 2000 aufgeben. Er wurde für diese Tätigkeit zu 100 % arbeitsunfähig geschrieben (Bericht Rheumapoliklinik des Spitals Q._ vom 8. August 2000). Ende Juli 2000 ersuchte K._ die Invalidenversicherung um eine Rente. Die IV-Stelle des Kantons Zürich klärte die gesundheitlichen und erwerblichen Verhältnisse ab. Nach erstem Vorbescheidverfahren wurde K._ am 26. und 27. Februar 2002 in der Medizinischen Abklärungsstelle (MEDAS) der Universitätskliniken X._ untersucht und begutachtet (Expertise vom 9. April 2002). Nach erneutem Vorbescheid verfügte die IV-Stelle am 29. Oktober 2002 für die Zeit vom 1. Juli 2001 bis 28. Februar 2002 eine halbe Invalidenrente und ab 1. März 2002 eine ganze Invalidenrente. Ende Juli 2000 ersuchte K._ die Invalidenversicherung um eine Rente. Die IV-Stelle des Kantons Zürich klärte die gesundheitlichen und erwerblichen Verhältnisse ab. Nach erstem Vorbescheidverfahren wurde K._ am 26. und 27. Februar 2002 in der Medizinischen Abklärungsstelle (MEDAS) der Universitätskliniken X._ untersucht und begutachtet (Expertise vom 9. April 2002). Nach erneutem Vorbescheid verfügte die IV-Stelle am 29. Oktober 2002 für die Zeit vom 1. Juli 2001 bis 28. Februar 2002 eine halbe Invalidenrente und ab 1. März 2002 eine ganze Invalidenrente. B. Die Beschwerde von K._ wies das Sozialversicherungsgericht des Kantons Zürich nach zweifachem Schriftenwechsel mit Entscheid vom 20. November 2003 ab. B. Die Beschwerde von K._ wies das Sozialversicherungsgericht des Kantons Zürich nach zweifachem Schriftenwechsel mit Entscheid vom 20. November 2003 ab. C. K._ lässt Verwaltungsgerichtsbeschwerde führen mit dem Rechtsbegehren, der Entscheid vom 20. November 2003 sei aufzuheben und die Sache sei an das kantonale Sozialversicherungsgericht zur Vornahme ergänzender Abklärungen und zu neuer Entscheidung zurückzuweisen. Im Weitern wird um unentgeltliche Verbeiständung ersucht. Die IV-Stelle beantragt die Abweisung der Verwaltungsgerichtsbeschwerde. Das Bundesamt für Sozialversicherung reicht keine Vernehmlassung ein.