Oracle v. Google – jaka piękna katastrofa

  • Home
  • /
  • Blog
  • /
  • Oracle v. Google – jaka piękna katastrofa

Data: 23 maja, 2012

Dziś zakończyła się druga część (pierwszego) procesu między Oracle i Google o Androida. Werdykt dotyczy oskarżeń o naruszenie patentów przez Google i jest dla Oracle miażdżący.

Z początku Oracle oskarżało Google o naruszenie w Androidzie siedmiu patentów dotyczących Javy oraz praw autorskich dotyczących API, dokumentacji oraz niektórych plików źródłowych. Szczegółowa lista zarzutów dotyczących samych tylko patentów miała aż 132 punkty i chociaż oczywiste było, że z większości z nich Oracle zrezygnuje jeszcze przed procesem (ale już po zapoznaniu się z wewnętrznymi dokumentami Google), wydawało się, że przynajmniej niektóre z nich się utrzymają. Tymczasem wszystkie patentowe zarzuty wobec Google zostały odrzucone.

Jeśli chodzi o badane wcześniej zarzuty, dotyczące praw autorskich, sąd uznał, że złamaniem praw autorskich było rozpowszechnianie zdekompilowanych klas z Javy SE (co jest oczywiste, ale pozbawione większego znaczenia, za to naruszenie Google co najwyżej zapłaci niewielkie odszkodowanie), wykorzystanie kodu Oracle w metodzie TimSort#rangeCheck() (co jest dziwne, gdyż kod jest portem z Pythona i został przekazany Oracle przez pracownika Google – ale też nie powinno być przedmiotem ostrzejszych sankcji niż niewielkie odszkodowanie), a także, jeśli API jest chronione, użycie definicji 37 pakietów z Javy.

Ta ostatnia sprawa jest obecnie (nie licząc apelacji) jedynym poważnym zagrożeniem dla Google. Jeśli sędzia uzna, że API jest chronione prawem autorskim a nowa ława przysięgłych, że Google narusza i nie ma zastosowania wyjątek fair use, sprawa może się skończyć nawet zakazem rozpowszechniania Androida.

Dziś jednak Page może otwierać szampana. Na zdrowie!

