Tomáš Piňos
9.9.2010

Automatický update knihoven Ehcache a Quartz



Kolegové na projektu odhalili, že automatický update se stává populárním i mezi Java knihovnami. Po startu JBoss serveru se v logu objevil tento překvapující záznam:

19:29:49,544 INFO  [main:][Server:504] JBoss (MX MicroKernel) ... Started in 21s:130ms
19:29:51,763 INFO  [net.sf.ehcache.CacheManager@14a4067:][UpdateChecker:98] New update(s) found: 2.2.0 [http://ehcache.org/news.html]. Please check http://ehcache.org for the latest version.

 Záhy jsme přišli na to, že kontrolu aktuálnosti verze provádí knihovny Ehcache a Quartz, tedy populární cache a scheduler hojně používané i v enterprise řešeních. Obě jsou vyvíjeny společností Terracotta

 


Motivaci pro zavedení kontroly verzí lze najít popsanou v tomto blogu. Autor vysvětluje, že vedle kontroly verze obě knihovny navíc odesílají data o svém použití. Jsou to:

  • Operating system name (os.name)
  • Java VM name (java.vm.name)
  • Java version (java.version)
  • Platform (os.arch)
  • Terracotta version (if applicable)
  • Terracotta product name/version (if applicable)
  • Uptime
  • Hash of IP address – used as a fingerprint for correlation


Autor dále vysvětluje, že sběr dat o použití je jakousi protiváhou hodnotě, kterou knihovny představují pro vývojáře a projekty, které je používají. Nabízí analogii k vyhledávání na googlu a zobrazení reklam a komerčních sdělení. Blog je formulovaný jako odpověď na negativní a odmítavé reakce mnoha uživatelů knihoven. Pozitivní je, že kontrola jde u obou knihoven vypnout. Nutnost explicitně toto chování potlačit je vysvětlena tím, že “jinak by si to přece nikdo nepovolil”. Myslíte, že je takové chování od open source projektu přijatelné ? V některých prostředích mohou být kontrola verze a pokus o odeslání dat oprávněně vnímané jako bezpečnostní incident. Dá se namítat, že to porušuje princip nejmenšího překvapení. Je automatická kontrola verze a odeslání dat o použití trend? Nedělá to tak jenom Ehcache a Quartz. Dalšími příklady jsou třeba Glassfish a MySql. Já se spíše kloním ke skupině uživatelů, která kontrolu verze nevnímá dobře. Snáze by se mi její zavedení chápalo, kdyby byla explicitně a velmi viditelně zdokumentovaná, ale zdá se, že není. Zkoušel jsem zmínku o zavedení kontroly najít v change logu Ehcahe, ale nenašel jsem. Vypadá to, že první reakce programátora bude vždy negativní. Opravdu je čeho se bát? Podělte se o své názory v diskuzi pod článkem.

Odkazy:

Motivace pro kontroly a odesílání dat Vypnutí kontrol Zdrojový kód pro update check v Ehcache Diskuzní fóra Ecache a Quartz

Vaše emailová adresa nebude zveřejněna

Komentáře

Děkujeme za váš komentář
Další
  • Bena

    Neslychane. A to jsem mel v umyslu ehcache pouzit na obrazky. Napisu si sam, lepsi. ­

  • Cyril

    ja jsem ochoten takovy sber dat tolerovat, kdyz to bude jasne receno ze tim platim firme za opensource vyvoj. Jeste me zaujako to "Hash of IP address", proc posilaji hash? Vdzyt stejne IP znaji z toho http requestu, kterym zjistuji novou verzi...

  • petrf

    Používám: mvn versions:display-property-updates -U resp. mvn versions:display-dependency-updates -U Vlastní změnu verzí pak ručně, abych měl kontrolu