Лучшее объяснение происхождения этнонимов сербы и хорваты, на наш взгляд, было предложено Григорием Андреевичем Ильинским (1876-1937).
1) Сербы.
Ильинский Г.А. К этимологии имени серб // Јужнословенски филолог. Београд, 1933. № 12. С. 204-208 По мысли Г.А. Ильинского, этноним сербы связан с украинским присербитися - "присоединиться, пристать, привязаться" (от глагола сербити - "связывать, цеплять, соединять"), общеславянским пасерб - «пасынок» (русское пасерб; пасербка, пасербица - "падчерица"; украинское пасерб; болгарское пасерб; польское раsiеrb). Серб - изначально "человек, который является членом родового союза" или задруги, в отличие от пасерба (образование, параллельное pa-synъkъ - "пасынок", pa-dъkterica - "падчерица" и т.п.) - "незаконного или вообще неполноправного члена того же союза (задруги)".
С тем же кругом понятий связывал этноним сербы и Х. Шустер-Шевц, который обратил внимание на русское диалектное сербáть - "хлебать" и сопоставил его с древним обычаем молочного родства. Согласно Х. Поповской-Таборской славянский этноним сербы происходит из того же слова, что и кашубские sĕrba и sĕrbizna, которое имело первичное значение "сосать, лакать". Изначально понятие сербы означало тех, кто сосал молоко одной и той же матери и было термином семейного родства, который затем вторично был расширен до "племенного" названия в значении "члены одного рода (общности)". Г.Ф. Ковалёв отметил, что вероятными следами этого древнего значения слова сербы являются белорусское сябры/сябар, и заимствованные из восточнославянских языков латышское sebrs эстонское sōber - "друг" [1].
2) Хорваты.
Ильинский Г.А. К этимологии имени chъrvatъ «хорватъ» // Јужнословенски филолог. Београд, 1922-1923. № 3. С. 26-30 Г.А. Ильинский показал, что первоначально славянское сhъrvatъ (от индоевропейского *kher- - "резать") означало "защитник", причём это значение могло развиться из более древнего "борец, боец" или даже "храбрец".
В том же направлении шла мысль Л. Гейтлера и А. Брюкнера, который сопоставил chъrv- со слoвацким charviti se - "сопротивляться, защищаться" (от *skъrv-), родственным латинскому servare (откуда armare - "вооружаться"), литовскому šarvas - "оружие, броня, доспехи" (откуда sarvotas - "вооруженный, одетый в латы"), готскому sarwa - "оружие, доспехи" и другим соответствующим понятиям в индоевропейских языках. Суффиксальное оформление -at аналогично рог-ат’ый, бород-ат’ый, gęb-at’y, rosoch-at’y и т.д. Соответственно, hrvat ("хорват") - "защитник, вооружённый" [2].
[1] Schuster-Sewc H. Zur Geschichte und Etymologie des ethnischen Namens Sorb/Serb/Sarb/Srb // Letopis. Zeitschriftfuer sorbische Sprache, Geschichte und Kultur. 1983. Gesamtband 30. Heft 2. S. 138-147; Popowska-Taborska H. Serb i sobaka - dwa slowa sluzace jako argumenty w dociekaniach nad etnogeneza Slowian // Studia z filologii polskiej i słowiańskiej. T. 23. Warszawa, 1985. S. 227; Ковалёв Г.Ф. Этнонимия славянских языков. Номинация и словообразование. Воронеж: Издательство Воронежского университета, 1991. C. 80.
[2] Geitler L. Etimologija imena Hrvat // Rad Hrvatske akademije znanosti i umjetnosti. 1876. T. 34. S. 111-118; Brückner A. Wzory etymologii i krytyki źródłowej // Slavia. Praha, 1924-1925. T. 3. S. 211.