Re: Σχετικά με τις ενημερώσεις Linux kernel

Pantelis Koukousoulas pktoss at gmail.com
Sun Aug 19 04:53:38 UTC 2012


2012/8/18 stavros daliakopoulos <stavros.daliakopoulos at gmail.com>:
> αφού το ksplice έχει άδεια gpl γιατί δεν έχει περάσει στο linux μόνιμα,
> άσχετα αν το αγόρασε η oracle?

Όταν λέμε "ksplice" εννοούμε διάφορα κομμάτια:

   * Το πρώτο κομμάτι ήταν να υπάρξει η δυνατότητα να γίνει ο πυρήνας
   compile με τις παραμέτρους -ffunction-sections και -fdata-sections.
   Το κομμάτι αυτό προτάθηκε και έγινε merge στον πυρήνα πριν
    κάποια χρόνια https://lkml.org/lkml/2008/8/24/159

   * Τα low-level userspace εργαλεία: Π.χ., η εντολή που φτιάχνει
   ένα "hot update" module από ένα kernel tree στο οποίο έχουμε
   εφαρμόσει ένα patch. Αυτά από ότι θυμάμαι είχαν επίσης γίνει
   release στην αρχή ως GPL με τη μορφή ενός public github
   repository.

   Από τη στιγμή που η Oracle αγόρασε την εταιρία Ksplice Inc,
   η επίσημη ενημέρωση λέει ότι ο κώδικας αυτός "μεταφέρεται
   στο oss.oracle.com". Αυτό που υπάρχει αυτή τη στιγμή στο
   oss.oracle.com είναι απλά το εξής:
    https://oss.oracle.com/ksplice/software/ksplice-0.9.9.1-src.tar.gz
   Ούτε git repo, ούτε updates, ούτε τίποτα.

   βλ. http://cormander.com/2011/07/ksplice-currently-violates-the-gpl/
   Μάλλον οι δικηγόροι της Oracle δε συμφωνούν 100% με αυτή την
   οπτική και κανένας δεν έχει βρεθεί να τους μηνύσει ακόμα.

   Ευτυχώς υπήρχαν αρκετά git clones και έτσι σώζεται ο κώδικας
   ως είχε πριν "κλείσει" ουσιαστικά:
         Π.χ., https://github.com/CentOS/ksplice

   Για οδηγίες ως προς το πώς χρησιμοποιούνται τα εργαλεία αυτά
   βλ. π.χ.,
   http://cormander.com/2011/08/how-to-use-the-ksplice-raw-utilities/


   * Το "service κομμάτι" (uptrack) δηλ:
         * Το κομμάτι δηλαδή της παραγωγής των binary updates
            (σε κάποιες περιπτώσεις χρειάζεται manual δουλειά, δεν
            είναι πάντα τόσο απλό όσο να τρέξεις ksplice-create
            στο κατάλληλο tree)

         * Το software του "client": uptrack-upgrade, uptrack-show
            κλπ και το αντίστοιχο server κομμάτι (το οποίο βέβαια
            μπορεί να ήταν απλά ένα directory προσβάσιμο από
            http).

         * Η διαχείριση των subscriptions κλπ.

     Για το κομμάτι αυτό δε γνωρίζω πολλά πράγματα για το αν ήταν
     ποτέ καν open-source, άρα αν κάποιος θέλει να αναπτύξει αντίστοιχη
     υπηρεσία θα πρέπει να ξαναγράψει το σχετικό κώδικα και να έχει
     και ανθρώπους που καταλαβαίνουν από data structure repairs κλπ
     ώστε να επεμβαίνουν "manually" όταν τα raw utilities δε δουλεύουν
     σωστά.

Οπότε, συνοψίζοντας, η κατάσταση έχει ως εξής:

    * Το kernel κομμάτι είναι μέρος του kernel εδώ και 2-3 χρόνια αν θυμάμαι
       καλά.

    * Τα raw utilities θα μπορούσαν να είναι κομμάτι της διανομής αλλά
       δεν αξίζουν τον κόπο δεδομένου ότι δεν απευθύνονται σε end users
       αλλά περισσότερο σε προγραμματιστές.

    * Το service κομμάτι (π.χ., ο uptrack manager και τα uptrack command
       line tools) δεν είναι open-source καν, οπότε δεν μπορεί να είναι
       κομμάτι κάποιας διανομής.

    * Αυτή τη στιγμή νομίζω το ubuntu 10.04 και 12.04 υποστηρίζεται δωρεάν
      στο uptrack, οπότε αν κάποιος εμπιστεύεται την oracle και δεν τον πειράζει
      το γεγονός ότι ουσιαστικά τρέχει binary kernel κώδικα με αυτό τον τρόπο,
      μπορεί να χρησιμοποιήσει τα υπάρχοντα closed-source πακέτα του client.

      Αυτοί που φαίνεται να επηρρεάζονται περισσότερο αρνητικά από την
      αλλαγή ιδιοκτησίας της ksplice inc είναι αυτοί που τρέχουν CentOS οι
      οποίοι σκέφτονται να αναπτύξουν τη δική τους αντίστοιχη υπηρεσία
      (βλ. CentOS rebootless kernel upgrades project) με βάση τον τελευταίο
      ανοιχτό κώδικα για τα ksplice tools.


Ελπίζω αυτό να ξεκαθαρίζει κάπως την κατάσταση,
Παντελής


More information about the Ubuntu-gr mailing list