Η Oracle, μια εταιρεία που εδώ και χρόνια κατέχει εξέχουσα θέση στην αγορά των εμπορικών βάσεων δεδομένων και πρόσφατα εξαγόρασε την εταιρεία Sun Microsystems (γνωστής στο ελεύθερο λογισμικό για την γλώσσα προγραμματισμού Java, το OpenOffice.org, την MySQL, το OpenSolaris και άλλα λιγότερο γνωστά project), προχώρησε στην κατάθεση μηνυτήριας αναφοράς ενάντια στο Google για τη χρήση πατεντών της Oracle που καλύπτουν τη γλώσσα προγραμματισμού Java. Η Java, αν και τα copyrights της ανήκαν στην Sun, έγινε διαθέσιμη κάτω από την ελεύθερη άδεια λογισμικού GPLv2 (τονίζω ότι πρόκειται για τη δεύτερη έκδοση της GPL, καθώς η πλέον πρόσφατη GPLv3 δεν επιτρέπει τη σύνδεση πατεντών στον κώδικα που περιγράφει).

Τα κινητά τηλέφωνα με Android διαθέτουν κάτι παρόμοιο με το Java Virtual Machine, το Dalvik Virtual Machine. Αν και το Dalvik έχει πολλές διαφορές συγκριτικά με τη JavaVM, η Oracle έκρινε ότι έπρεπε να προχωρήσει σε ένδικα μέσα. Οι πατέντες που η Oracle πιστεύει ότι παραβιάζονται από το Android είναι οι ακόλουθες:

  • 6,125,447 — Protection Domains To Provide Security In A Computer System
  • 6,192,476 — Controlling Access To A Resource
  • 5,966,702 — Method And Apparatus For Preprocessing And Packaging Class Files
  • 7,426,720 — System And Method For Dynamic Preloading Of Classes Through Memory Space Cloning Of A Master Runtime System Process
  • RE38,104 — Method And Apparatus For Resolving Data References In Generated Code (ένα [reissued patent](https://en.wikipedia.org/wiki/Reissue_(patent)· ο αρχικός αριθμός ήταν 5,367,685)
  • 6,910,205 — Interpreting Functions Utilizing A Hybrid Of Virtual And Native Machine Instructions
  • 6,061,520 — Method And System For Performing Static Initialization

Δεν είμαι δικηγόρος (ούτε σοβαρός προγραμματιστής) ώστε να μπορώ να ξέρω αν μπορούν να σταθούν οι εν λόγω πατέντες στα Αμερικανικά δικαστήρια. Το κύριο πρόβλημα, έτσι όπως το βλέπω εγώ, είναι ότι το Google δεν προτίμησε να χρησιμοποιήσει την GPL-αρισμένη έκδοση της Java για να υλοποιήσει το subset του Dalvik· αντίθετα, προτίμησε να χρησιμοποιήσει την Java που έρχεται με την άδεια της Sun (πλέον Oracle). Από την άλλη, ακόμη και αν προτιμούσε την GPL, ίσως η Oracle να συνέχιζε με τη μήνυση. Μην ξεχνάμε ότι η μήνυση δεν είναι απλά για παραβίαση copyright αλλά για παραβίαση πατεντών.

Σύμφωνα με τη μήνυση, η Oracle ζητάει την κατάσχεση και καταστροφή των συσκευών που φέρουν λογισμικό που καλύπτεται από τις πατέντες της. Από την άλλη, στη Silicon Valley (συγκεκριμένα στο blog του δημιουργού της Java James Gosling) αναφέρεται ότι, κατά τις συζητήσεις εξαγοράς της Sun, το κύριο θέμα ήταν η νομική θέση της εταιρείας σε σχέση με το Android. Δεν είμαι σε θέση να επιβεβαιώσω ή να διαψεύσω τις φήμες· θα θυμίσω όμως ότι κάποιος «γραφικός» για τα στάνταρ των περισσότερων από εμάς κύριος με μακριά μαλλιά και γένια (ναι, για τον Richard Stallman μιλάω) έγραφε ένα σχεδόν προφητικό άρθρο, το περίφημο Java Trap.

Ναι μεν ο κύριος Stallman αναφερόταν στο πόσο επικίνδυνο είναι οι προγραμματιστές να βασίζονται στην υλοποίηση μιας κλειστής γλώσσας προγραμματισμού· ναι μεν η Java έγινε ελεύθερο λογισμικό πριν μερικά χρόνια (την ελεύθερη υλοποίηση την ονομάζουμε IcedTea), αλλά τα προβλήματα προέκυψαν με την υλοποίηση του Android που βασιζόταν σε κλειστό κώδικα. Βλέπω —χωρίς να θέλω να βάλω απέναντί μου την κοινότητα του Mono— πως ο Miguel de Icaza, σε ένα άρθρο του που αναλύει την κατάσταση, προτείνει στο Google να γυρίσει στην πιο ανοιχτή πλατφόρμα του .NET. Δεν μπορώ παρά να θυμηθώ την Κασσάνδρα που ακούει στο όνομα Richard Stallman, που έλεγε ότι η «υπόσχεση της MS» είναι στην ουσία κενό γράμμα.

Τι θα έπρεπε να κάνει η Google;

Εδώ τα πράγματα είναι λίγο περίπλοκα. Πιστεύω ότι κάτω από την (άδικη κατά τη γνώμη μου, αλλά ισχύουσα) νομοθεσία των ΗΠΑ υπάρχει ένα θέμα… πολύ σοβαρό θέμα· από την άλλη, νομίζω ότι η Oracle έχει μεγαλύτερο νόμιμο συμφέρον να πιέσει την Google σε εξωδικαστικό συμβιβασμό. Ο Miguel de Icaza προτείνει κάτι που έχει αρκετά μεγάλο ρίσκο — όχι τόσο τεχνικό όσο επιχειρηματικό, καθώς η Google πάλι θα είναι εκτεθειμένη σε νομικές κινήσεις από την πλευρά της MS. Μια άλλη πλατφόρμα που χρησιμοποιείται ήδη στην κινητή τηλεφωνία και μάλιστα καλύπτεται καλύτερα νομικά είναι η Qt, που όμως ελέγχεται από την Nokia.

Μια τέτοιας κλίμακας αλλαγή θα δημιουργούσε ίσως περισσότερα προβλήματα από αυτά που θα έλυνε για την Google, αλλά πολλά θα εξαρτηθούν από τις διαπραγματεύσεις που προφανώς θα γίνουν «κεκλεισμένων των θυρών» μεταξύ Oracle και Google.

Ωστόσο, δεν βγαίνει μόνο το Google ζημιωμένο από αυτή την κίνηση της Oracle. Βλέπετε, οι developers είναι μυστήρια πλάσματα και, όχι άδικα, κάπως καχύποπτα. Πολλά ανοιχτού κώδικα προγράμματα όπως η MySQL, το OpenOffice.org, το OpenSolaris και άλλα που είχαν αρχίσει στην εποχή της Sun θα αντιμετωπίζονται με μεγαλύτερη καχυποψία λόγω της εμπλοκής της Oracle, και θεωρώ αρκετά πιθανό να χάσουν developers ή να δημιουργηθούν fork όπου αυτό είναι δυνατό. Το μέλλον θα είναι μάλλον πλούσιο σε ειδήσεις!

Oracle εναντίον Google · 7 πατέντες Java

Τεχνική στατικής αρχικοποίησης κλάσεων κατά του ανοιχτού runtime Android/Dalvik.

Google Patents ↗

Τεχνική security-sandbox της Java που η μήνυση ισχυριζόταν ότι παραβίαζε το Dalvik του Android.

Google Patents ↗

Μηχανισμός ελέγχου πρόσβασης κατά του Dalvik VM του ανοιχτού Android.

Google Patents ↗

Μέθοδος πακεταρίσματος class files που στόχευε τον τρόπο που τα εργαλεία του Android παράγουν .dex.

Google Patents ↗

Επίλυση συμβολικών αναφορών σε παραγόμενο bytecode, κατά της εκτέλεσης/JIT του Dalvik.

Google Patents ↗

Υβριδικό μοντέλο εκτέλεσης που λεγόταν ότι καλύπτει τον interpreter του Dalvik.

Google Patents ↗

Αντιστοιχεί άμεσα στο μοντέλο Zygote του Android για γρήγορη εκκίνηση εφαρμογών.

Google Patents ↗
Ο χάρτης του πολέμου πατεντών · 2006–2014

Αυτό το διάγραμμα χρειάζεται JavaScript.

Περάστε ή πατήστε έναν κόμβο για τις σχέσεις του· πατήστε μια γραμμή για το άρθρο.