Τέσσερις καλές πρακτικές για την ανάπτυξη λογισμικού στην Ανοιχτή Επιστήμη. Φώτης Ε. Ψωμόπουλος, Ερευνητής Γ ΙΝΕΒ ΕΚΕΤΑ

Σχετικά έγγραφα
Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Προσωπική Aνάπτυξη. Ενότητα 2: Διαπραγμάτευση. Juan Carlos Martínez Director of Projects Development Department

«ΑΓΡΟΤΟΥΡΙΣΜΟΣ ΚΑΙ ΤΟΠΙΚΗ ΑΝΑΠΤΥΞΗ: Ο ΡΟΛΟΣ ΤΩΝ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΤΗΝ ΠΡΟΩΘΗΣΗ ΤΩΝ ΓΥΝΑΙΚΕΙΩΝ ΣΥΝΕΤΑΙΡΙΣΜΩΝ»

Προσωπική Aνάπτυξη. Ενότητα 4: Συνεργασία. Juan Carlos Martínez Director of Projects Development Department

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Test Data Management in Practice

2 nd AEGIS Technical Meeting and On-Site Visit in Mytilene, Greece

ίκτυο προστασίας για τα Ελληνικά αγροτικά και οικόσιτα ζώα on.net e-foundatio // itute: toring Insti SAVE-Monit

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα

e-business & digital marketing τι πρέπει να γνωρίζετε

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

the total number of electrons passing through the lamp.

ΑΓΓΛΙΚΗ ΓΛΩΣΣΑ ΣΕ ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΔΙΕΘΝΩΝ ΣΧΕΣΕΩΝ & ΟΙΚΟΝΟΜΙΑΣ

Instruction Execution Times

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Modern Greek Extension

«ΨΥΧΙΚΗ ΥΓΕΙΑ ΚΑΙ ΣΕΞΟΥΑΛΙΚΗ» ΠΑΝΕΥΡΩΠΑΪΚΗ ΕΡΕΥΝΑ ΤΗΣ GAMIAN- EUROPE

Paper Reference. Paper Reference(s) 1776/04 Edexcel GCSE Modern Greek Paper 4 Writing. Thursday 21 May 2009 Afternoon Time: 1 hour 15 minutes

Στεγαστική δήλωση: Σχετικά με τις στεγαστικές υπηρεσίες που λαμβάνετε (Residential statement: About the residential services you get)

Section 1: Listening and responding. Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016

Οι αδελφοί Montgolfier: Ψηφιακή αφήγηση The Montgolfier Βrothers Digital Story (προτείνεται να διδαχθεί στο Unit 4, Lesson 3, Αγγλικά Στ Δημοτικού)

ΟΙ ΑΞΙΕΣ ΤΗΣ ΖΩΗΣ THE VALUES OF LIFE Η ΥΠΕΥΘΥΝΟΤΗΤΑ..THE RESPONSIBILITY ΔΗΜΗΤΡΑ ΚΩΝΣΤΑΝΤΙΝΟΥ

Code Breaker. TEACHER s NOTES

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

1) Abstract (To be organized as: background, aim, workpackages, expected results) (300 words max) Το όριο λέξεων θα είναι ελαστικό.

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

How to register an account with the Hellenic Community of Sheffield.

TaxiCounter Android App. Περδίκης Ανδρέας ME10069

Πρόγραμμα εξ Αποστάσεως Εκπαίδευσης E-Learning. Πρόγραμμα εξ Αποστάσεως Εκπαίδευσης E-Learning. E-Learning ASSURANCE. E-learning.

ΠΕΡΙΕΧΟΜΕΝΑ. Μάρκετινγκ Αθλητικών Τουριστικών Προορισμών 1

GREECE BULGARIA 6 th JOINT MONITORING

[1] P Q. Fig. 3.1

CE 530 Molecular Simulation

Με λίγα νούμερα χώρες

Προσωπική Ανάπτυξη. Ενότητα 3: Δικτύωση. Juan Carlos Martínez Director of Projects Development Department

Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN

Can I open a bank account online? Ερώτηση αν μπορείτε να ανοίξετε τραπεζικό λογαριασμό μέσω του ίντερνετ

ASSURANCE. Οδηγός Σπουδών E-Learning

Αλεξία!Γιαννακοπούλου,!Δείγματα!για!δοκιμασίες!παραγωγής!γραπτού!λόγου!

ΔΙΟΙΚΗΣΗ ΔΙΕΘΝΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ

Επιχειρηματικότητα και Εκπαίδευση. Ανάπτυξη Ικανοτήτων Μαθητών 12 Δεκεμβρίου, 2015

Είναι ένα εναλλακτικό Ίντερνετ εφικτό;

PRESENTATION TITLE PRESENTATION SUBTITLE

CYTA Cloud Server Set Up Instructions

