Open Source Software Resilience and Epistemic Analysis
Creators: name: Κρητικός, Απόστολος K.
Publisher: name: Aristotle University of Thessaloniki
Year: 2023
Subjects: Μηχανική Λογισμικού
Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα
Ανθεκτικότητα Λογισμικού
Μοντέλα Αξιολόγησης Λογισμικού
Software Engineering
Free / Open Source Software
Software Resilience
Software Assessment Models

description: Για περισσότερα από είκοσι χρόνια, το Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα (ΕΛ/ΛΑΚ) έχει εξελιχθεί σημαντικά. Άνοιξε το δρόμο για λύσεις επιχειρήσεων που απέκτησαν παγκόσμια απήχηση και προσέλκυσαν το ενδιαφέρον της Βιομηχανίας. Σε όλο αυτό το διάστημα, έχουν εμφανιστεί πληθώρα μοντέλων αξιολόγησης λογισμικού, τα οποία επικεντρώνονται σε διαφορετικές πτυχές του, όπως η ποιότητα του λογισμικού, η υγεία της κοινότητας, η διακυβέρνηση, οι αδειοδοτήσεις και άλλα. Ορισμένα από αυτά είναι ειδικά διαμορφωμένα για τα έργα ΕΛ/ΛΑΚ. Παρόλα αυτά, ένα καθολικά αποδεκτό μοντέλο αξιολόγησης για το ΕΛ/ΛΑΚ παραμένει ανέφικτο. Στην παρούσα έρευνα, σκοπεύουμε να προσαρμόσουμε το Πλαίσιο Ανθεκτικότητας των Πόλεων (City Resilience Framework, CRF), ένα πλαίσιο από την περιοχή της Αστικής Ανθεκτικότητας, στα έργα ΕΛ/ΛΑΚ, με στόχο να ενισχύσουμε τη θεωρητική βάση της αξιολόγησης του ΕΛ/ΛΑΚ, επικεντρώνοντας στην ανθεκτικότητα καθώς τα έργα ωριμάζουν. Είναι σημαντικό να σημειώσουμε ότι η πρόθεσή μας δεν είναι να τοποθετήσουμε δίπλα-δίπλα δύο οντότητες ΕΛ/ΛΑΚ ή να τις κατατάξουμε με βάση την ανθεκτικότητα. Αρχικά σχεδιασμένο για να μετρήσει την ανθεκτικότητα των εξελισσόμενων πόλεων, το CRF εμφανίζει εννοιολογικές ομοιότητες με τα έργα ΕΛ/ΛΑΚ. Υποστηρίζουμε ότι ένα μοντέλο αξιολόγησης με επίκεντρο την ανθεκτικότητα μπορεί να συμπληρώσει τα υπάρχοντα μοντέλα που επικεντρώνονται στην ποιότητα και την υγεία του λογισμικού. Η άποψή μας είναι ότι όπως μια πόλη έτσι και ένα έργο ΕΛ/ΛΑΚ παρουσιάζει δυναμική εξέλιξη. Το προτεινόμενο πλαίσιο ενσωματώνει αρμονικά ποσοτικές και ποιοτικές μετρήσεις, επιτρέποντας έτσι την συνεισφορά εμπειρικής γνώσης από εμπειρογνώμονες. Προκειμένου να μπορέσουμε να πειραματιστούμε με το πλαίσιο μας σε πραγματικά δεδομένα, δηλαδή σε έργα Λογισμικού Ανοικτού Κώδικα, παρουσιάζουμε ένα εργαλείο που χρησιμοποιεί μια σειρά από μετρήσεις που στοχεύουν στην εφαρμογή του προτεινόμενου μοντέλου αξιολόγησης ανθεκτικότητας λογισμικού σε αυτό το διδακτορικό έργο, σε έργα ανοικτού κώδικα λογισμικού. Το εργαλείο λειτουργεί με όλες τις διαστάσεις του έργου, δηλαδή τις δομικές πτυχές, επικεντρώνοντας κυρίως στον πηγαίο κώδικα, τις περιπλοκές των επιχειρηματικών και νομικών σκέψεων, τις πτυχές της ένταξης και τη ζωντανή κοινωνική δυναμική που εκπροσωπείται από την κοινότητα του έργου. Συνολικά, δοκιμάσαμε αυτό το πλαίσιο στον τομέα του λογισμικού για επιχειρήσεις, αξιολογώντας σημαντικές εκδόσεις έξι έργων ΕΛ/ΛΑΚ, συμπεριλαμβανομένων των Laravel, Composer και PHPMyAdmin. Τα αρχικά μας ευρήματα υπογραμμίζουν τη δυνατότητα του πλαισίου να διακρίνει έργα ανθεκτικά έργα από άλλα που είναι μη ανθεκτικά. Ένα από τα χαρακτηριστικά που διακρίνουν το εργαλείο μας είναι η δυνατότητά του να διασυνδέεται με το απωθετήριο πηγαίου κώδικα, Github. Αυτή η ενσωμάτωση επιτρέπει στο εργαλείο να εξάγει αυτόματα μια πληθώρα μετρήσεων, διασφαλίζοντας ότι η διαδικασία αξιολόγησης είναι ταυτόχρονα αποτελεσματική και εξαντλητική. Ωστόσο, αναγνωρίζοντας τις περίπλοκες πτυχές που συχνά υπονοούνται στα έργα ΕΛ/ΛΑΚ, υπάρχει προβλεπόμενη δυνατότητα για χειροκίνητη εισαγωγή. Οι ειδικοί, με τη βαθιά τους κατανόηση των λεπτομερειών του έργου, μπορούν να προσφέρουν πρόσθετες πληροφορίες και δεδομένα, διασφαλίζοντας μια ολοκληρωμένη ανάλυση. Μέσω αυτής της αυτοματοποιημένης απόκτησης δεδομένων και εισαγωγής από ειδικούς, το εργαλείο μας στοχεύει σε μια βαθύτερη εξερεύνηση της ανθεκτικότητας ενός έργου ΕΛ/ΛΑΚ. Εξετάζουμε περαιτέρω μια ακόμη εφαρμογή που θεωρούμε κατάλληλη για την Ανθεκτικότητα του Λογισμικού Ανοικτού Κώδικα. Πρόκειται για μια προσπάθεια να μεταφράσουμε την ανθεκτικότητα που προστίθεται σε ένα ΕΛ/ΛΑΚ μετά από μια συνεισφορά κώδικα, σε μια εικονική ανταμοιβή, που πιστώνεται μέσω blockchain στον χρήστη που συνεισέφερε τον κώδικα. Η ταχεία εξάπλωση των έργων ΕΛ/ΛΑΚ έχει οδηγήσει σε πληθώρα δεδομένων προσβάσιμων σε μηχανικούς λογισμικού και άτομα που ενδιαφέρονται να μελετήσουν ή να συμμετάσχουν σε τέτοια έργα. Αυτή η διαπίστωση υπογραμμίζει την αυξανόμενη ανάγκη για κριτική ανάλυση και επιβεβαίωση της εγγενούς αξίας ενός έργου ΕΛ/ΛΑΚ μέσα από την επιστημολογική σκοπιά. Ιστορικά, τα έργα ΕΛ/ΛΑΚ εξυπηρετούν ως πλατφόρμες για την εκμάθηση προγραμματισμού και την καλλιέργεια δεξιοτήτων από μηχανικούς λογισμικού. Πιστεύουμε ότι, μελετώντας σε βάθος τους διαλόγους που συμβαίνουν μεταξύ των μηχανικών λογισμικού, μπορούμε να ανακαλύψουμε νέα γνώση για την καλύτερη αξιολόγηση των προσπαθειών ΕΛ/ΛΑΚ. Στην στην προσπάθειά μας αυτή, χρησιμοποιούμε την έννοια των επιστημονικών πλαισίων για να εκτελέσουμε Επιστημολογική Ανάλυση Δικτύων (ENA). Έχουμε κωδικοποιήσει συζητήσεις από δύο κορυφαίες πλατφόρμες ΕΛ/ΛΑΚ, το LibreOffice και το OpenOffice. Χρησιμοποιώντας το εργαλείο ENA WebKit online, όχι μόνο αναλύσαμε αυτούς τους διαλόγους, αλλά επίσης συγκρίναμε οπτικά τις δομές των δικτύων διαφορετικών μονάδων δεδομένων. Οι εμπειρικές μας έρευνες κάλυψαν τις μέσες δομές δικτύου και των δύο έργων, τα δίκτυα που σχετίζονται με σφάλματα, και διαλόγους επιλεγμένων μηχανικών λογισμικού που συμμετέχουν ενεργά σε συζητήσεις. Τα ευρήματά μας φωτίζουν το επιστημονικό βάθος αυτών των αλληλεπιδράσεων, επισημαίνοντας περαιτέρω την παιδαγωγική τους σημασία.
description: For over twenty years, Open Source Software (OSS) has evolved significantly. It paved the way for enterprise solutions that gained traction globally and attracted attention from major industry stakeholders. Over the years, a plethora of software evaluation models have emerged, emphasizing on different aspects like software quality, community health, governance, licensing and so forth. Some of them are specifically tailored for OSS projects. However, a universally endorsed assessment model for OSS remains elusive. In this research, we aim to adapt the City Resilience Framework (CRF), a framework from the Urban Resilience discipline, for OSS projects, aiming to fortify the theoretical underpinning of OSS assessment, with a focus on resilience as projects mature. It’s crucial to note that our intention isn’t to juxtapose two OSS entities or rank them based on resilience. Originally conceived to gauge the resilience of evolving cities, the CRF provides an intriguing parallel to OSS projects. We posit that a resilience-centric evaluation model can augment existing models centered on software quality and health. Our perspective is that both cities and OSS projects exhibit dynamic evolution, bearing conceptual similarities. Our advocated framework seamlessly integrates quantitative and qualitative metrics, enhancing its appeal. In order to be able to experiment with our framework on real data, meaning in Open Source Software projects, we introduce a tool that employs a suite of metrics that aim to apply the proposed software resilience assessment model in this PhD work, to open source software projects. The tool work with all the dimensions of the project, meaning the structural aspects, primarily focusing on the source code, the intricacies of business and legal considerations, the facets of integration, and the vibrant social dynamics represented by the project’s community. In culmination, we’ve put this framework to the test within the enterprise software realm, assessing significant versions of six OSS projects, including Laravel, Composer, and PHPMyAdmin. Our initial findings underscore the framework’s potential to differentiate between projects with varying resilience levels. One of the distinguishing features of our tool is its ability to integrate with Github repositories. This integration allows the tool to automatically extract a wealth of metrics, ensuring that the evaluation process is both efficient and comprehensive. However, recognizing the nuanced complexities that often underlie OSS projects, there’s provision for manual input. Experts, with their profound understanding of the project’s intricacies, can provide additional insights and data points, ensuring a well-rounded and thorough analysis. Through this symbiosis of automated data acquisition and expert input, our tool aims to a robust and in-depth exploration of OSS project resilience. We further explore another application we find suitable to Open Source Software Resilience. It is the translation of the resilience added to an OSS after a commit, to virtual tokens, acredited via blockchain to the user that provided the commit. The swift proliferation of OSS projects has resulted in a surge of data accessible to software engineers and individuals keen on contributing to such projects. This influx underscores the growing necessity to critically analyze and ascertain the inherent value of an OSS project from a knowledge-centric perspective. Historically, OSS projects have served as platforms for mastering programming and honing software engineering skills. Yet, there’s an increasing demand for tangible proof regarding the scientific merits embedded in these projects. We believe that by immersing ourselves in the dialogues shared by software engineers within these community-driven projects and extrapolating insights, we can unearth a novel paradigm for evaluating OSS endeavors. In our exploration, we are utilizing the concept of epistemic frames to perform Epistemic Network Analysis (ENA). We have coded discussions from two prominent OSS platforms, LibreOffice and OpenOffice. Utilizing the ENA WebKit online tool, we not only dissected these dialogues, but also visually contrasted the network structures of disparate data units. Our empirical investigations spanned across the average network structures of both projects, bug-associated networks, and dialogues of select software engineers actively engaged in discussions. Our findings shed light on the epistemic depth of these interactions, further illuminating their pedagogical significance.