Canonical Census

Az elmúlt években több gyártó is megjelent olyan számítógépekkel, amelyeken Ubuntu volt előre telepítve. Ezek ráadásul – szemben a korábbi évek gyakorlatával – már nem csak egy grafikus felület nélküli, vagy részben működésképtelen GNU/Linux rendszert tartalmaznak, hanem valóban kitesztelt, minden hardvert támogató, jól működő telepítések. A kisebb cégek, mint például a ZaReason vagy a Sytem76 mellett pedig 2007-ben az egyik legnagyobb számítógépgyártó, a Dell is megkezdte az Ubuntu-alapú gépek forgalmazását.


Amióta lehet számítógépeket GNU/Linuxszal előre telepítve vásárolni, szinte állandóan felmerül a kérdés, hogy vajon a felhasználók hány százalékban tartják meg az előre telepített rendszert, és milyen arányban kerül a helyére más (akár legális vagy illegális) forrásból származó operációs rendszer. Amíg ezek az előre telepített rendszerek gyakorlatilag teljesen használhatatlanok voltak (például azért, mert a felhasználó még a bejelentkezéshez szükséges jelszót sem kapta meg), addig a helyzet egyértelmű volt, de amióta megjelentek az igényesen összeállított és bekonfigurált rendszerek, ez a kérdés egyre többeket foglalkoztat. A közelmúltban az egyik gyártó ezért megkereste a Canonicalt, és arra kérte, hogy dolgozzon ki egy olyan megoldást, amivel hatékonyan lehet mérni, hogy a felhasználók hány százaléka cseréli le az előre telepített Ubuntut.

Ezen gyártó mérnöke eredetileg olyan ötlettel állt elő, ami minden eladott számítógéphez egy egyedi azonosítót rendelt, és ezt küldte volna el a rendszer frissítésekor egy központi szervernek. Ez a módszer azonban nem igazán jó megoldás, hiszen így minden felhasználó egyedileg azonosítható, ami jelen esetben felesleges, ráadásul adatvédelmi aggályokat is felvet. Ezért felkérték a Canonicalt, hogy segítsenek egy olyan rendszer kidolgozásában, amivel megszámolhatják a telepítéseket, de nem gyűjt semmilyen egyedi, személyes adatot. Ez vezetett a Canonical Census megszületéséhez.

A Canonical Census működését Rick Spencer mutatta be blogbejegyzésében. A módszer rendkívül ötletes és egyszerű megoldáson alapul: a számítógép a központi szervernek nem egy egyedi azonosítót küld el, hanem egyszerűen csak az adott gép típusát valamint egy minden alkalommal eggyel növekvő sorszámot. Vagyis ha mondjuk a gép típusa foo, akkor első alkalommal a foo.0 kódot küldi el a census.canonical.com címre. Második alkalommal a foo.1 kódot, majd harmadik alkalommal a foo.2 kódot, és így tovább. Mint látható, az üzenet semmi olyat nem tartalmaz, ami egyedileg azonosíthatóvá tenné a felhasználót, mégis megállapítható, hogy hogyan alakul idővel a felhasználók száma: A foo.0 üzenetek száma megadja, hogy az adott típusból hányat használtak legalább egy alkalommal Ubuntuval, a foo.1 azt, hogy hány gépen maradt rajta második bekapcsoláskor is még az előre telepített Ubuntu, és így tovább. Ezekből az adatokból felrajzolható egy görbe, ami megmutatja, hogy hogyan alakult idővel az előre telepített rendszert használók száma. A szkript naponta egyszer fut le Cron feladatként, vagyis nem kapcsolódik össze a frissítések telepítésével.

A Canonical Census természetesen szabad szoftver, így a forráskódja is bárki számára hozzáférhető és ellenőrizhető. Alapvetően két részből áll: a felhasználó számítógépén futó send-census elnevezésű bash scriptből, valamint a Canonical szerverén adatokat gyűjtő, census nevű Python programból. A szkript működését Stephan Peijnik mutatta be részletesen egy blogbejegyzésben. Ahogy azt a fentebb idézett Rick Spencer is írta, a felhasználónál futó szkript egyszerűen egy sorszámot, a /var/lib/ubuntu_dist_channel fájl tartalmát (ami alaptelepítésben Ubuntu 10.04 LTS alatt nem létezik), a számítógép típusát a /sys/class/dmi/id/product_name alapján (ez egy 701-es Eee PC esetében a „701” string), és az lsb-release –release értéke alapján az Ubuntu kiadásának verziószámát küldi el a census.canonical.com címre HTTP Get kérés formájában, a wget segítségével. A kiszolgáló oldalon futó Python szkript pedig ezeket a HTTP kéréseker gyűjti össze.

A Canonical Census kifejezetten a gyártók kérésére készült el, vagyis nem képezi részét az alaptelepítésnek. A jövőben vélhetően egyes gyártók döntik majd el, hogy előre telepítik-e a szolgáltatást nyújtó canonical-census csomagot a számítógépeikre. Ebből rögtön látszik is a megoldás egyetlen komoly hátránya: ha a felhasználó újratelepíti a rendszert, vagy frissítés helyett egyszerűen új telepítéssel vált újabb Ubuntu kiadásra, akkor az a számítógép a gyártó számára elveszettnek látszik, holott továbbra is Ubuntu fut rajta. Ez a probléma pedig már csak azért sem elhanyagolható, mert a gyártók gyakran nem a legfrissebb Ubuntu kiadással adják a gépeket, így nem kevés olyan felhasználó lehet, aki vásárlás után nem sokkal egyszerűen lecseréli a rendszert az aktuális Ubuntu kiadásra.

A Canonical Census adatai nem csak a számítógépgyártók számára lehetnek érdekesek, hanem a Canonical és az Ubuntu közösség számára is, hiszen ez egy hatékony és adatvédelmi szempontból is jó megoldás lenne arra, hogy felmérjék az Ubuntu felhasználók számát. Hasonló statisztikai adatok gyűjtése ráadásul nem is idegen a GNU/Linux disztribúciók világától, hiszen ott van például a Debian Popularity Contest, ami az egyes csomagok népszerűségét hivatott mérni, vagy a Fedora Smolt, amelynek segítségével telepítéskor küldhetjük el a számítógépünkben található hardverek adatait a disztribúció fejlesztőinek. A Canonical Census szélesebb körben való használatának lehetőségről várhatóan a 2010. október 25-e és 29-e között Orlandoban (Florida) megrendezésre kerülő következő Ubuntu fejlesztői találkozón (Ubuntu Developer Summit) egyeztetnek majd, így az ott meghozott döntés függvényében kerülhet be esetleg valamilyen formában a funkció az Ubuntu jövő áprilisban megjelenő kiadásába.

Címkék: ,

A cikkhez nem lehet hozzászólni.