Το λήμμα δεν περιέχει πηγές ή αυτές που περιέχει δεν επαρκούν.Μπορείτε να βοηθήσετε προσθέτοντας την κατάλληλη τεκμηρίωση. Υλικό που είναι ατεκμηρίωτο μπορεί να αμφισβητηθεί καινα αφαιρεθεί. Η σήμανση τοποθετήθηκε στις 2022/07/25.
Παρακλάδι (αγγλ. fork) στηνπληροφορική ονομάζεται ένα έργο λογισμικού το οποίο προήλθε αρχικά από ένα άλλο έργο, ωστόσο έχει τροποποιηθεί στην πορεία και αναπτύσσεται ως ένα ξεχωριστό εγχείρημα.
Ένα παρακλάδι δημιουργείται όταν οι προγραμματιστές παίρνουν ένα αντίγραφο τουπηγαίου κώδικα ενός πακέτου λογισμικούκαι ξεκινούν την ανεξάρτητη ανάπτυξή του, δημιουργώντας ένα ξεχωριστό έργο λογισμικού. Ο όρος συχνά υπονοεί όχι απλώς έναν κλάδο ανάπτυξης, αλλά καιμια διάσπαση στην κοινότητα προγραμματιστών. Οι λόγοι που μπορούν να οδηγήσουν στη δημιουργία παρακλαδιού είναι οι διαφορές στις προτιμήσεις των χρηστών καιη στασιμότητα ή διακοπή ανάπτυξης του αρχικού λογισμικού.
Ελεύθερο λογισμικό ανοιχτού κώδικα είναι αυτό που, εξ ορισμού, προσφέρεται γιατη δημιουργία παρακλαδιών χωρίς να απαιτείται κάποια άδεια και χωρίς να παραβιάζεται η νομοθεσία περί πνευματικών δικαιωμάτων . Ωστόσο, αδειοδοτημένα παρακλάδια εμπορικού λογισμικού (π.χ.Unix ) μπορούν επίσης να δημιουργηθούν.
Στοελεύθερο λογισμικό, τα παρακλάδια προκύπτουν συχνά από διαφωνίες για τους διαφορετικούς στόχους ανάπτυξης ή λόγω προσωπικών συγκρούσεων. Σε περίπτωση δημιουργίας παρακλαδιού, καιτα δύο μέρη υποθέτουν σχεδόν πανομοιότυπο πηγαίο κώδικα, αλλά συνήθως μόνο η μεγαλύτερη αριθμητικά ομάδα ή η ομάδα που έχει τον έλεγχο της ιστοσελίδαςτου εγχειρήματος θα διατηρήσει το πλήρες αρχικό όνομα καιτη σχετική κοινότητα χρηστών. Ως εκ τούτου, υπάρχει μια ποινή γιατη φήμη του εγχειρήματος που οφείλεται στο εκάστοτε παρακλάδι. Η σχέση μεταξύ των διαφορετικών ομάδων ανάπτυξης μπορεί να είναι εγκάρδια ή πολύ πικρή. Από την άλλη πλευρά, ένα φιλικό παρακλάδι ή ένα επιφανειακό παρακλάδιδεν σκοπεύει να ανταγωνιστεί μετο πρωτότυπο εγχείρημα, αλλά έχει ως τελικό σκοπό να συγχωνευτεί με αυτό.
ΟΈρικ Ρέιμοντ, στο δοκίμιό τουHomesteading the Noosphere, δήλωσε ότι "Τοπιο σημαντικό χαρακτηριστικό ενός παρακλαδιού είναι ότι δημιουργεί ανταγωνιστικά έργα πουδεν μπορούν αργότερα να ανταλλάξουν κώδικα, διχάζοντας την δυνητική κοινότητα των προγραμματιστών".[1]
Τα εργαλεία ελέγχου κατανεμημένης αναθεώρησης (DVCS) έχουν διαδώσει μια λιγότερο συναισθηματική χρήση του όρου "παρακλάδι", θολώνοντας τη διάκριση μετην έννοια του κλάδου. Με ένα DVCS όπως τοMercurial ή τοGit, ο κανονικός τρόπος γιανα συνεισφέρει κανείς σε ένα έργο είναι να δημιουργήσει πρώτα ένα προσωπικό κλάδο του αποθετηρίου, ανεξάρτητο από τον κύριο χώρο αποθήκευσης, και αργότερα να επιδιώξει να ενσωματώσει εκεί τις αλλαγές που έκανε. Διαδικτυακές πλατφόρμες, όπως τοGitHub, τοBitbucketκαιτοLaunchpad παρέχουν δωρεάν φιλοξενία DVCS που υποστηρίζει ανεξάρτητους κλάδους. Έτσι, τα τεχνικά, κοινωνικά και οικονομικά εμπόδια γιατη διοχέτευση ενός αποθετηρίου πηγαίου κώδικα μειώνονται σημαντικά.
Ένα παρακλάδι συχνά επανεκκινεί τηναρίθμηση των εκδόσεων από 0.1 ή 1.0, ακόμα κιαντο αρχικό λογισμικό ήταν στην έκδοση 3.0, 4.0 ή 5.0. Μια εξαίρεση είναι όταν το παρακλάδι έχει δημιουργηθεί με στόχο να αντικαταστήσει το αρχικό έργο, π.χτοMariaDBγιατοMySQLκαιτοLibreOfficeγιατοOpenOffice.org.
Οιάδειες BSD επιτρέπουν στα παρακλάδια να γίνουν εμπορικό λογισμικό. Οι υποστηρικτές τουcopyleft ισχυρίζονται ότι τα εμπορικά κίνητρα καθιστούν την εμπορικοποίηση του εγχειρήματος σχεδόν αναπόφευκτη. Παραδείγματα αποτελούν τοmacOS (βασισμένο στο εμπορικό NeXTSTEPκαιτοFreeBSD ανοιχτού κώδικα), τα Cedega και CrossOver (εμπορικά παρακλάδια τουWine, ανκαιτο CrossOver παρακολουθεί το εγχείρημα Wine και συνεισφέρει σημαντικά σε αυτό), το EnterpriseDB (ένα παρακλάδι τουPostgreSQLπου προσθέτει χαρακτηριστικά συμβατότητας με τις βάσεις δεδομένων Oracle). Μερικά από αυτά τα εγχειρήματα προσφέρουν τις αλλαγές τους στο πρωτότυπο έργο, ενώ κάποια διατηρούν τις αλλαγές τους ως δικά τους ανταγωνιστικά πλεονεκτήματα.
Στοεμπορικό λογισμικό, τα πνευματικά δικαιώματα κατέχονται συνήθως από την εταιρεία και όχι από μεμονωμένους προγραμματιστές λογισμικού. Επομένως, ο ιδιόκτητος/εμπορικός κώδικας αποκτά συνήθως παρακλάδια όταν ο κάτοχος χρειάζεται να αναπτύξει δύο ή περισσότερες εκδόσεις του ίδιου λογισμικού, όπως μιαγραφική έκδοση καιμια έκδοση γραμμής εντολών, ή εκδόσεις για διαφορετικές πλατφόρμες, όπως για μηχανές συμβατές μεIBM PCκαιγια υπολογιστές Macintosh. Γενικά, τέτοια εσωτερικά παρακλάδια επιδιώκουν να έχουν την ίδια εμφάνιση, αίσθηση, μορφή δεδομένων και συμπεριφορά μεταξύ των πλατφορμών, έτσι ώστε ένας χρήστης που είναι εξοικειωμένος μετη μία έκδοση να μπορεί επίσης να είναι παραγωγικός ή να μοιράζεται έγγραφα που δημιουργούνται στην άλλη. Αυτή είναι σχεδόν πάντα μια οικονομική απόφαση γιατη δημιουργία μεγαλύτερου μεριδίου αγοράςκαι, συνεπώς, την αποπληρωμή του σχετικού επιπλέον κόστους ανάπτυξης που δημιουργείται από το παρακλάδι.
Ένα αξιοσημείωτο παράδειγμα παρακλαδιών πουδεν είναι αυτού του είδους είναι οι πολλές ποικιλίες του λειτουργικού συστήματος κλειστού κώδικα Unix. Σχεδόν όλες προέρχονται από την έκδοση AT&T Unix, δημιουργήθηκαν κατόπιν άδειας και ονομάστηκαν "Unix", αλλά μεταξύ τους όλα αυτά τα παρακλάδια του Unix είναι ολοένα και περισσότερο ασύμβατα.