Χρειάζεται να φέρω μαζί μου τα πρωτότυπα έγγραφα ή τα αντίγραφα; Asking if you need to provide the original documents or copies Ποια είναι τα κριτήρια

Scientix, η κοινότητα για την Εκπαίδευση STEM στην Ευρώπη

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ

ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΓΕΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΛΥΣΟΚΙΝΗΣΗΣ ΓΙΑ ΜΕΤΑΦΟΡΑ ΤΡΟΛΕΪ

Πρακτική Εφαρμογή του Προγράμματος Σπουδών Επιπέδου Α' στην Διδασκαλία της Ελληνικής Γλώσσας. Στέφανος Παπαζαχαρίας

FINAL TEST B TERM-JUNIOR B STARTING STEPS IN GRAMMAR UNITS 8-17

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΕΝΙΣΧΥΣΗ ΤΩΝ ΚΟΜΒΩΝ ΟΠΛΙΣΜΕΝΟΥ ΣΚΥΡΟΔΕΜΑΤΟΣ ΜΕ ΒΑΣΗ ΤΟΥΣ ΕΥΡΩΚΩΔΙΚΕΣ

ΠΑΡΑΜΕΤΡΟΙ ΕΠΗΡΕΑΣΜΟΥ ΤΗΣ ΑΝΑΓΝΩΣΗΣ- ΑΠΟΚΩΔΙΚΟΠΟΙΗΣΗΣ ΤΗΣ BRAILLE ΑΠΟ ΑΤΟΜΑ ΜΕ ΤΥΦΛΩΣΗ

The Nottingham eprints service makes this work by researchers of the University of Nottingham available open access under the following conditions.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Οδηγίες χρήσης. Registered. Οδηγίες ένταξης σήματος D-U-N-S Registered στην ιστοσελίδα σας και χρήσης του στην ηλεκτρονική σας επικοινωνία

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΒΑΛΕΝΤΙΝΑ ΠΑΠΑΔΟΠΟΥΛΟΥ Α.Μ.: 09/061. Υπεύθυνος Καθηγητής: Σάββας Μακρίδης

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

ΑΙΤΗΣΗ APPLICATION FORM FOR GREEK APPLICANTS. 1. Τίτλος Κοινού Ερευνητικού Σχεδίου:... Title of joint project:...

Εκτεταμένη περίληψη Περίληψη

Κάτοχοι εμπορικών σημάτων

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

derivation of the Laplacian from rectangular to spherical coordinates

Right Rear Door. Let's now finish the door hinge saga with the right rear door

Bring Your Own Device (BYOD) Legal Challenges of the new Business Trend MINA ZOULOVITS LAWYER, PARNTER FILOTHEIDIS & PARTNERS LAW FIRM

Scrum framework: Ρόλοι

(1) Describe the process by which mercury atoms become excited in a fluorescent tube (3)

Scrum framework: Γεγονότα

Αναερόβια Φυσική Κατάσταση

ΠΕΔΙΟ_ΑΓΟΡΑ: Stakeholder Analysis Questionnaire

ΣΧΕΔΙΑΣΜΟΣ ΔΙΚΤΥΩΝ ΔΙΑΝΟΜΗΣ. Η εργασία υποβάλλεται για τη μερική κάλυψη των απαιτήσεων με στόχο. την απόκτηση του διπλώματος

ΠΕΡΙΛΗΨΗ. Λέξεις κλειδιά: Υγεία και συμπεριφορές υγείας, χρήση, ψυχότροπες ουσίες, κοινωνικό κεφάλαιο.

Study of In-vehicle Sound Field Creation by Simultaneous Equation Method

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο

Living and Nonliving Created by: Maria Okraska

ΒΕΛΤΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΕΡΓΑΣΤΗΡΙΟΥ ΕΛΕΓΧΟΥ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΕΦΑΡΜΟΓΗ ΕΡΓΑΛΕΙΩΝ ΔΙΑΣΦΑΛΙΣΗΣ ΠΟΙΟΤΗΤΑΣ ΣΕ ΜΕΤΑΛΛΟΒΙΟΜΗΧΑΝΙΑ

Writing for A class. Describe yourself Topic 1: Write your name, your nationality, your hobby, your pet. Write where you live.

Το πλαίσιο για την ανάθεση δημοσίων συμβάσεων έργων agile IT

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑΤΟΣ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΚΑΙ ΚΟΙΝΩΝΙΚΗΣ ΠΟΛΙΤΙΚΗΣ ΕΙΔΙΚΕΥΣΗ ΣΥΝΕΧΙΖΟΜΕΝΗΣ ΕΚΠΑΙΔΕΥΣΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

Μετανάστευση Σπουδές. Σπουδές - Πανεπιστήμιο. Για να δηλώσετε ότι θέλετε να εγγραφείτε

