Μετάβαση στο περιεχόμενο
Πίσω στα άρθρα
Operations

Κυριότητα κώδικα και δεδομένων σε custom software

Τι πρέπει να γράφει η σύμβαση για source code, δεδομένα, βιβλιοθήκες, πρόσβαση, παράδοση και συνέχιση ενός custom software project.

6 Σεπ 20265 λεπτά ανάγνωσης

Από Η ομάδα της Argonstack, TechIns Group

Κυριότητα κώδικα και δεδομένων σε custom software

Η φράση «θα μας ανήκει το λογισμικό» δεν είναι αρκετή. Σε ένα custom project πρέπει να διαχωριστούν ο πηγαίος κώδικας, τα δεδομένα, το design, η τεκμηρίωση, οι προϋπάρχουσες βιβλιοθήκες, οι άδειες τρίτων, η υποδομή και το δικαίωμα συνέχισης της ανάπτυξης από άλλη ομάδα.

Αν αυτά δεν οριστούν πριν ξεκινήσει το έργο, η διαφωνία εμφανίζεται συνήθως όταν ο πελάτης ζητήσει πρόσβαση στο repository, αλλαγή συνεργάτη ή εξαγωγή δεδομένων. Το θέμα δεν λύνεται από το γεγονός ότι κάποιος πλήρωσε την ανάπτυξη. Λύνεται από τη σύμβαση και το εφαρμοστέο δίκαιο.

Το άρθρο αυτό αποτελεί επιχειρηματικό οδηγό και όχι νομική γνωμοδότηση. Η τελική σύμβαση πρέπει να ελέγχεται από δικηγόρο με γνώση πνευματικής ιδιοκτησίας και τεχνολογίας.

Τι σημαίνει κυριότητα πηγαίου κώδικα

Ο πηγαίος κώδικας είναι το υλικό που χρησιμοποιούν οι developers για να δημιουργούν και να τροποποιούν την εφαρμογή. Η πρόσβαση στον κώδικα δεν ταυτίζεται απαραίτητα με μεταβίβαση όλων των δικαιωμάτων. Μια εταιρεία μπορεί να έχει αντίγραφο του repository αλλά περιορισμένο δικαίωμα χρήσης. Μπορεί επίσης να έχει αποκλειστική άδεια χρήσης χωρίς να έχει αποκτήσει κάθε στοιχείο που χρησιμοποιήθηκε.

Η ευρωπαϊκή Οδηγία 2009/24/ΕΚ προστατεύει τα προγράμματα ηλεκτρονικών υπολογιστών μέσω πνευματικής ιδιοκτησίας. Η σύμβαση πρέπει να ορίζει με ακρίβεια ποια δικαιώματα μεταβιβάζονται, πότε μεταβιβάζονται, για ποια επικράτεια και αν υπάρχει περιορισμός χρήσης ή τροποποίησης.

Τέσσερις κατηγορίες κώδικα

Ο κώδικας ενός έργου συνήθως δεν είναι ένα ενιαίο πράγμα. Περιλαμβάνει νέο κώδικα που γράφεται ειδικά για τον πελάτη, προϋπάρχοντα εργαλεία του παρόχου, open source βιβλιοθήκες και εμπορικές υπηρεσίες τρίτων.

Ο νέος ειδικός κώδικας μπορεί να μεταβιβάζεται στον πελάτη ή να αδειοδοτείται. Τα προϋπάρχοντα frameworks του παρόχου συνήθως παραμένουν στον πάροχο, με δικαίωμα χρήσης μέσα στο παραδοτέο. Οι open source βιβλιοθήκες ακολουθούν τις δικές τους άδειες. Οι υπηρεσίες τρίτων, όπως cloud, maps, email ή AI APIs, διέπονται από τους όρους των αντίστοιχων παρόχων.

Αν η σύμβαση δηλώνει απλώς ότι «ο πελάτης αποκτά όλο τον κώδικα», χωρίς αυτές τις εξαιρέσεις, μπορεί να υπόσχεται κάτι που τεχνικά ή νομικά δεν είναι δυνατό.

Τα δεδομένα του πελάτη

Η σύμβαση πρέπει να δηλώνει ότι τα επιχειρησιακά δεδομένα του πελάτη παραμένουν υπό τον έλεγχό του. Πρέπει να ορίζει πώς εισάγονται, πού αποθηκεύονται, ποιος έχει πρόσβαση, πώς δημιουργούνται αντίγραφα ασφαλείας και πώς εξάγονται μετά τη λήξη της συνεργασίας.

Για προσωπικά δεδομένα χρειάζεται επιπλέον καθορισμός ρόλων σύμφωνα με τον GDPR και, όπου ο πάροχος λειτουργεί ως εκτελών την επεξεργασία, κατάλληλο Data Processing Agreement. Η «ιδιοκτησία δεδομένων» δεν αντικαθιστά τις υποχρεώσεις προστασίας προσωπικών δεδομένων.

Τι πρέπει να παραδοθεί

Η πραγματική δυνατότητα συνέχισης ενός έργου απαιτεί περισσότερα από ένα zip με source code. Χρειάζονται πρόσβαση στο repository, οδηγίες εγκατάστασης, environment variables χωρίς αποκάλυψη μη μεταβιβάσιμων μυστικών, database schema, API documentation, λίστα εξαρτήσεων, deployment process, backup process και κατάλογος λογαριασμών τρίτων.

