Τα πλεονεκτήματα και τα μειονεκτήματα της ανάπτυξης λογισμικού ανοιχτού κώδικα

Είναι καιρός να δώσετε πίσω στους ανθρώπους που σας επιτρέπουν να χρησιμοποιήσετε το Διαδίκτυο!

Πολλοί προγραμματιστές λατρεύουν τα έργα ανοιχτού κώδικα και για καλό λόγο: τα χρησιμοποιούν καθημερινά για να επιταχύνουν την εργασία τους. Υπάρχουν πολλά επιτυχημένα παραδείγματα λύσεων λογισμικού ανοιχτού κώδικα, όπως το Linux (ένα λειτουργικό σύστημα) ή το React (μια βιβλιοθήκη JavaScript). Αυτές οι λύσεις είναι συχνά καλοσχεδιασμένες και είναι χαρά να συνεργαστούμε με αυτόν τον τύπο υψηλής ποιότητας κώδικα.

Λοιπόν, ας ρίξουμε μια πιο προσεκτική ματιά στο τι σημαίνει ανοιχτού κώδικα και ποια είναι τα πλεονεκτήματα και τα μειονεκτήματα για την εργασία με έργα ανοιχτού κώδικα

Τι είναι το Open Source;

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

Ο κώδικας ανοιχτού κώδικα γράφεται από προγραμματιστές και για προγραμματιστές.

Για την προστασία όλων των μερών που συμμετέχουν σε ανοιχτό κώδικα, ο κάτοχος του έργου μπορεί να χρησιμοποιήσει μια άδεια Creative Commons. Η άδεια Creative Commons (CC) επιτρέπει σε όλους να μοιράζονται, να χρησιμοποιούν και να βασίζονται στην εργασία σας.

Το λογισμικό ανοιχτού κώδικα είναι συνήθως ένα δωρεάν προϊόν λογισμικού, όπου οι προγραμματιστές έχουν πρόσβαση στον πηγαίο κώδικα. Μπορούν να βελτιώσουν την απόδοση του προγράμματος, να προσθέσουν ορισμένες δυνατότητες και να διορθώσουν σφάλματα. Μερικά παραδείγματα τέτοιων λογισμικών είναι τα LibreOffice, Mozilla Firefox και Chromium.

Αντίθετα, υπάρχει ιδιόκτητο λογισμικό , που ονομάζεται επίσης «λογισμικό κλειστής πηγής». Ο πηγαίος κώδικας ενός τέτοιου προγράμματος μπορεί να ελεγχθεί ή να τροποποιηθεί μόνο από τους ιδιοκτήτες του. Μερικά παραδείγματα ιδιόκτητου λογισμικού περιλαμβάνουν ορισμένα προϊόντα της Microsoft, της Adobe ή της Apple.

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

Τι είναι υπέροχο για την ανάπτυξη λογισμικού ανοιχτού κώδικα;

οφέλη ανοιχτού κώδικα

Προσωπικά προνόμια

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

Μην υποτιμάτε τη σημασία των προσωπικών παροχών - αυτά τα συναισθήματα ότι είναι χρήσιμα και αυτοεκπληρούμενα

Κοινοτική αναγνώριση

Επιστήμονες και γιατροί μοιράζονται την εμπειρία τους γράφοντας επιστημονικά άρθρα και συμμετέχοντας σε επιστημονικά συνέδρια. Οι σχεδιαστές UI / UX μοιράζονται την εμπειρία τους στο Behance ή το Dribbble. Οι συγγραφείς εκτυπώνουν τα βιβλία τους ή τα μοιράζονται μέσω διαδικτυακών πλατφορμών. Μουσικοί και κινηματογραφιστές μοιράζονται τη δουλειά τους με τον κόσμο μέσω διαφορετικών υπηρεσιών ροής. Γιατί οι προγραμματιστές λογισμικού θα ήταν διαφορετικοί και θέλουν να χάσουν την ευκαιρία να αποκτήσουν αναγνώριση;

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

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

Εδώ είναι μερικοί συμμετέχοντες στο Lviv Hacktoberfest.

ΑΥΤΟΔΙΑΦΗΜΙΣΗ

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

Γι 'αυτό η ανάπτυξη λογισμικού ανοιχτού κώδικα δημιουργεί μια τέλεια ευκαιρία διαφήμισης - μια win-win κατάσταση τόσο για προγραμματιστές όσο και για εταιρείες ανάπτυξης.

Αίσθηση αξίας

Δεν χρειάζεται να κρύψετε την αλήθεια: η εξουδετέρωση εργασίας πλήττει την εργασία των προγραμματιστών και τις στρατηγικές HR των προμηθευτών λογισμικού. Εάν είστε ιδιοκτήτης εταιρείας, παρακινώντας τους υπαλλήλους σας να συμμετάσχουν στην ανάπτυξη ανοιχτού κώδικα, τους δείχνετε ότι η εργασία τους έχει αξία. Όχι μόνο θα δουλεύουν στα εμπορικά σας έργα, αλλά θα προσφέρουν επίσης αξία στην ευρύτερη κοινότητα προγραμματιστών δουλεύοντας σε έργα ανοιχτού κώδικα.

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

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

Ποιότητα λογισμικού

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

Ακόμη και ο κώδικας που γράφεται από έναν μόνο προγραμματιστή είναι συχνά υψηλότερης ποιότητας εάν είναι ανοιχτού κώδικα. Εάν γράψετε κώδικα που μόνο εσείς ή οι στενοί σας συνεργάτες θα δείτε, ίσως να μην σας ενδιαφέρει πολύ το στυλ κώδικα. Αλλά αν γράψετε κώδικα που όλοι μπορούν να δουν, θα κάνετε ό, τι δεν μπορείτε να μοιάζετε με έναν κώδικα πιθήκου. Οι κριτικές, οι συνεισφορές και η αναδιαμόρφωση από την κοινότητα είναι χρήσιμες εδώ.

