Το Beekeeper Studio κυκλοφόρησε το 2020 ως ένα 100% δωρεάν και open source project.
Περάσαμε 8 μήνες από βράδια και Σαββατοκύριακα φτιάχνοντας εκείνη την πρώτη έκδοση. Είχαμε βγάλει κι άλλες εφαρμογές στο παρελθόν που δεν χρησιμοποίησε κανείς, αλλά το Beekeeper ήταν διαφορετικό - μόλις το κυκλοφορήσαμε και αρχίσαμε να το μοιραζόμαστε, ο κόσμος ενδιαφέρθηκε και άρχισε να το κατεβάζει και να το χρησιμοποιεί.
Το ενδιαφέρον ήταν τόσο μεγάλο που βρεθήκαμε στην πρώτη σελίδα του Hacker News· το είχαμε δημοσιεύσει νωρίτερα εκείνη τη μέρα χωρίς να του δώσουμε ιδιαίτερη σημασία, και μέσα σε λίγες ώρες είχαμε χιλιάδες πρώτους χρήστες.
Μετά όμως ήρθε το δύσκολο κομμάτι - να συντηρείς και να βελτιώνεις μια πραγματική εφαρμογή, που τη χρησιμοποιούν πραγματικοί άνθρωποι….για πόσο καιρό; Χρόνια; Δεκαετίες;
Το νεκροταφείο του open source
Τα περισσότερα projects/εφαρμογές/επιχειρήσεις τελικά αποτυγχάνουν και πεθαίνουν. Αυτό δεν αφορά μόνο τα open source projects, αλλά στο open source είναι πιο έντονο. Άλλωστε, τα περισσότερα open source projects προορίζονται εξαρχής να είναι δωρεάν. Αυτό είναι σοβαρό εμπόδιο για να γίνει ένα project βιώσιμο.
Για την ακρίβεια, φτιάξαμε το Beekeeper Studio επειδή ένα πολυαγαπημένο εργαλείο, το Sequel Pro, εγκαταλείφθηκε, παρόλο που ήταν η καλύτερη εφαρμογή βάσεων δεδομένων που είχα χρησιμοποιήσει ποτέ.
Ποιος ήθελε να πεθάνει το SequelPro; Σίγουρα όχι εγώ. Σίγουρα όχι οι χιλιάδες άλλοι που το χρησιμοποιούσαν καθημερινά. Εγώ ήθελα το αντίθετο - ήθελα να το χρησιμοποιώ σε Linux και με PostgreSQL.
Θα πλήρωνα ευχαρίστως γι' αυτό. Τι απίστευτη εφαρμογή, αλλά δυστυχώς δεν υπάρχει πια.
Την ίδια μοίρα είχαν πολλές, πολλές, άλλες, παρόμοιες εφαρμογές.
Γιατί πεθαίνουν τα καλά projects
Γιατί τα άλλα εργαλεία πέθαναν, ενώ το Beekeeper Studio συνεχίζει ακάθεκτο; Η απλή απάντηση είναι χρήμα και χρόνος.
Με το χρήμα εννοώ κυρίως χρόνο, αλλά ξέρεις, ο χρόνος είναι χρήμα (εδώ γουρλώνεις τα μάτια). Οπότε η απάντηση είναι χρόνος και κι άλλος χρόνος ή χρήμα και κι άλλο χρήμα, όπως θέλεις να το δεις.
Το να φτιάχνεις λογισμικό είναι δύσκολο. Το να φτιάχνεις καλό λογισμικό είναι ακόμα πιο δύσκολο. Και είναι αργό. Θέλει πολύ χρόνο και κόπο, ακόμα και με τη βοήθεια ενός LLM. Σοβαρά - ΠΟΛΥ χρόνο. Δεν μπορώ να τονίσω αρκετά πόσο χρόνο απαιτεί. Ανέφερα ότι θέλει πολύ χρόνο;
Απλώς δεν γίνεται να συντηρείς ένα δημοφιλές και ενεργό open source project μόνος σου, βράδια και Σαββατοκύριακα, χωρίς χρηματοδότηση, για χρόνια ολόκληρα. Ακόμα και η διαχείριση των issues και των pull requests είναι δουλειά πλήρους απασχόλησης.
Προσεγγίσεις για βιώσιμο open source
Υπάρχουν διάφοροι τρόποι για να γίνει ένα open source project βιώσιμο. Μεγάλα, κομβικά projects όπως το Vue.js είναι αρκετά προβεβλημένα ώστε να στηρίζονται από δωρεές. Άλλα μεγάλα projects όπως το React χρηματοδοτούνται εξ ολοκλήρου από έναν εταιρικό χορηγό που πληρώνει απευθείας τους developers.
Στην εμπορική πλευρά, μεγάλα λογισμικά υποδομής όπως το Kafka και το Trino κυριαρχούν ως projects «open source core»· ο πυρήνας του συστήματος είναι ανοιχτός, αλλά πουλάνε ένα σωρό επιπλέον λειτουργίες για να το κάνουν χρήσιμο στις επιχειρήσεις. Αυτός ο δρόμος συνήθως απαιτεί να συγκεντρώσεις πολλά χρήματα και να στοχεύσεις ψηλά για να γίνεις startup unicorn. Δυστυχώς, αυτή η προσέγγιση λειτουργεί μόνο αν το project σου έχει ήδη καταφέρει να γίνει πρότυπο του κλάδου και να υιοθετηθεί μαζικά από εκατομμύρια developers.
Το Kafka χρηματοδοτούνταν και συντηρούνταν από μια εσωτερική ομάδα του LinkedIn για χρόνια, πριν αποσχιστεί και γίνει αυτόνομη επιχείρηση.
Αυτή η προσέγγιση μπορεί να λειτουργήσει και για βιβλιοθήκες components όπως το AG-Grid, αν και σε μικρότερη κλίμακα. Ακόμα κι έτσι, η βιβλιοθήκη πρέπει να γίνει κάτι σαν πρότυπο.
Μικρότερες εφαρμογές όπως το Beekeeper Studio έχουν λιγότερες επιλογές. Τα έσοδά μας από δωρεές έφτασαν το πολύ τα $30/μήνα, παρόλο που ξεπεράσαμε το ένα εκατομμύριο λήψεις. Επίσης δεν είμαστε «πρότυπο του κλάδου» σε τίποτα· είμαστε μια εφαρμογή που τη χρησιμοποιούν άνθρωποι, όχι μια μηχανή επεξεργασίας events που τρέχει σε server.
Το μοντέλο μας είναι να πουλάμε λογισμικό που θέλει ο κόσμος
Το να πουλάς κάτι χρήσιμο, για το οποίο ο κόσμος είναι διατεθειμένος να πληρώσει, είναι ένα απλό μοντέλο εσόδων, και είναι αυτό που υιοθετήσαμε για το Beekeeper Studio.
Πιστεύω ότι αυτός είναι ο πιο καθαρός και απλός τρόπος να κρατήσεις ένα project βιώσιμο, μένοντας παράλληλα προσανατολισμένος στον χρήστη - πουλώντας επιπλέον λειτουργίες σε όσους είναι διατεθειμένοι να πληρώσουν γι' αυτές.
Παρ' όλα αυτά, είναι αδύνατο να αγνοήσεις την ειρωνεία ότι ο καλύτερος τρόπος να μείνει η εφαρμογή μας δωρεάν και ανοιχτή είναι να κλειδώσουμε κάποια κομμάτια και να χρεώνουμε γι' αυτά. Είναι πραγματικά δύσκολη ισορροπία. Από τη μία πρέπει να μην αδικούμε την κοινότητα του open source, και από την άλλη η επί πληρωμή έκδοση πρέπει να είναι αρκετά καλή ώστε να πληρώνει τους λογαριασμούς.
Είναι και αργό (ανέφερα ότι το καλό λογισμικό θέλει πολύ χρόνο;): λανσάραμε τις πρώτες επί πληρωμή λειτουργίες το 2022, κι όμως δεν μπόρεσα να ασχοληθώ με το project με πλήρη απασχόληση μέχρι το 2026, ολόκληρα 4 χρόνια αργότερα.
Ευτυχώς αυτή η προσέγγιση έχει προηγούμενο: εξαιρετικό open source λογισμικό όπως το Sidekiq του Mike Perham χρησιμοποιεί αυτό το μοντέλο με μεγάλη επιτυχία, χωρίς να αποξενώνει την κοινότητα.
Μένουμε ειλικρινείς
Μέχρι στιγμής η προσέγγισή μας δουλεύει. Είμαστε μια κερδοφόρα επιχείρηση, αλλά παραμένουμε και ένα open source project της κοινότητας που προσελκύει πραγματική συμμετοχή και συνεισφορές. Μάλιστα κάνουμε διαθέσιμο τον κώδικα των εμπορικών μας λειτουργιών, ακόμα κι αν δεν είναι πλήρως open source.
Εννοούμε ειλικρινά ότι θέλουμε το Beekeeper Studio να μένει όσο πιο ανοιχτό και προσβάσιμο γίνεται. Για παράδειγμα, προσπαθούμε τακτικά να κάνουμε επί πληρωμή λειτουργίες δωρεάν, δεν αφαιρούμε ποτέ δωρεάν λειτουργίες αφού κυκλοφορήσουν, και κάνουμε όλες τις λειτουργίες που συνεισφέρει η κοινότητα δωρεάν και ανοιχτές, ακόμα κι όταν θα προτιμούσαμε να χρεώνουμε γι' αυτές.
Η καλύτερη επιλογή
Πιστεύω ότι η προσέγγισή μας στη βιωσιμότητα του project είναι η σωστή ισορροπία για εμάς, και μας δίνει κάποιες υπερδυνάμεις, όπως ένα παράλογα ισχυρό community edition.
Είμαστε εδώ για το μακρινό μέλλον. Μέχρι τότε, ελπίζω να απολαμβάνεις τη χρήση του λογισμικού μας όσο απολαμβάνουμε κι εμείς να το φτιάχνουμε.