ΕΘΝΙΚΗ ΣΧΟΛΗ ΗΜΟΣΙΑΣ ΙΟΙΚΗΣΗΣ

Οδηγίες χρήσης υλικού D U N S Registered

Study of urban housing development projects: The general planning of Alexandria City

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

Business Opening. Very formal, recipient has a special title that must be used in place of their name

Advanced Subsidiary Unit 1: Understanding and Written Response

Mean bond enthalpy Standard enthalpy of formation Bond N H N N N N H O O O

Partial Trace and Partial Transpose

«Αξιολόγηση ατόμων με αφασία για Επαυξητική και Εναλλακτική Επικοινωνία, σύμφωνα με το μοντέλο συμμετοχής»

ΑΓΓΛΙΚΑ IV. Ενότητα 6: Analysis of Greece: Your Strategic Partner in Southeast Europe. Ιφιγένεια Μαχίλη Τμήμα Οικονομικών Επιστημών

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΣΥΣΤΗΜΑΤΩΝ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΥΨΗΛΩΝ ΤΑΣΕΩΝ

Διάρκεια μιας Ομολογίας (Duration) Ανοσοποίηση (Immunization)

Solutions to the Schrodinger equation atomic orbitals. Ψ 1 s Ψ 2 s Ψ 2 px Ψ 2 py Ψ 2 pz

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Τα γνωστικά επίπεδα των επαγγελματιών υγείας Στην ανοσοποίηση κατά του ιού της γρίπης Σε δομές του νομού Λάρισας

Προετοιμασία & Υποβολή Προτάσεων στο Πρόγραμμα Ορίζοντας 2020 Εθνικό Κέντρο Τεκμηρίωσης Εθνικό Σημείο Επαφής για τον Ορίζοντα 2020

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems

Transcript:

Τέσσερις καλές πρακτικές για την ανάπτυξη λογισμικού στην Ανοιχτή Επιστήμη Φώτης Ε. Ψωμόπουλος, Ερευνητής Γ ΙΝΕΒ ΕΚΕΤΑ

Γιατί χρειαζόμαστε καλές πρακτικές; Οι επιστήμονες συνήθως αναπτύσσουν το δικό τους λογισμικό Απαιτεί συγκεκριμένες γνώσεις πάνω στο αντικείμενο Μηχανικοί λογισμικού (software engineers) είναι δυσεύρετοι Περισσότερο από 90% των ερευνητών είναι αυτοδίδακτοι Χαμηλή ποιότητα και βιωσιμότητα του λογισμικού Greg Wilson. Best Practices for Scientific Computing. https://doi.org/10.1371/journal.pbio.1001745 Slides από την παρουσίαση Tool platform: Software development best practices presentation by Rafael C Jimenez, 08/02/2018 2

Η ερευνητική κοινότητα βασίζεται στο λογισμικό Χρησιμοποιείτε ερευνητικό λογισμικό? Τι επίδραση θα είχε στην έρευνά σας η απουσία ερευνητικού λογισμικού? 3 Survey of researchers from 15 UK Russell Group universities conducted by SSI between August - October 2014. 406 respondents covering representative range of funders, discipline and seniority.

ELIXIR Software development best practices group Σκοπός Βελτίωση της ποιότητας και της βιωσιμότητας του λογισμικού στις επιστήμες ζωής Επιμέρους στόχοι 1. Προώθηση της υιοθέτησης καλών πρακτικών για την ανάπτυξη λογισμικού 2. Ανάπτυξη συστάσεων για το λογισμικό ανοικτού κώδικα (OSS) 3. Ανάπτυξη μετρικών για την αξιολόγηση των συστάσεων και των καλών πρακτικών 4

5

Αντιστοίχιση των μετρικών στις καλές πρακτικές 17 καλές πρακτικές 43 μετρικές Ποσοτικές και ποιοτικές Προτεραιότητα των 10 μετρικών σε ένα πίνακα αντίκτυπου / προσπάθειας 6

Οι πρώτες 10 μετρικές (από τις 43) 1. Is version control used? 2. Is the software discoverable? 3. Is an automated build system used? 4. Are test data available? 5. Does software contain parts that reimplement existing technology? 6. Is the software compliant with community standards? 7. Are code reviews performed? 8. Is automated testing performed? 9. Is the code documented? 10. How high is the code complexity? 7

ENDORSE: https://softdev4research.github.io/recommendations/endorse/ Για την υποστήριξη της ταχύτερης έρευνας 4OSS πρακτικές BEST PRACTICES </> QUALITY SUSTAINABILITY + { Καλύτερο λογισμικό 8 Ταχύτερη Έρευνα και Ανακάλυψη