Πρέπει επίσης να οριστεί ποιος ελέγχει domain, cloud account, app store accounts, analytics, email services και signing keys. Όπου είναι εφικτό, κρίσιμοι λογαριασμοί πρέπει να ανήκουν στον πελάτη και ο πάροχος να αποκτά ελεγχόμενη πρόσβαση.

Πότε μεταβιβάζονται τα δικαιώματα

Μια συνήθης εμπορική λογική είναι η μεταβίβαση των συμφωνημένων δικαιωμάτων μετά την πλήρη εξόφληση. Αυτό πρέπει να είναι ρητό. Παράλληλα πρέπει να ορίζεται τι συμβαίνει αν το έργο διακοπεί πριν ολοκληρωθεί, ποια παραδοτέα έχουν πληρωθεί και ποιο δικαίωμα χρήσης αποκτά ο πελάτης για την εργασία που έχει ήδη παραδοθεί. Οι σχετικοί εμπορικοί όροι περιγράφονται στους Όρους και Προϋποθέσεις της Argonstack.

Vendor lock in και δικαίωμα εξόδου

Η εξάρτηση από τον πάροχο δεν είναι πάντα κακή. Κάθε σύνθετο σύστημα απαιτεί εξειδίκευση. Γίνεται όμως επικίνδυνη όταν ο πελάτης δεν μπορεί να πάρει δεδομένα, documentation ή πρόσβαση σε κρίσιμους λογαριασμούς.

Μια σοβαρή σύμβαση περιλαμβάνει exit plan. Ορίζει τη μορφή εξαγωγής, τον χρόνο παράδοσης, την περίοδο μετάβασης, το κόστος πρόσθετης υποστήριξης και τη διαγραφή αντιγράφων μετά τη λήξη των νόμιμων υποχρεώσεων διατήρησης.

Source code escrow

Σε κρίσιμα συστήματα μπορεί να συμφωνηθεί source code escrow. Ένα ενημερωμένο αντίγραφο κώδικα και τεκμηρίωσης φυλάσσεται από ανεξάρτητο μέρος και αποδεσμεύεται μόνο σε συγκεκριμένες περιπτώσεις, όπως παύση λειτουργίας του προμηθευτή ή σοβαρή αδυναμία υποστήριξης.

Το escrow δεν αντικαθιστά το documentation και τη σωστή αρχιτεκτονική. Αν το υλικό δεν ενημερώνεται ή δεν μπορεί να εγκατασταθεί, η ύπαρξή του έχει περιορισμένη αξία.

Τι πρέπει να ζητήσει ο πελάτης πριν υπογράψει

Ο πελάτης πρέπει να ζητήσει σαφή ορισμό των παραδοτέων, των δικαιωμάτων στον ειδικό κώδικα, των εξαιρέσεων, των αδειών τρίτων, της πρόσβασης στο repository, της ιδιοκτησίας λογαριασμών, της εξαγωγής δεδομένων, της τεκμηρίωσης, της συντήρησης και του exit plan.

Η Argonstack οργανώνει κάθε custom project με σαφές scope και τεχνική αρχιτεκτονική. Οι όροι κυριότητας και παράδοσης πρέπει να αποτυπώνονται στην ειδική σύμβαση του έργου και να αντανακλούν το πραγματικό μοντέλο συνεργασίας.

Επόμενο βήμα

Ορίστε scope, δικαιώματα, πρόσβαση και exit plan πριν αρχίσει η ανάπτυξη.

Συχνές ερωτήσεις

Αν πληρώσω την ανάπτυξη, μου ανήκει αυτόματα ο κώδικας;

Όχι απαραίτητα. Η πληρωμή και η μεταβίβαση δικαιωμάτων είναι διαφορετικά θέματα. Η σύμβαση πρέπει να ορίζει τι ακριβώς αποκτά ο πελάτης.

Μπορούν να μου ανήκουν open source βιβλιοθήκες;

Όχι με την έννοια της αποκλειστικής κυριότητας. Χρησιμοποιούνται σύμφωνα με τις άδειές τους. Ο πάροχος πρέπει να δηλώνει τις κρίσιμες εξαρτήσεις και τις αντίστοιχες υποχρεώσεις.

Πρέπει το cloud account να είναι στο όνομα του πελάτη;

Για κρίσιμη custom υποδομή είναι συχνά η ασφαλέστερη επιλογή, εφόσον υπάρχει σωστή διαχείριση προσβάσεων. Σε SaaS προϊόν δεν είναι συνήθως εφαρμόσιμο, επειδή η κοινή υποδομή ανήκει στον πάροχο.

Τι είναι πιο σημαντικό από τη φράση «ο κώδικας μου ανήκει»;

Η πραγματική δυνατότητα λειτουργίας, εξαγωγής δεδομένων, συντήρησης και μετάβασης. Χωρίς documentation, λογαριασμούς και deployment process, η θεωρητική κυριότητα μπορεί να έχει μικρή πρακτική αξία.

Επίσημη πηγή

Σχετικά άρθρα

Όλα τα άρθρα