Źródła: groklaw.net, fosspatents.com

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. TKowal pisze:

    Autor tego artykułu chyba nie do końca zna historię tego języka (oraz jego przesłanie: napisz raz uruchom pod dowolnym systemem operacyjnym)

    Oracle razem z przejętym SUN i BEA włożyły sporo pracy w stworzenie Javy. Jakieś 15 lat rozwoju, miliardy dolarów. Darmowe narzędzia takie jak Netbeans oraz Eclipse (Oracle jest razem z IBM głównym sponsorem tego środowiska od blisko 10 lat). To wszystko kosztowało fortunę. Google przyszedł na gotowca. Nic od siebie do Javy nie dodał. Nawet nie dołączył się do projeku OpenJDK tylko zrobił forka który jest niekompatybilny z Javą przez który aplikacje napisane pod Androidem nie działają w innych systemach operacyjnych (złamana główna zasada Javy – napisz raz, uruchom pod dowolnym systemem)

    To smutny dzień dla Javy oraz otwartej społeczności OpenJDK dla której Java oznaczała niezależność od sytemu. I szczęśliwy dla ludzi którzy o historii Javy nie mają zielonego pojęcia i dali się wymanewrować specom od PR'u z Google.

    1. cutugno pisze:

      Fajnie, że powtarzasz marketingowe brednie Oracle, tylko że to bzdura. Nie można było nigdy uruchomić kodu Javy SE na telefonach "z Javą", dlaczego niby miałoby być to możliwe na telefonach z Androidem? Bo Oracle tak mówi? No bez jaj. I nie zgodzę się, że nic Google do Javy nie dodał. Dodał ogromną społeczność deweloperów enduserskich aplikacji, dodał cały nowy rynek na którym Java Suna/Oracle delikatnie mówiąc sobie nie radziła. Można powiedzieć, że dał Javie drugą młodość, gdy ta choć bardzo popularna coraz bardziej zamykała się w getcie aplikacji enterprise ;-). A że wersja androidowa nie jest pod kontrolą Oracle? Wypłacz mi rzekę.

      1. TKowal pisze:

        Chodzi o kontrolę otwartej społeczności OpenJDK. Maszyny wirtualnej rozwijanej przez wszystkie firmy (Oracle, IBM itd) i zwykłych niezależnych koderów jako open source. To jest przyszłość Javy. Wspólna maszyna dla każdego systemu operacyjnego. Tak by kod raz napisany działał pod każdym systemem operacyjnym

        Google gdyby chciało mieć swój wkład w Javę którego na dzień dzisiejszy nie ma to mogło dołączyć do projektu OpenJDK. Włączyć fragmenty Dalvika. Zlikwidować zależność od Androida tak by aplikacje działały pod każdym systemem. Pomóc w pracach nad mobilną Javą bez uzależniania jej od Androida poprzez interfejsy itp. Tak by maszynę dało się przenieść na inne systemy mobilne.

        Niezależność od systemu to najważniejsza zaleta Javy która zdecydowała o sukcesie tego języka. To smutne że idea umiera. Spędziłem lata programując w Javie używając Windows a uruchamiając aplikacje pod Linuxem lub różnymi Unixami. Jedna osoba z naszego zespołu pracowała na Linuxie inna w domu na MacOS. Pełna niezależność od systemu operacyjnego. Kwintesencja Javy

        1. sprae pisze:

          Nie ma to jak utopia.
          Nie miałeś może przypadkiem Amigi? 😉

        2. pijaczek pisze:

          @TKowal: OpenJDK jest dla PC only – bzdurą jest to co mówisz, że raz napisany kod może działać wszędzie (to brednie). Kod napisany dla mobilnych urządzeń i tak nie będzie działać na PC bo nie masz akcelerometru, żyroskopu, magnetometru… wielodotyku itp. To wszystko wymaga osobnego API, którego w javie brak (a jeśli powstają API dla specyficznych urządzeń jak Java2ME to nie działa z innymi implementacjami (a to jak "wszędzie" działa wiedzą wszyscy, który chcieli odpalić program w J2ME na różnych telefonach i trzeba było do każdego pisać osobno… i każdy miał dodatkowe API)).
          W dodatku Java sama w sobie ma mechanizmy uzależniające ją od danej platformy czyli JNI i Google właśnie je wykorzystuje do swoich bibliotek systemowych pisanych w C/C++ (na innych systemach ich nie masz), a nawet do OpenGL ES (co samo w sobie likwiduje przenośność na desktopy).

          Korzystając z OpenJDK dalej nic przenośne z Androida by nie było, a dodatkowo zupełnie nieprzystosowane do mobilnych procków.

          Niezależność od systemu w Javie jest ograniczona (do wielu rzeczy nie masz dostępu, a uzyskując do nich dostęp tracisz przenośność), niezależność od architektury procesora jeszcze jako tako działa (pomijając, że implementacje Javy dla ARM ssą), ale niezależność od typu sprzętu to Java zawsze kulała, przez co jeśli znasz historie Javy to wiesz, że każde urządzenie na jakim miało działać miało własną edycje Javy z osobnym nieprzenośnym na inne urządzenia API.

          1. TKowal pisze:

            Nie zgodzę się z tobą. Dziś wszystkie telefony budowane są na bazie takich samych układów SoC z których każdy ma identyczne możliwości. Niezależnie od systemu. Tak więc nie ma technicznych powodów dla którego społeczność związana z OpenJDK nie mogłaby przenieść platformy Java na każdą mobilną platformę. Tak jak udostępnia się dziś maszynę wirtualną na każdy system od Windows poprzez MacOS, Linux a na serwerowych unixach kończąc.

            Gdyby Google dołączyło do projektu OpenJDK nad którym pracuje IBM, Oracle oraz inni to byłaby szansa ba prawdziwą multiplatformowość. W końcu dzisiejsze telefony to prawdziwe komputery a nie zabawki z czasów JavyME. Dziś telefony mają po 512MB pamięci i procesory powyżej 1GHz. Ja na słabszych konfiguracjach programowałem w JavieSE na PC

            PS: Nigdy nie miałem problemów z przenośnością Javy. W pracy pracujemy na trzech systemach. Windows na komputerach większości deweloperów z uwagi na domenę, serwery testowe są na linuxie a serwer produkcyjny to specjalistyczny serwerowy unix. Tylko Java daje możliwość niezależności od systemu

          2. TKowal pisze:

            PS: Oczywiście wiem się że sprawa nie jest 'czarno – biała'. Prawdopodobnie żadna ze stron nie ma tu 100% racji. Trochę racji ma Google, trochę racji ma Oracle. Nigdy nie dowiemy się szczegółów

            Po prostu byłoby fajnie jakby obie firmy razem współpracowały. W końcu Java jest jedna i najlepiej jakby ją wszystkie firmy wspólnie rozwijały jako projekt otwarty. Bez wojen. Bez forków, Bez sądów.

          3. cutugno pisze:

            No, zabawa dekompilatorem na pewno była bardzo nieładna, temu chyba nikt nie zaprzeczy, nie uważam też, że komuś by się stała duża krzywda gdyby Google płaciło Oracle jakiś tam procent od reklam wyświetlanych na Androidzie, stworzenie i rozwijanie Javy, jak napisałeś, kosztowało. Problem w tym, że Oracle posługuje się metodami, które są niebezpieczne. Na szczęście patenty wybrali tak po dyletancku, że im wybuchło to w twarz, ale znacznie bardziej niebezpieczna jest próba objęcia API ochroną praw autorskich. Jeśli to im się powiedzie i nie zostanie wywrócone w apelacji to taki np. Attachmate będzie mógł zrobić to samo Linuksowi, nie żeby od razu chcieli zakazać rozwoju, ale czy nie połaszą się w którymś momencie na opłaty licencyjne za używanie? A przecież to dopiero początek, wiele projektów open source implementuje czyjeś API z własnymi rozszerzeniami.

          4. TKowal pisze:

            To nie do końca tak wyglądało. Przez lata każda firma płaciła SUN'owi za możliwość uruchamiania javy mobilnej ona telefonach. Google się wyłamało. Stwierdziło że ich maszyna Dalvik nie jest maszyną wirtualną javy więc płacić nie będą.

            To jest o tyle pokrętne że Google używa standardowego kompilatora Javy. Najpierw kompiluje javę do przenośnego kodu bajtowego który jest niezależny od systemu. Następnie następuje kompilacja kodu bajtowego do kodu dla maszyny wirtualnej dalvik. Tak więc mamy dwie kompilacje jedna po drugiej. Ponieważ ich maszyna nie uruchamia bezpośrednio kodu bajtowego javy więc nie nazywają jej maszyną wirtualną javy. A tym samym nie muszą płacić. To sztuczki prawników.

            Oracle więc miało związane ręce. Atakowali więc na ślepo. Jak się okazało Google ma lepszych prawników.

          5. TKowal pisze:

            Najlepiej jakby obie firmy się dogadały bo na konflikcie tracą wszyscy. Sam język też będzie się wolniej rozwijał jeżeli w tle toczyć się będą wojny prawników

          6. pijaczek pisze:

            Mylisz się. Google się nie wyłamało i każdy, może robić własną implementacje Javy i nic nie płacić Sun czy Oracle (swoje implementacje mają Apple, IBM… a nawet GCC). Sun/Oracle też nigdy nie chodziło o dobro Javy, a o wyrwanie kasy na patentach… dlatego nie mają nic przeciwko LLVM (rekompiluje kod bitowy Javy to własnego odpalanego przez maszynę LLVM lub natywnego) ani nie ma nic przeciwko GCC i jego niekompatybilnej javie z możliwością natywnej kompilacji, ale za to kiedy wyszukają minimalną możliwość zarobienia to pozywają takie Google czy Microsoft.
            Bzdurą jest też to, że atakowali na ślepo – atakowali to co zawsze (już z Microsoftem wykorzystywali to samo), Dokładnie atakowali w to na czym najszybciej mogli wyłudzić kasę – czyli atakowali patentami na algorytmy, które jak sądzili używa Google (niestety dla Oracle Google było na to przygotowane i w swojej maszynie wirtualnej omijali patenty Oracle szerokim łukiem).

          7. cutugno pisze:

            "każdy, może robić własną implementacje Javy i nic nie płacić Sun czy Oracle (swoje implementacje mają Apple, IBM… a nawet GCC)."

            Ale oczywiście wiesz, że Apple i IBM płacą (Apple pewnie tylko za TCK, bo nie ma mobilnej, więc to jakieś grosze, chyba $100k rocznie, ale IBM za mobilną J9 płacił od kopii)?

            Zresztą uważam, że Google też powinno, i naprawdę jeśli Oracle wygra jakiś nieznaczny procent od reklam w tym czy jakimś następnym procesie, nawet patentami, nie będzie mi z tego powodu smutno. Problemem tu nie jest, że Oracle chce kasy (no serio, wydaj se 8 gigadolków na Javę i nie chciej potem kasy), tylko że żeby ją uzyskać sięga po sposoby, które, jeśli okażą się ostatecznie skuteczne, mają szansę rozpieprzyć najważniejsze projekty open source.

          8. pijaczek pisze:

            "Ale oczywiście wiesz, że Apple i IBM płacą (Apple pewnie tylko za TCK, bo nie ma mobilnej, więc to jakieś grosze, chyba $100k rocznie, ale IBM za mobilną J9 płacił od kopii)? "

            OFC wiesz, że nie płacą za Javę, a za:
            – wykorzystanie kodu oficjalnej maszyny javy jako podstawy swojej,
            – za patenty, które ich kod łamie

            Google nie wykorzystuje kodu Sun/Oracle, ani nie łamie patentów więc nie ma żadnych podstaw aby miał płacić

          9. cutugno pisze:

            "OFC wiesz, że nie płacą za Javę, a za: "

            Też. I za trademark, i parę innych rzeczy. Między innymi za TCK i za mobilną J9 od kopii (nie wiem czy wciąż jest rozpowszechniana).

            "Google nie wykorzystuje kodu Sun/Oracle"

            No, poza tym zdekompilowanym 😉

            "ani nie łamie patentów więc nie ma żadnych podstaw aby miał płacić"

            W chwili obecnej nie ma, napisałem, że nie popłaczę się jeśli się kiedyś takowe znajdą.

          10. prawda jest taka ze Google to złodzieje

          11. cutugno pisze:

            I pijaki!

          12. Adrian pisze:

            …Bo każdy "PIJAK" to "ZŁODZIEJ" !

          13. cutugno pisze:

            Dzięki, kapitanie!

          14. pijaczek pisze:

            Czyli jeśli dobrze rozumiem chcesz nowe Java2ME z osobnym API (bo sprzęt jest zupełnie inny niż PC, inne czujniki itp i urządzenie wskazujące). Czyli kod przenośny tylko pomiędzy różnymi mobilnymi urządzeniami, z czego nie byłoby to kompatybilne z Windows Mobile (tu nie możesz pisać nawet w C/C++ i tylko programy .NET są możliwe), nie byłoby to dopuszczone do Apple AppStore (tak jak niedostępny dziś jest flash, java i wszelkie maszyny wirtualne), co oznacza, że na orginalnym iOS nie zainstalujesz maszyny wirtualnej, czy BlacBerry, które korzysta z normalnej Javy, z kodem maszynowym oficjalnego JDK, ale własnym API i nie jest to kompatybilne z dosłownie niczym. Jedyna zmiana Dalvik na Javę to zmiana kodu maszynowego i wirtualnej maszyny, w żadnym stopniu nie zwiększająca przenośności kodu.

            To nie ma nic do rzeczy – Jeśli taki SoC obsługiwałoby się za pomocą myszki, klawiatury i cały dodatkowy sprzęt miałyby jak PC to byłby sens korzystania z JDK, ale podczas gdy i tak programy muszą być dla takiej platformy pisane i kompilowane od nowa, to sztywne trzymanie się JDK byłoby błędem.

            OpenJDK niestety nie jest w 100% kompatybilny z Oracle Java (ze względu na kod objęty patentami, których Oracle, ani IBM nie chce opublikować w OpenJDK i trzymają tylko w swoich zamkniętych implementacjach, niektóre rzeczy inaczej się zachowują). Co więcej ostatnia wersja Javy ostro namieszała i wiele programów pisanych pod maszynę wirtualną 6 nie działała pod maszyną w wersji 7.

          15. TKowal pisze:

            "OpenJDK niestety nie jest w 100% kompatybilny z Oracle Java"

            NIE. OpenJDK to jest oficjalna maszyna Javy od wersji 7. To projekt rozwijany wspólnie przez Oracle oraz IBM

          16. pijaczek pisze:

            Podaj link, bo na słowo nie uwierzę. Nie słyszałem o tym, żeby we własnym JDK rezygnowali z opatentowanego kodu, którego nie udostępnili w ramach OpenJDK (a takiego kodu jest masa i powstawanie OpenJDK wyglądało tak, że Sun wywalało swój optymalny kod i wrzucała obejście patentów – wolniejsze, ale dla nich zachowanie patentów na własność jest ważniejsza)… podobnie IBM ma dalej swoje J9 i nie zamierza z niego rezygnować, ani do OpenJDK przekazywać ich opatentowanego kodu, a obok swojego kodu pomagają rozwijać i OpenJDK (bez wykorzystania własnych patentów i zezwolenia komukolwiek na wykorzystanie ich), bo to im się opłaca (ich działka to serwery i superkomputery oraz zastosowania enterprise, więc Java jest dla nich bardzo ważna, a nie każdy program działa pod ich J9, więc muszą wspierać OpenJDK).

    2. andrzej pisze:

      Pisanie że google nic od siebie do javy nie dodał jest bzdurą. Po pierwsze zrobili bardzo dużo dla projektu eclipse WindowBuilder i inne narzędzia. Dodatkowo gwt – projekt open source w całosci otwarty wykorzystywany również przez red hata w jboss, i w IBM tez.
      Dalvika to oni zrobili na podstawie harmony z apache, fakt zeby ominac licencje i patenty oracla. Gdzies juz pisałem ze Jesli google jest cos winny to przede wszystkim dla spolecznosci – Android jest darmowy i open source, więc swój dług spłacił.
      I tez twierdze ze google mogło by się z oracle czyms podzielic. Liczyłem na to ze google pierwszą częsc wygra a oracle zgarnie kase za te 2 patenty, które były jeszcze nierozstrzygnięte. Stało sie inaczej.
      Google oferował im dogadanie się jak widać oracle'a zgubiła pazernosc.

  2. Lam_Pos pisze:

    Poza "katastrofą" i "miażdżącym werdyktem" news w porządku. Te "poza" wynikają z mojej staromodności, preferuję w newsach informacje zamiast emocji. Ot, taki bzik osobisty. ;))
    Plus dla newsa.

  3. Darkhog pisze:

    Looks like Oracle *put on sunglasses* didn't see what's coming!

  4. jamcito pisze:

    Google is evil! Wszystko co wezmie to dzieli i psuje. Popsul JavaEE w app engine, popsul JaveSE – nie mylic z ME. Chce popsuc JavaScripta. Dziel i rzadz. To taki Kaczynski 🙁
    Jestem programista Java i barzo mi lezy przyszlosc Javy

    1. Wizard pisze:

      O to się nie martw. W Javie jest naklepane mnóstwo kodu w różnych miejscach, ten kod wymaga usprawnień, utrzymania itd. Jeśli dziś jest praca dla programistów Cobola, to ja bym się specjalnie nie martwił ;]

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.