ENDORSE: https://softdev4research.github.io/recommendations/endorse/ Για την υποστήριξη της ταχύτερης έρευνας 4OSS πρακτικές BEST PRACTICES </> Μεγάλη προσπάθεια, δύσκολο να μετρηθεί QUALITY SUSTAINABILITY + { Καλύτερο λογισμικό 9 Ταχύτερη Έρευνα και Ανακάλυψη

ENDORSE: https://softdev4research.github.io/recommendations/endorse/ Για την υποστήριξη της ταχύτερης έρευνας 4OSS πρακτικές BEST PRACTICES </> QUALITY SUSTAINABILITY + { 10 Χαμηλή προσπάθεια, Εύκολο να μετρηθεί Καλύτερο λογισμικό Ταχύτερη Έρευνα και Ανακάλυψη

11

12

1. Make source code publicly accessible from day one Questions What are the benefits of making my software project public from the beginning? How do I make my project publicly accessible? What resources are available to help me document my software? What are the best practices in open software development? How do I publish my open source software? Objectives 1. create a new software project on GitHub 2. list three things that should be included in bare minimum software documentation 3. explain the difference between user- and developer-oriented documentation 4. describe three steps that can be taken to increase the (re)usability of software 5. describe how external resources can be used at the stage of publishing OS software 13

2. Adopt a license Questions What a license does? What is an open source license? What is the importance of your license for third-party dependencies? Objectives 1. Tell what is a copyright and what a license does 2. tell why is important that a product/code has a license 3. tell what is the importance of third-party dependencies on your product/code 4. Choose a license for your code 5. Add a LICENCE file to a repository 14

3. Define clear and transparent contribution, governance and communication processes Questions How does someone start contributing to my project? What do I need to consider about project design and governance? How do people communicate within the project? Objectives 1. Design the minimum guidelines for people to contribute and engage with the project 2. Define how you would support your contributors 3. Establish roles, expectations and processes around contributions to the project 4. Create communication strategies among people in the project 15

4. Make software easy to discover by providing software metadata Questions Why are metadata important in research software? What are good metadata? Which are the most commonly used platforms for registering research software data? Objectives 1. Understand the importance of metadata 2. Understand why metadata are necessary for software discoverability 3. Have a clear concept of what good metadata entail 4. Use one of the existing platforms to upload metadata 16

Ανάπτυξη του εκπαιδευτικού υλικού Έγινε ένα workshop ώστε να προσδιορισθεί η γενικότερη δομή και το περιεχόμενο που θα πρέπει να καλύπτει το εκπαιδευτικό υλικό. Hackathon στο DTL / Utrecht, ετοιμάζοντας το υλικό - 2 ημέρες, 4 ενότητες, 25 συμμετέχοντες από όλο τον κόσμο Τελικό χρονοδιάγραμμα 17

Το τελικό υλικό https://softdev4research.github.io/4oss-lesson/ 18

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

Τα επόμενα βήματα: Οδηγίες / Προδιαγραφές Χρηματοδοτικοί Φορείς / Οργανισμοί: συνήθως ζητούν από τους αιτούντες να υποβάλουν σχέδιο διαχείρισης δεδομένων δεν παρέχουν οδηγίες σχετικά με τον τρόπο ανάπτυξης ή διαχείρισης του λογισμικού κατά τη διάρκεια του χρηματοδοτούμενου έργου. Στο καλύτερο σενάριο αναφέρουν κάτι της μορφής: "το λογισμικό πρέπει να είναι ελεύθερα διαθέσιμο" ή "το εργαλείο θα είναι ανοικτού κώδικα" Χρειαζόμαστε: συγκεκριμένες κατευθυντήριες γραμμές λογισμικού που οι οργανισμοί και οι χρηματοδότες θα μπορούσαν να ενσωματώσουν ως μέρος της πολιτικής τους για την ανάπτυξη λογισμικού 20

Οδηγίες FAIR Κατευθυντήριες γραμμές που: δεν είναι δύσκολο να εφαρμοστούν, αλλά εξακολουθούν να οδηγούν καλές πρακτικές στην ανάπτυξη λογισμικού είναι εύκολο να εκτιμηθούν ώστε να επιτραπεί η αξιολόγηση της συμμόρφωσης του λογισμικού. 1. Ποιο θα πρέπει να είναι το περιεχόμενο αυτών των οδηγιών; 2. Πώς πρέπει να αξιολογείται το λογισμικό σύμφωνα με τις κατευθυντήριες γραμμές; 3. Πώς πρέπει να υποστηρίζει η κοινότητα αυτές οι οδηγίες; 4. Πώς πρέπει να εμπλακούν χρηματοδότες και οργανώσεις για την υιοθέτηση των κατευθυντήριων γραμμών; 21

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

Ευχαριστώ για την προσοχή σας! @fopsom https://fpsom.github.io/ 23