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.

Das Eidg. Versicherungsgericht zieht in Erwägung:
Das Eidg. Versicherungsgericht zieht in Erwägung:
1. Das am 1. Januar 2003 in Kraft getretene Bundesgesetz vom 6. Oktober 2000 über den Allgemeinen Teil des Sozialversicherungsrechts (ATSG) ist nicht anwendbar, wie auch das kantonale Gericht richtig erkannt hat (<ref-ruling> Erw. 1.2).
1. Das am 1. Januar 2003 in Kraft getretene Bundesgesetz vom 6. Oktober 2000 über den Allgemeinen Teil des Sozialversicherungsrechts (ATSG) ist nicht anwendbar, wie auch das kantonale Gericht richtig erkannt hat (<ref-ruling> Erw. 1.2).
2. 2.1 Die IV-Stelle verfügte am 29. Oktober 2002 für die Zeit vom 1. Juli 2001 bis 28. Februar 2002 eine halbe Rente (Invaliditätsgrad: 59 %) und ab 1. März 2002 eine ganze Rente (Invaliditätsgrad: 100 %).
Das kantonale Gericht hat die Leistungszusprechung der Verwaltung sowohl in Bezug auf den Umfang des Rentenanspruchs als auch hinsichtlich des Zeitpunktes des Rentenbeginns und der Rentenerhöhung bestätigt.
2.2 In der Verwaltungsgerichtsbeschwerde wird eine unvollständige Feststellung des rechtserheblichen Sachverhaltes und in diesem Zusammenhang eine Verletzung des Untersuchungsgrundsatzes durch die Vorinstanz gerügt. Die Akten erlaubten nicht die zuverlässige Beurteilung von Beginn und Verlauf der gesundheitlich bedingten Arbeitsunfähigkeit. Das MEDAS-Gutachten vom 9. April 2002 sei insofern lückenhaft. Darauf könne nicht abgestellt werden.
2.2 In der Verwaltungsgerichtsbeschwerde wird eine unvollständige Feststellung des rechtserheblichen Sachverhaltes und in diesem Zusammenhang eine Verletzung des Untersuchungsgrundsatzes durch die Vorinstanz gerügt. Die Akten erlaubten nicht die zuverlässige Beurteilung von Beginn und Verlauf der gesundheitlich bedingten Arbeitsunfähigkeit. Das MEDAS-Gutachten vom 9. April 2002 sei insofern lückenhaft. Darauf könne nicht abgestellt werden.
3. 3.1 Nach dem hier anwendbaren <ref-law> in der bis 31. Dezember 2002 gültig gewesenen Fassung entsteht der Rentenanspruch nach Artikel 28 frühestens in dem Zeitpunkt, in dem der Versicherte während eines Jahres ohne wesentlichen Unterbruch durchschnittlich mindestens zu 40 Prozent arbeitsunfähig gewesen war. Ein wesentlicher Unterbruch der Arbeitsfähigkeit liegt vor, wenn der Versicherte an mindestens 30 aufeinanderfolgenden Tagen voll arbeitsfähig war (<ref-law>).
Unter Arbeitsunfähigkeit im Sinne von alt <ref-law> ist die durch den Gesundheitsschaden bedingte Einbusse an funktionellem Leistungsvermögen im bisherigen Beruf oder Aufgabenbereich zu verstehen (<ref-ruling> Erw. 2a, 97 V 231 Erw. 2; Urteil S. vom 23. Oktober 2003 [I 392/02] Erw. 4.2.1). Für die Eröffnung der einjährigen Wartezeit muss die Arbeitsunfähigkeit ein gewisses Mass erreichen, sie muss erheblich sein. Nach der Gerichtspraxis ist eine Verminderung des funktionellen Leistungsvermögens im bisherigen Beruf von mindestens 20 % vorausgesetzt (AHI 1998 S. 124 Erw. 3c; vgl. auch <ref-ruling>19 unten). Im Weitern muss die effektive Aufgabe der angestammten Tätigkeit oder eine wesentliche Reduktion des Arbeitspensums nicht notwendigerweise mit dem Eintritt einer im Sinne von alt <ref-law> erheblichen Arbeitsunfähigkeit zusammenfallen. Es kann durchaus sein, dass allenfalls nach entsprechenden betrieblichen Anpassungen die fragliche Tätigkeit trotz medizinischer Kontraindikation noch für eine bestimmte Zeit weiter ausgeübt wurde (SVR 1995 IV Nr. 52 S. 146 Erw. 4b und c; Urteil S. vom 23. Oktober 2003 [I 392/02] Erw. 4.2.3).
3.2 Vorliegend bestand unbestrittenermassen ab 6. Juli 2000 eine auch im Zeitpunkt der Begutachtung durch die MEDAS im Februar 2002 noch andauernde Arbeitsunfähigkeit von 100 % in der angestammten Tätigkeit als Betriebsmitarbeiter (Lagerist/Rüster). Spätestens Anfang Juli 2000 war somit die Wartezeit im Sinne von alt <ref-law> eröffnet worden und demzufolge spätestens im Juli 2001 allenfalls der Anspruch auf eine Invalidenrente entstanden.
Nach Auffassung von kantonalem Gericht und IV-Stelle ist der 6. Juli 2000 der frühest mögliche Zeitpunkt, in welchem die Wartezeit eröffnet werden konnte. Zur Begründung verweist die Vorinstanz im Wesentlichen auf das MEDAS-Gutachten vom 9. April 2002. Die Expertise ist indessen in diesem Punkt nicht schlüssig, wie in der Verwaltungsgerichtsbeschwerde zu Recht geltend gemacht wird.
3.3 Die MEDAS-Ärzte nehmen die Beurteilung der Arbeitsfähigkeit lediglich für die Zeit nach der Anmeldung zum Rentenbezug Ende Juli 2000 vor. Das ergibt sich aus der einleitenden Wendung «Betreff der bisherigen Einschätzung (...) besonders seit der Anmeldung für eine Rente vom 25.7.00». In der Folge werden denn auch einzig die nach diesem Zeitpunkt erstellten medizinischen Unterlagen erwähnt. Anschliessend umschreiben die Experten unter Berücksichtigung der aktuellen Untersuchungen und in Übereinstimmung mit den Vorakten Art und Umfang der verbliebenen Arbeitsfähigkeit und legen den Beginn der Arbeitsunfähigkeit in der angestammten Tätigkeit auf den 6. Juli 2000 fest.
Es bestehen indessen starke Indizien, dass bereits im November 1998 eine Wartezeit nach alt <ref-law> eröffnet worden war.
3.3.1 Gemäss der im MEDAS-Gutachten vom 9. April 2002 unter Hinweis auf die medizinischen Vorakten zusammengefassten Krankengeschichte kam es im Oktober 1998 zu einer erneuten Schmerzexazerbation im Bereich des Kreuzbeines und im linken Oberarm. Trotz intensiver physikalischer Therapie während drei Monaten konnte keine wesentliche Beschwerdebesserung erzielt werden. Der Rheumatologe Dr. med. S._ attestierte ab 9. November 1998 voraussichtlich für sechs Wochen eine Arbeitsunfähigkeit von 100 % (Ärztliches Zeugnis vom 14. Dezember 1998). Laut einem nicht bei den Akten liegenden Bericht vom 15. Februar 1999 der Rheumapoliklinik des Spitals Q._ bestand eine Arbeitsunfähigkeit von 100 % bis Mitte März 1999. Danach sollte die Arbeit zu 50 % wieder aufgenommen werden für leichte bis mittelschwere Tätigkeiten. Im Fragebogen für den Arbeitgeber vom 5. September 2000 werden für die Zeit vom 1. November 1998 bis 31. März 1999 krankheitsbedingte Absenzen vermerkt. Vom 1. November 1998 bis 14. März 1999 wird eine Arbeitsunfähigkeit von 100 % und vom 15. bis 31. März 1999 von 50 % angegeben.
Im ersten Arztzeugnis vom 8. April 1999 der Rheumapoliklinik des Spitals Q._ zuhanden der Arbeitslosenversicherung sodann wird für die Zeit ab 1. April 1999 volle Arbeitsfähigkeit in der angestammten Tätigkeit als Lagerist attestiert, sofern keine repetitiven Arbeitsgänge zu erledigen sind und ohne Heben von Lasten über 15 Kilogramm. In den Zeugnissen vom 27. Juli und 20. Oktober 1999 wird aus rheumatologischer Sicht keine Einschränkung der Arbeitsfähigkeit vermerkt. Vom 1. bis 30. November 1999 bestand wiederum 100%ige Arbeitsunfähigkeit. Für die Zeit danach wurde leichte Arbeit mit maximaler Traglast von ca. 20-25 Kilogramm bei Wechselbelastung als zumutbar erachtet (Arztzeugnis vom 8. Dezember 1999).
3.3.2 Bei dieser Aktenlage kann nicht mit hinreichender Sicherheit ausgeschlossen werden, dass ab Anfang November 1998 eine erhebliche Arbeitsunfähigkeit ununterbrochen während mindestens eines Jahres im Sinne von alt <ref-law> bestand. Bei einer Verminderung des funktionellen Leistungsvermögens in der angestammten Tätigkeit als Betriebsmitarbeiter (Lagerist/Rüster) von 100 % vom 1. November 1998 bis 15. März 1999 und von 50 % vom 15. bis 31. März 1999 genügte hiezu bereits eine Einschränkung der Arbeitsfähigkeit von 20 % für die Monate April bis Oktober 1999. Es ergäbe sich ein durchschnittlicher Grad der Arbeitsunfähigkeit von über 50 %.
Für den Zeitraum April bis Oktober 1999 im Besonderen ist zu beachten, dass gemäss Arztzeugnis der Rheumapoliklinik des Spitals Q._ vom 8. April 1999 Tätigkeiten mit repetitiven Arbeitsgängen oder Heben von Lasten über 15 Kilogramm unzumutbar waren. Das deutet darauf hin, dass das funktionelle Leistungsvermögen im angestammten Bereich als Lagerist/Rüster doch erheblich eingeschränkt war. Ob der Gesundheitszustand sich später wieder derart besserte, dass volle Arbeitsfähigkeit bestand, erscheint aufgrund von Art und Schwere des rheumatologischen Leidens fraglich. Im Zusammenhang ist zu berücksichtigen, dass der Beschwerdeführer seit Januar 1998 wegen eines epileptischen Leidens medikamentös behandelt werden muss. Er sollte daher nicht an potentiell gefährlichen Maschinen tätig sein, Arbeiten mit Absturzgefahr vermeiden und keine Fahrzeuge führen (Bericht Frau Dr. med. G._ vom 15. November 2000). Zu beachten ist weiter, dass gemäss MEDAS-Gutachten vom 9. April 2002 ein psychiatrisches Leiden im Sinne einer depressiven Störung leichten bis maximal mittelschweren Grades (ICD-10 F32.1) besteht. Durch diese gesundheitliche Beeinträchtigung wird die Arbeitsfähigkeit in den somatischen Beschwerden angepassten Tätigkeiten um rund 30-40 % eingeschränkt. Für die Entstehung und/oder Verstärkung der Störung wird vor allem die Diagnose der Absenz-Epilepsie verantwortlich gemacht. Dieses Leiden beeinträchtige den Exploranden nicht nur in seiner Alltagsbewältigung, sondern auch in seinem Selbstwertgefühl und in seiner Autonomie. Frau Dr. med. G._ legt den Beginn des epileptischen Leidens auf ca. 1996 fest (Arztbericht vom 15. November 2000). Die gesicherte Diagnose einer partiellen Epilepsie mit Pseudo-Absenzen bzw. komplex-partiellen Anfällen konnte die Neurologin aufgrund von Schlafentzugs-EEG und MRI-Befund stellen (Bericht vom 2. Februar 1998). Es ist somit nicht auszuschliessen, dass schon ab November 1999 die Arbeitsfähigkeit (auch) aus psychiatrischer Sicht eingeschränkt war.
3.4 Nach dem Vorstehenden ist die Sache nicht spruchreif. Vorab ist unklar, ob nicht schon vor dem 1. Juli 2001 Anspruch auf eine Invalidenrente bestand. Das wird die IV-Stelle nach weiteren Abklärungen zu prüfen haben. Zu diesem Zwecke wird sie, soweit erhältlich, weitere Unterlagen insbesondere über die Zeit von April bis Oktober 1999 sowie allenfalls bei der MEDAS ein ergänzendes Gutachten einholen. Dass von solchen beweismässigen Massnahmen keine neuen verwertbaren Erkennnisse gewonnen werden können, kann entgegen dem kantonalen Gericht nicht gesagt werden. Danach wird die Verwaltung neu verfügen.
3.4 Nach dem Vorstehenden ist die Sache nicht spruchreif. Vorab ist unklar, ob nicht schon vor dem 1. Juli 2001 Anspruch auf eine Invalidenrente bestand. Das wird die IV-Stelle nach weiteren Abklärungen zu prüfen haben. Zu diesem Zwecke wird sie, soweit erhältlich, weitere Unterlagen insbesondere über die Zeit von April bis Oktober 1999 sowie allenfalls bei der MEDAS ein ergänzendes Gutachten einholen. Dass von solchen beweismässigen Massnahmen keine neuen verwertbaren Erkennnisse gewonnen werden können, kann entgegen dem kantonalen Gericht nicht gesagt werden. Danach wird die Verwaltung neu verfügen.
4. Dem Verfahrensausgang entsprechend hat der Beschwerdeführer Anspruch auf eine Parteientschädigung (Art. 159 Abs. 1 und 2 OG in Verbindung mit Art. 135 OG). Das Gesuch um unentgeltliche Verbeiständung ist demnach gegenstandslos.

