Az MPlayert nem kell bemutatni. Mindannyiunk kedvenc programja. Az MPlayer készítői közül is ismerhetjük majd' az összes magyar fejlesztőt. A core csapatból eddig három taggal készítettem interjút. A projekt létrehozójával - Árpival - kétszer is (Interjú Árpival az MPlayer fejlesztőjével, Interjú Árpival, az MPlayer fejlesztőjvel (v2), Interjú Pontscho-val az MPlayer GUI hackerével, Interjú Gabucino-val, az MPlayer dokumentáció karbantartójával).
A negyedik tag - akit eddig még nem kérdeztem - Alex. Róla azt kell tudni, hogy az MPlayer 0.90-rc4 kiadásának környékén Ő vette át Árpitól az MPlayer G1 karbantartását. Ezen kívül a továbbiakban az is kiderül, hogy köze van a G2 (új generációs MPlayer, amely from scratch újra lesz írva) fejlesztéséhez is. Vele már több, mint egy éve készülök interjút készíteni, de valamiért eddig mindig elmaradt. Talán azért, mert naponta többször is beszélünk, és így mindig személyesen érdeklődtem nála az MPlayer híreiről.
Tegnap a #debian.hu csatornán többen is kérdeztünk az MPlayer fejlesztése körüli munkákról. Úgy gondoltam, hogy a válaszok másokat is érdekelhetnek, így gyorsan össze is ütöttünk egy interjút.
trey: Beszélnél egy kicsit magadról, a hátteredről (életkor, iskola, stb.)?
alex: 1984-es "évjáratú" vagyok, már túl vagyok a bölcsin, ovin, általános iskolán és gimnáziumon, most épp az egyetemmel küzdök.
trey: Hogy kerültél kapcsolatba az MPlayerrel, és hogyan kerültél bele a core csapatba?
alex: Egy srác az egyik security csoportból, amiben jelent voltam, írt valamit az MPlayerbe és megemlítette (már nem emlékszem mikor volt, talán CVS commitből lehetne megállapítani. talán 2001 nyara?). Aztán letöltöttem és kiderült, hogy az akkori Yamaha (YMFPCI) kártyámmal nem akart jól menni (ALSA-t használtam, mert az OSS driver nem volt megfelelő, és az ALSA 0.5 OSS emulációja még gyerekbetegségekkel küzdött). Ekkor jött el az a pont, hogy eldöntöttem írok ALSA 0.5 output drivert. Elkészült,
majd "a nagy nyomásnak engedve" írtam a 0.9-es szériához is.
Aztán pár hónap múlva vettem egy SB Live-ot, és elfelejtettem az egész ALSA-t egy jó időre, azóta se volt vele dolgom :) Az ao_alsa5.c cvs log tanulsága szerint 2001/06/04-en Pontscho követte el az initial commitot. Innen már csak egy lépés volt a core tagság.
trey: Az MPlayer core fejlesztőinek komoly scene múltja van. Te is foglalkoztál ilyesmivel? Mit csináltál az MPlayer előtt?
alex: "Komolyabb" scene múlttal csak Árpi és Pontscho rendelkezik, ugyanis ők voltak tagjai nagyobb csapatoknak és saját demokat írtak. A többiek inkább megfigyelőként voltak néhány partyn, vagy egyáltalán nem. Én
csak mostanában voltam először C64/Amiga scene partyn, de ha a scene-t nem csak a C64/Amiga/PC demoírás/demovetítés összejövetelekre értjük, akkor nekem is volt scene múltom. Az MPlayer előtt több évig security-t érintő témákkal foglalkoztam több csapatban is. A security egy kicsit más téma mint a C64/Amiga, mert nem lehet mindent megjelentetni, így nem is ismert az ember ezekből, ha csak nem rossz dolgokat csinal. Többnyire rendszerközeli Linux és BSD dolgokkal foglalkoztam.trey: Mióta foglalkozol nyílt forrású rendszerekkel? Milyen rendszereket használsz?
alex: Miután úgy 1995 környékén kapcsolatba kerültem az Internettel, hamarosan rátaláltam az IRC-re is. Az IRC-n pedig az Eggdrop nevű szoftver tombolt, így
aztán a wannabe embereknek is természetesen kellett egy. Mivel ez Linuxon futott, eljött az idő, hogy megismerkedjek vele. Körülbelül fél év után 1996 elején bőszen felinstalláltam az első Linux rendszeremet, mely akkor még Red Hat akármilyen verziójú volt. (A Red Hat rendszer
mellett akkor még jelen volt a Windows is a gépen). Pár hónappal később kipróbáltam a Debiant, azóta tőbbnyire azt használom, bár a mostani desktopomon Gentoo van, és számos más rendszert használok (FreeBSD, NetBSD, Solaris, Tru64), de azért a desktop maradt a Linux. A Windowst teljes mértékben hanyagolom, csak az egyetemen kényszerítenek rá néha.
trey: Mi volt korábban a feladatod a core csapaton belül?
alex: Konkrét feladat nem nagyon volt. Ráérős diák voltam, így igazából mindenbe megpróbáltam magam beleásni, azaz a kód több részét megérteni/átlátni. Ez odáig fajult, hogy mára többnyire mindent ismerek benne.
trey: Úgy tudom, hogy Árpi az MPlayer 0.90-rc4 környékén nem csak formálisan, hanem teljesen átadta neked az MPlayer G1 karbantartását. Mi most a feladatod a G1-gyel kapcsolatban?
alex: A végcél az 1.0, majd 1.5 kiadása, aztán az ág befejezése. Ebből persze semmi se fog úgy sikerülni, mint ahogy az ember most tervezi. Az 1.5 egyébként egy G1/G2 hibrid lenne, néhány stabil G2 rész visszaültetésével, de
sokkal egyszerűbb és jobb lenne, ha inkább irnánk from scratch UI-t a G2-höz, de ez túl nagy falat és az embernek elmegy tőle a kedve.
trey: Hogy esett a választás rád? Mármint hogy te legyél a karbantartó? Úgy választottak, vagy magad jelentkeztél?
alex: Mivel az idők folyamán elég mélyen beleástam magam a forrásba, egy ideje - remélem nem túlzok - jobban ismertem a kód struktúrát, mint maga Árpi (aki ugye már hanyagolta). Azt hiszem talán emiatt esett rám.
trey: Az örök kérdés: mikor lesz MPlayer 1.0? Lesz-e egyáltalán valaha?
alex: Lesz, valamikor biztos. A helyzet az, hogy túl sok célt tűztünk ki magunk elé, és a szabadidőnk pedig jelentősen lecsökkent. A kód már nagyon nagyra nőtt, és ez a terület napról napra fejlődik. Nehéz egy határt húzni: "na most kiadom ezt, és akkor kész". Egyik nap kiadom, másnap meg bejön 5 új formátum támogatása. Az MPlayer release-ek amúgy sem a legjobbak abból a tekintetből, hogy a CVS mindig többet tud és általában stabilabb is. A pre releaseknél a fő cél, hogy tesztelve legyen minden funkció, így ezek nem nevezhetőek nagyon stabilnak. Habár arra is törekszünk, hogy azok legyenek. A végső releasek meg idő és affinitás hiányában sikerülnek gyengébbre :)
Affinitás azért csökken, mert mire egy release eljut a végéig, addigra a CVS már tízszer több funkciót tud, és már nincs kedvünk a régi "stabillal" foglalkozni. Így volt ez a 0.90 kiadásával is, melynél a végső verziószám át sem lett írva. Gondolom erre mindenki emlekszik.
trey: Az mplayer-dev-eng listán nemrégiben felmerült a kérdés, hogy nevet kellene változtatnia a projektnek. Akkor te még hajlottál is volna a dologra... Most hogy áll az ügy?
alex: Ez nem névváltoztatás volt, hanem "szlogen változtatás". Egyébként az nem titok, hogy én már egyszer összerúgtam a port a többiekkel még 2001-ben, mert nem riadtam vissza az indent programtól, és a névváltoztatástól.
Ez akkor annyit jelentett, hogy csináltam egy saját verziót - amit aztán sose fejeztem be idő hiányában - majd az év őszén visszamentem és becommitoltam azokat az új funkciókat, melyeket a saját verziómban írtam. Azóta nem akcióztam :)
A névváltoztatás egyébként azért lett volna érdekes (amikor ez a név született, akkor még nem volt annyira elterjedt a projekt mint ma), mert az MPlayer név elég sok mindennel ütközik: a hasonló nevű multiplayer játék hálózat és a Microsoft Windows Media Playere (mplayer2.exe) nevével is.
trey: Hogy oszlik meg most az MPlayer fejlesztők aránya a hazai és a külföldi fejlesztők között? Gondolok arra, hogy kezdetben több kiváló külföldi programozó is segítette az MPlayer kódolását. Most többen vagy kevesebben vannak a kezdetekhez képest? Kik maradtak meg azok közül a fejlesztők közül a projekt mellett?
alex: Itt sok a félreértés, ezt jó lesz tisztazni. A ``core team" hagyományosan a magyar fejlesztőket jelenti. Kezdetekben voltuk páran magyarok és mindenki más külföldi volt. Aztán néhány külföldit befogadtunk a ``core teambe", és megjelentek a magyar contributorok is. Ma úgy állunk, hogy a core team vegyes, a contributorok tábora nagyon nagy, és mindenféle nemzetiségű ember küld patcheket, Chilétől kezdve Csehországon át Kínáig.
trey: Többen úgy gondolják, hogy lelassult az MPlayer fejlesztése. Néhányan arról beszélnek, hogy a Xine - mint egyik rivális - könnyen elhúzhat az MPlayer mellett. Ha az több funkcióval fog bírni, akkor az emberek elvándorolhatnak az MPlayer mellől. Erről mi a véleményed?
alex: A fejlesztés nem lassult le, maximum a releasek kiadási ideje. De ez sem igaz, gondoljunk csak a 0.90-re, melyből a végleges verzió több, mint 490 nap után jelent meg. Aki nem hiszi, az olvasson mplayer-cvslog, mplayer-dev-eng, mplayer-docs valamit mplayer-g2-dev listákat.
A lényegesebb dolgok, a codecek, az FFmpeg project libavcodec nevű libjeben vannak, mely sok ideig az MPlayer CVS-ben lett felkarolva és fejlesztve, majd visszaolvasztottuk az eredetibe és azóta ott fejlesztjük mi is. A cél ezzel az volt, hogy más projektek is élvezhessék a mi fejlesztéseinket is. Néhány hónapja pedig az FFmpeg
CVS-e átköltözött az MPlayerHQ gépre. Ezzel ``hazatalált'' a libavcodec is :)
Egyébként győzzön a jobbik, én nem harcolok a felhasználóért, mert ez nem egy üzleti, pénzes program, nem kapok érte semmit.
trey: Hogy áll az MPlayer G2 fejlesztése? Lesz a közeljövőben valami preview kiadás belőle?
alex: Változott a stratégia. Miután Árpinak elfogyott az ideje és elege lett a multimédiából egy időre, én kezdtem el fejleszteni a G2-pre41-et. Írtam bele NUT (saját container formátumunk) támogatást és néhány más apróságot, majd kiadtam a pre42-es változatot. Néhány hete pedig importáltam CVS-be, ettől remélve a fejlesztés felgyorsulását.
Bárki letöltheti: cvs :pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer
checkout g2
trey: Ismert a core team Debian GNU/Linux ellenessége. Neked erről mi a véleményed?
alex: Ez sajnos fals, mert nem a core team Debian ellenes, hanem néhány (vagy több) ember. Árpi, Gabucino valamint Pontscho nem szeretik a Debiant
más-más okból kifolyólag. Ez mindenkinek a saját ugye. Diego Biurrun az ominózus eset után csinált egy felmérést amiből kiderült, hogy
csak az említett 3 személy érez komolyabb ellenszenvet, a többiek pedig vagy használják vagy nem törődnek vele. Részemről elhatárolódok a dologtól.
trey: Hogy látod az MPlayer fejlesztésének jövőjét? Mik a kilátások mondjuk a 2004-es évre?
alex: Az egyértelmű cél az alrendszerek egymástól való függetlenítése, valamint a kód minőségének javítása. Tervezünk egyfajta SDL "competitort" létrehozni a független G2 alrendszerekből, de ez elég távoli a cél.
trey: Árpi a vele készült második interjúban azt mondta, hogy az MPlayer G1 kódja kezdett gányolássá válni. Azóta mi a helyzet? Valóban átláthatatlan a kódbázis, vagy vannak már jelek a letisztulásra?
alex: A kód nem "kezdett válni", hanem mindig is az volt. Személyes véleményem az, hogy a rendszerek függetlenítése mellet azért kódolási szabályokat sem ártana bevezetni. Úgy, ahogy azt sok nagy projektnél láthajtuk, például a Linux kernelben is. Ezt több fejlesztő támogatja, majd talán a G2-nél sikerül valamit ebben az ügyben lépni.
trey: Tegnap kiszivárgott a Windows NT és 2000 operációs rendszerek egyes részeinek forráskódja. Nem tartasz attól, hogy esetleg megjelenhetnek a projektben illegálisan bemásolt kódrészek? A rossz nyelvek szerint pl. a libavifile egy az egyben ilyen kódokból jött. Ebben mennyi igazság lehet?
alex: Személy szerint még nem láttam a forrást, és nem is tervezem, hogy belenézzek, mert számomra a Microsoft API-król bőven elég az, amit az http://msdn.microsoft.com/libarary/ leír.
A libavifile lehetséges, hogy mutat hasonlóságot a windowsos megfelelőhöz, de mi nem használjuk, és sosem használtuk ezt a projektet. Csak a windows emulátor részt, amelyet ők is a Wine-tól vettek kölcsön. Hála istennek erre a Windows emulátorra is csak a WMV9 és QuickTime audio lejátszáshoz van szükség, minden mást ismer az FFmpeg.
Sajnos az MPlayer (és sok más open source multimédiával foglalkozó projekt) már évek óta illegálisnak számít az Egyesült Államokban, ezen egy Microsoft kódrészlet sem tudna mit rontani. Egyébként személy szerint nem szeretném, ha Microsoft kódrészlet kerülne akármibe is, mert jobb, ha a mechanizmust látja át az ember, és saját megoldást ír rá.
Így van ez az FFmpeg-nél.
trey: Mivel foglalkozol a szabadidődben, ha éppen nem az MPlayer-t fejleszted, vagy éppen nem a #debian.hu-n töltöd az idődet?
alex: Rengeteg más fejlesztésben és csoportosulásban veszek (aktívan) részt, emellett néha tanulni is szoktam. Kikapcsolódásként nagyon szeretek utazgatni (mind belföldön és külföldön), valamint kerékpározni, túrázni
a hegyekben és hasonlók. Sajnos annyira sok lehetőségem ezekre nincsen, de majd változik a helyzet: várom már a tavaszt.
trey: Van még valami amit nem kérdeztem meg, de el szeretnél mondani?
alex: Igen van. Nem szeretném ha beskatulyáznának :)