Hlavní navigace

Názor k článku Příjmový model P2P aplikací od Ondrej 'SanTiago' Zajicek - (tento prispevek jsem napsal po precteni Donatova 'Utopia...

  • Článek je starý, nové názory již nelze přidávat.
  • 30. 3. 2001 21:38

    Ondrej 'SanTiago' Zajicek (neregistrovaný)
    (tento prispevek jsem napsal po precteni Donatova 'Utopia Internetu', ale vzhledem k migraci diskuse workshopu na dalsi clanek ho vkladam sem. BTW, chtelo by to propojit diskusni forum u celeho workshopu slozeneho z vice clanku - bylo by to smysluplnejsi)

    Jednou ze zakladnich chyb tohoto workshopu je to, ze se zde ignoruji nektere dulezite aspekty:

    1) Aby dana aplikace mela sanci uspet (z dlouhodobeho hlediska), musi se jednat o free software (nekdy tez zvane open source)
    2) V oblasti free software aplikace nemuze uzivatele nutit k tomu, co nechce - kazdy uzivatel ma pristup ke zdrojovemu kodu, muze si program prislusne upravit.
    3) I kdyz se nejedna o free software, tak by aplikace nemela uzivatele nutit k tomu, co nechce - z filosofickeho pohledu je software jen reprezentace vule uzivatele v hardwaru, vule programatora by v aplikace nemela byt pritomna. Jinak receno vlastnik hardware (zjednodusene uzivatel) by v idealnim pripade mel mit _moznost_ plne kontroly nad tim, co hardware dela (software je jen prostredek, kterym hardware ovlada)
    4) K omezene delce zivota aplikace - to povazuji za naprosty nesmysl - uzivatel by mel prejit na novou verzi, pokud je to PRO NEJ vyhodne, nikoliv pokud je to vyhodne pro autora. To me pripada, jako by nekteri lide zde meli predstavu, ze program slouzi k tomu, aby pomoci nej autor ovladal cizi pocitace a zivoty. K tomu jedine citat od R. Stallmana:
    "Autori si casto narokuji specialni spojeni s programy, ktere napsali, a prohlasuji pak, ze jako vysledek tohoto spojeni jsou jejich touhy a zajmy ohledne programu dulezitejsi nez zajmy ostatnich (...) Tem, kdo toto povazuji za eticky axiom -- autor je dulezitejsi nez vy -- mohu pouze rict, ze ja, velmi znamy autor softwaru, to povazuji za hloupost."


    V uvodnim clanku zmineny Petr S. situaci vystihl velice presne (mnohem lepe nez mnoho IT casopisu, kdyz se zabyvaji Linuxem). Ale IMHO to J. Donat pochopil dosti spatne. Ten priklad z Linusem, tam je prave ukazka _primeho_ zisku - neco udelam, a jako primy dusledek me to prinese vyhody (napr. popularitu), ktere pak muzu zpenezit. Opakem primeho zisku je zisk reciprocni (coz je hlavni zisk programatoru free software). Jinymi slovy - kdyz jsem programator a nepisu free software, nemuzu cekat, ze to bude delat nekdo jiny -> na svete nebude free software. Zatimco pokud jsem programator a pisu free software, muzu to ocekavat i od ostatnich -> svet je plny free software, ktery muzu vyuzivat, coz je muj reciprocni zisk. Rekl bych, ze prave toto mel v clanku zmineny Petr S. na mysli (a nikoliv balancovani na hrane omezovani uzivatelu - co nejvic, ale zaroven tak malo, aby neutekli ke konkurenci a jeste navic tento system podporovali - jak jsem pochopil uvodni clanek)

    Jak vyuzit reciprocitu v P2P aplikacich? To je proste. Vzhledem k tomu, ze opravdova P2P k provozu nepotrebuje nejake dedikovane servery a vytvari se ad-hoc z hardware uzivatelu, tak pro vznik a provoz P2P aplikace krome naprogramovani staci prakticky nulove naklady. Coz umoznuje, aby hlavnim ziskem pro autora P2P aplikace bylo to, ze ji spolu s haldou dalsich lidi bude moci vyuzivat (da se rici, ze uzitecnost P2P aplikace je linearne zavisla na mnozstvi jejich uzivatelu).

    Co je nejvhodnejsi jako zakladni P2P aplikace? to je tez proste. Je treba si uvedomit, ze problemy se vzhledem ke sve komplexite vertikalne deli na subproblemy, mezi kterymi je jasne definovane rozhrani. Tak, jako problem vyuzivani pocitacu se da jednoduse rozdelit na operacni system (respektive aplikacni rozhrani) a aplikace, jako problem komunikace pres dane medium se da rozdelit na obecne komunikacni vrstvy (TCP/IP) a aplikacni protokoly, tak je vhodne rozdelit i P2P systemy. Proto jako zakladni P2P aplikaci bych videl distribuovany operacni system (respektive aplikacni rozhrani) bezici na vrchu beznych operacnich systemu.

    Co by takovy P2P distribuovany operacni system mel delat? Zejmena zajistovat sdileni vypocetnich prostredku (takove casti, ktere by mu uzivatel povolil) jako procesorovy cas, RAM a diskova kapacita (samozrejme sdileni procesoroveho casu a RAM ma smysl jen na rychlych linkach, ale kdyz uz se navrhuje P2P aplikace, tak at se dela poradna, pouzitelna nejen na Internetu, ale i napriklad na podnikovych sitich), 'human-interface-devices' (klavesnice, mys, monitor) a ostatnich periferii (to ma zase vyznam spise na lokalnich sitich (z hlediska rozlohy)). Vsem uzivatelum by mel poskytovat konzistentni pohled jako na jeden virtualni mnohouzivatelsky operacni system (tezko by se ale dany pohled mohl blizit beznym operacnim systemum, na jejich emulaci by bylo treba prilis mnoho broadcastu), s tim, ze kazdy uzivatel by byl adminem nad temi periferiemi, ktere do systemu pripojil. Veskery pripojeny diskovy prostor by se tvaril jako jednotne repository pro ukladani dat, obdobne take veskery procesorovy cas by se vyuzival jakoby jednotne - uzivatelem spustena aplikace by se automaticky optimalne (vzhledem k pouzivanym periferiim a sirce linek) rozlozila na ruzne procesory, pripadne by na svuj popud mohly jednotlive aplikace migrovat (softwarovi agenti). To by bylo umozneno tim, ze aplikace by byly ulozene v MI-kodu (nemyslim zrovna nutne kod pro Java VM, ale z uzivatelskeho hlediska obdobne), coz by umoznovalo snadne prechazeni aplikaci (respektive jejich casti) za behu mezi ruznymi hardwarovymi platformami. Obsahoval by tez nejakou obdobu 'mojo' plateb, ktere by zde nebyly kvuli tomu, aby na nich autor vydelaval, ale proto, aby zajistovali rovnomernost reciprocity (tzn. aby nekdo nevyuzival mnoho sdilenych zdroju a sam poskytoval nic) a jako motivacni faktor pro pripojovani dalsiho (treba nevyuzivaneho) hardware do systemu. Tyto 'mojo' platby by ale nemusely byt nutne linearni, jejich cilem neni imitovat penize, ale vyvazovat reciprocitu (coz byl sice puvodni cil penez, ale za ta tisicileti se to nejak zvrtlo :-) ). Krome automatickych plateb za vyuzivani systemovych prostredku by se dalu provadet uzivatelske platby, ktere by zavisely na dohode prijemce a platce (resp. jejich software). Je ale otazka, zda vzhledem k distribouvanosti takoveho systemu by se dala prislusna 'mojo' hodnota daneho uzivatele nejak rozumne vyjadrit jednim cislem. Spis bych to chapal tak, ze pokud by nejaky hardware poskytl sluzby nejakemu uzivateli, tak by to ten hardware nejakym zpusobem propagoval dale, takze by se dalo rici, ze 'mojo' hodnota je jakymsi souborem nazoru jednotlivych pocitacu na to, jak dany uzivatel intenzivne vy uziva cizi sluzby.

    V budoucnosti by takovy system ucinil nepotrebnymi prakticky vsechny soucasne aplikacni protokoly jako HTTP, FTP, SSH ... a vznkly by operacni systemy, ktere by tento P2P distribuovany operacni system plne integrovaly do sebe.

    K cemu vsemu by se takovy system dal vyuzit, to uz necham na vasi fantazii.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).