Ασφάλεια δεδομένων

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

Με τη σειρά του, εάν υπάρχει ένα ελάττωμα ασφαλείας σε ένα ιδιόκτητο προϊόν λογισμικού, κανείς δεν πρόκειται να ξέρει έως ότου κάποιος πέσει θύμα της απειλής που θέτει.

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

Προσαρμογή

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

Για παράδειγμα, το Apache CloudStack είναι ένα λογισμικό ανοιχτού κώδικα που διευκολύνει το cloud computing. Ένα άλλο παράδειγμα είναι η πλατφόρμα ανοιχτού κώδικα Botpress, η οποία επιτρέπει στους προγραμματιστές να δημιουργούν εύκολα προσαρμοσμένα chatbots. Οι προγραμματιστές της KeenEthics που είναι συνεισφέροντες της Botpress αισθάνονται ενθουσιασμένοι όταν μπορούν να κάνουν τη ζωή κάποιου άλλου απλούστερη.

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

Σεργκέι Γκορνοστάιφ

Τι δεν είναι υπέροχο για την ανάπτυξη λογισμικού ανοιχτού κώδικα;

μειονεκτήματα ανοιχτού κώδικα

Εσφαλμένη επικοινωνία και παρεξηγήσεις

Μπορείτε να περιμένετε αιτήματα για βελτίωση του προϊόντος σας ή για βοήθεια σε κάτι, αλλά ίσως χρειαστεί να αντιμετωπίσετε διαφορετικά είδη ανθρώπων. Μερικοί μπορεί να περιμένουν από εσάς να απαντήσετε στα αιτήματά τους 24/7. Άλλοι ενδέχεται να ανοίξουν PRs βελτιώνοντας το προϊόν σας, αλλά θα πρέπει να εξηγήσετε τους κανόνες για το πώς πρέπει να προετοιμάζονται τα πράγματα και πώς συγχωνεύονται στην κύρια γραμμή.

Στο τέλος, δεν υπάρχει καμία εγγύηση ότι οι κοινοτικές συνεισφορές δεν θα είναι χαμηλότερης ποιότητας. Γι 'αυτό υπάρχει μεγάλη πιθανότητα να καταλήξετε να αναδιαμορφώσετε τον κωδικό κάποιου και να αφήσετε τους ανθρώπους απογοητευμένους από το να μην συγχωνεύσουν τις αλλαγές τους.

Η απειλή για την βασική επιχειρηματική αξία

Δεν πρέπει ποτέ να ανοίγετε οτιδήποτε έχει βασική αξία για την επιχείρησή σας. Εάν υπάρχει ένα εμπορικό μυστικό - μια ιδέα ή ένας τρόπος εφαρμογής του που κάνει την επιχείρησή σας μοναδική, δεν πρέπει να την ανοίξετε πηγαία ώστε να μην είναι διαθέσιμη για τους ανταγωνιστές σας. Ωστόσο, εάν έχετε ιδέες και εργαλεία που μπορούν να χρησιμοποιηθούν από το κοινό χωρίς απώλεια για την επιχείρησή σας - ανοίξτε τις.

Γιατί το Open Source είναι το σωστό πράγμα

Εάν είστε χρήστης του Διαδικτύου (και σίγουρα είστε), αναπόφευκτα χρησιμοποιείτε ένα απίστευτο ποσό ανοιχτού κώδικα ελεύθερου λογισμικού. Οι εφευρέτες του Διαδικτύου σχεδίασαν ένα τεράστιο μερίδιο ως έργα ανοιχτού κώδικα και όποιος το χρησιμοποιεί σήμερα αποκομίζει τους καρπούς της προσπάθειάς τους. Για παράδειγμα, το cloud computing βασίζεται σε μεγάλο βαθμό σε συνεισφορές ανοιχτού κώδικα.

Εκτός αυτού, μια έρευνα των Tidelift και The New Stack αναφέρει ότι το 84% των προγραμματιστών λογισμικού χρησιμοποιούν ανοιχτό κώδικα στην επαγγελματική τους ρουτίνα. Αξιοποιώντας την εμπειρία και τη γνώση κάποιου άλλου, γιατί δεν μοιράζεστε τη δική σας;

Εάν απολαμβάνουμε τα οφέλη του ανοιχτού κώδικα, το να κάνουμε πίσω στην κοινότητα είναι το σωστό.

Συμμετέχετε στην ανάπτυξη ανοιχτού κώδικα!

Πώς να αρχίσω? Ανοίξτε το αποθετήριο GitHub στο κοινό και ενημερώστε τον κόσμο για αυτό μέσω του ιστολογίου σας, των κοινωνικών μέσων ή των φόρουμ προγραμματιστών. Εγγραφείτε στο Hacker News, καθώς υπάρχουν πολλοί συνεισφέροντες ανοιχτού κώδικα.

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

Έχετε μια ιδέα για ένα έργο;

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

Εάν σας άρεσε το άρθρο, θα πρέπει σίγουρα να διαβάσετε ένα άλλο: Agile Testing: Πώς να εξασφαλίσετε λογισμικό υψηλής ποιότητας.

ΥΣΤΕΡΟΓΡΑΦΟ

Θα ήθελα επίσης να πω ευχαριστώ στον Alex Pletnov, CTO @ KeenEthics, για την έμπνευση και τη συμβολή σας στο άρθρο.

Το αρχικό άρθρο που δημοσιεύτηκε στο blog KeenEthics βρίσκεται εδώ: Τι είναι υπέροχο για την ανάπτυξη ανοιχτού κώδικα και τι δεν είναι;