Demnach erkennt das Eidg. Versicherungsgericht:
Demnach erkennt das Eidg. Versicherungsgericht:
1. In Gutheissung der Verwaltungsgerichtsbeschwerde werden der Entscheid des Sozialversicherungsgerichts des Kantons Zürich vom 20. November 2003 und die Verfügungen vom 29. Oktober 2002 aufgehoben und es wird die Sache an die IV-Stelle des Kantons Zürich zurückgewiesen, damit sie nach ergänzenden Abklärungen im Sinne der Erwägungen über den Anspruch des Beschwerdeführers auf eine Rente der Invalidenversicherung neu verfüge.
1. In Gutheissung der Verwaltungsgerichtsbeschwerde werden der Entscheid des Sozialversicherungsgerichts des Kantons Zürich vom 20. November 2003 und die Verfügungen vom 29. Oktober 2002 aufgehoben und es wird die Sache an die IV-Stelle des Kantons Zürich zurückgewiesen, damit sie nach ergänzenden Abklärungen im Sinne der Erwägungen über den Anspruch des Beschwerdeführers auf eine Rente der Invalidenversicherung neu verfüge.
2. Es werden keine Gerichtskosten erhoben.
2. Es werden keine Gerichtskosten erhoben.
3. Die IV-Stelle des Kantons Zürich hat dem Beschwerdeführer für das Verfahren vor dem Eidgenössischen Versicherungsgericht eine Parteientschädigung von Fr. 2500.- (einschliesslich Mehrwertsteuer) zu bezahlen.
3. Die IV-Stelle des Kantons Zürich hat dem Beschwerdeführer für das Verfahren vor dem Eidgenössischen Versicherungsgericht eine Parteientschädigung von Fr. 2500.- (einschliesslich Mehrwertsteuer) zu bezahlen.
4. Die Akten werden an das Sozialversicherungsgericht des Kantons Zürich zurückgewiesen, damit es über eine Parteientschädigung für das kantonale Verfahren entsprechend dem Ausgang des letztinstanzlichen Prozesses befinde.
4. Die Akten werden an das Sozialversicherungsgericht des Kantons Zürich zurückgewiesen, damit es über eine Parteientschädigung für das kantonale Verfahren entsprechend dem Ausgang des letztinstanzlichen Prozesses befinde.
5. Dieses Urteil wird den Parteien, dem Sozialversicherungsgericht des Kantons Zürich, der Ausgleichskasse des Kantons Zürich und dem Bundesamt für Sozialversicherung zugestellt.
Luzern, 26. März 2004
Im Namen des Eidgenössischen Versicherungsgerichts
Die Präsidentin der III. Kammer: Der Gerichtsschreiber: