Ανοικτή πρόσκληση για συμμετοχή σε έργο ΕΛΛΑΚ

Prokopis | Παρ, 07/06/2012 - 18:36 | 2' | 26

    Όσοι ασχολούμαστε με το linux και το ανοικτό λογισμικό συζητάμε συχνά σε ιδεολογικό επίπεδο για τα πλεονεκτήματά του και τους λόγους για τους οποίους το χρησιμοποιούμε αλλά πολύ από εμάς – συμπεριλαμβανομένου και του γράφοντα- αγνοούμε την ακριβή διαδικασία με την οποία αναπτύσσεται ένα έργο ανοικτού λογισμικού.
    Απευθύνω λοιπόν ανοικτή πρόσκληση συμμετοχής σε όσους ενδιαφέρονται να αναπτύξουμε ένα έργο ΕΛΛΑΚ με σκοπό να δούμε και να γνωρίσουμε πλέον από την μεριά των δημιουργών αυτή την τόσο σπουδαία διαδικασία.
    Το πρώτο βήμα είναι να δούμε ποιοί θέλουν να συμμετέχουν και σε πιο τμήμα μπορούν και θέλουν να βοηθήσουν (προγραμματισμό, σχεδίαση γραφικών, τεκμηρίωση, κτλ). Αν καταφέρουμε λοιπόν και μαζευτούμε ένας ικανοποιητικός αριθμός συμμετεχόντων προχωράμε συζητώντας το είδος της εφαρμογής, τη τεχνολογία στην οποία θα βασιστεί και οτιδήποτε άλλο χρειαστεί για να ξεκινήσουμε.
    Όπως καταλαβαίνετε είναι απαραίτητη η συμμετοχή ατόμων που έχουν γνώση της διαδικασίας για να μας καθοδηγήσουν με τις γνώσεις τους και την πείρα τους για τον τρόπο με τον οποίο πρέπει να δουλέψουμε.

Δώσε αστέρια!
Σχόλια

Η ιδέα είναι πολύ ωραία και δύσκολη ταυτόχρονα!

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

Έτσι όπως έχεις θέσει την σειρά εμένα π.χ. δεν μπορείς να τοποθετήσεις σε κάποιο τμήμα από τώρα. Και αυτό γιατί εάν το έργο πρόκειται να δημιουργηθεί σε C/C++ στην οποία δεν είμαι καλός θα σου πω βάλε με σε μεταφράσεις και τεκμηρίωση. Εάν πρόκεται για έργο PHP/MySQL, τα οποία δουλεύω συνεχώς τα τελευταία τρία έτη θα σου πω βάλε με στον προγραμματισμό.

θεωρώ ότι είναι καλύτερα να δούμε αν υπάρχει ενδιαφέρον και μετά να συζητήσουμε τα υπόλοιπα για τον απλούστατο λόγο ότι αν πούμε π.χ. να φτιάξουμε ένα media player αλλά όσοι ενδιαφέρονται να συμμετέχουν γνωρίζουν μόνοphp θα ήταν σχεδόν αδύνατο να το υλοποιήσουμε. Άλλωστε στη συγκεκριμένη περίπτωση ο στόχος είναι το ταξίδι και όχι ο προορισμός ;)

Κι εγώ προτιμώ κάτι σε php/mysql αλλά αν δω ότι μαζευτούμε περισσότεροι με γνώσεις C++ θα προτιμήσω το τμήμα της τεκμηρίωσης αλλά παράλληλα θα ήταν μια καλή ευκαιρία να μάθω και C++  παρακολουθώντας την ομάδα του προγραμματισμού.

Αν θεωρείτε πάντως ότι είναι πιο εύκολο να ξεκινήσουμε με διαφορετική σειρά φυσικά κι ας το κάνουμε.

Μια χρήσιμη ιδέα είναι ένα λογισμικό monitoring / διαχείρισης ενός τοπικού δικτύου μέσω κλειδιών ssh και με ένα web interface.

Υπάρχουν τέτοια λογισμικά αλλά δεν νομίζω ότι θα μας χαλάσει να φτιάξουμε άλλο ένα :)

Χρειαζόμαστε μια βιβλιοθήκη που να μιλάει με το τοπικό δίκτυο και την php για το περιβάλλον που θα βλέπει ο διαχειριστής. Σκοπός ειναι να μπορεί να βλέπει αν και ποιοι υπολογιστές ειναι online, αν χρειάζονται updates και με ένα κλικ να κάνει ενημερώσεις ή να τους κλείνει. Καλό θα είναι αυτό να γίνεται για όποια διανομή έχουν τα PC (distro-agnostic). Αυτά τα ολίγα για αρχή.

Στη συνέχεια, μπορούμε να το επεκτείνουμε.

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

@dimitris μπορεί το post με κάποιο τρόπο να φαίνεται πάντα στην αρχική σελίδα ώστε να μην "χαθεί" με την εισαγωγή νέων αναρτήσεων?

επίσης δεν μπορώ να κάνω edit για να διορθώσω κάποια ορθογραφικά που μου ξέφυγαν :)

Prokopis]επίσης δεν μπορώ να κάνω edit για να διορθώσω κάποια ορθογραφικά που μου ξέφυγαν :)

Πάνω από τον τίτλο του post δεν έχει μια καρτέλα "επεξεργασία";

Μια ιδέα θα ήταν να στήσουμε τη διεπαφή σε PHP και με εντολές κελύφους -μέσω ssh σύνδεσης με τους υπόλοιπους υπολογιστές- να εκτελούνται οι εντολές.

Θα χρειάζεται ο admin να έχεις στήσει ssh κλειδιά με ssh-keygen χωρίς κωδικό...

Το εχω δοκιμασει... να στελνω εντολες τερματικου με PHP και το αποτελεσμα ειναι απογοητευτικο.

Το καλυτερο θα ηταν να φτιαξουμε εν αγθι με ncurses ωστε με μερικα εντερ να κανει την δουλεια του ο admin ακομα και απο το σπιτι.

Οσο αφορα τα κλειδια τιθεται θεμα ασφαλειας γιατι θα ειναι passwordless. Καλο θα ηταν να δημιουργηθουν με openssl και το CN να ειναι η static ip καθε μηχανηματος.

Μπορουμε επισης να κανουμε monitor της ανοιχτες πορτες που εχουμε αφησει σε καθε μηχανημα για να μπορουμε να βλεπουμε για τυχον παραβιαση.

Όχι ρε φίλε ncurses. Στο 2012 ήμαστε. Web πρέπει να είναι το περιβάλλον και να χρησιμοποιήσουμε web τεχνολογίες.

Για αυτο που θελουμε να κανουμε η PHP ειναι η πιο ακαταλληλη εκτος και αν τα κουμπια ειναι φτιαγμενα σε Python.

Έχεις υπόψη σου κάτι συγκεκριμένο για το πως μπορει να λειτουργεί η εφαρμογή από την εγκατάσταση μέχρι τη καθημερινή χρήση;

ναι κατι εχω στο μυαλο μου.

Λογικα θα πρεπει να ειναι server/client με τον client να ειναι στον admin.

Το να μπορεσει να παρει report για την κατασταση, αν ειναι online, uptime, χορος δισκου κλπ ειναι σχετικα ευκολο.

Η δυσκολια ειναι οταν πρεπει να τρεξει προγραμματα του στυλ, aptitude, apt-get, slapt-get κλπ προγραμματα τα οποια η PHP τα υποστιριζει με δυσκολια.
Πιο ευκολα τρεχεις "ls -l" με php και παιρνεις τα αποτελεσματα στην οθονη σου, παρα να τρεξεις "aptitude update" εκει το πιο πιθανο ειναι να παρεις exit code 2 or exit code 255.

Αντιθετα η python δεν εχει τετοιο θεμα για το "aptitude update" που το εχω δοκιμασει.

Χμ χμ χμ... έχω νομίζω μια καλύτερη ιδέα. Άσε με να την επεξεργαστώ και θα την παρουσιάσω αύριο βράδυ.

πως θα τρέχει σε κάθε διανομή linux? θα έχουμε διαφορετικά σενάρια εντολών για debian, fedora, opensuse, slackware,κτλ? μου φαίνετε πολύ ενδιαφέρον project γιατί αναμιγνύει και web και desktop προγραμματισμό αλλά ως προς το βαθμό δυσκολίας του πως θα το χαρακτηρίζατε?

Ξεκινάμε δηλαδή;
Αν και δεν έχω ιδέα από προγραμματισμό
κάτι ψιλά από δίκτυα κατέχω.
Αν μπορώ να βοηθήσω κάπως ξέρεται που θα με βρείτε!!!

λοιπόν μέχρι στιγμής έχουν δηλώσει ενδιαφέρον οι

apkoutsou
dimitris
slackware
neos
κι εγώ :)

ως προς το είδος της εφαρμογής απ' οτί βλέπω  συμφωνούμε σε αυτό που πρότεινε ο dimitris δλδ

λογισμικό monitoring / διαχείρισης ενός τοπικού δικτύου μέσω κλειδιών ssh και με ένα web interface

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

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

IMHO σε αυτό τον τομέα (monitoring), αν θέλετε κάτι πραγματικά φιλόδοξο,
η πιο καλή πρόταση αυτή τη στιγμή θα ήταν ένα open source version του
συστήματος landscape της canonical. (Δεδομένου του ότι πρώτον το landscape
είναι closed source και κάπως ακριβό και δεύτερον και κύριον πολύς κόσμος
δεν καλοβλέπει το να γνωρίζει/ελέγχει η canonical τα πάντα για τη
διαθεσιμότητα κλπ των δικών του συστημάτων)

Αυτό μπορεί να γίνει νομίζω και με php/mysql/html5/css3/javascript
(αν και νομίζω ότι η PHP δεν είναι η κατάλληλη γλώσσα για τέτοιες
εφαρμογές, αυτό είναι προσωπική άποψη καθαρά) αλλά είναι κάτι
που θα απαιτούσε σημαντική δέσμευση από πλευράς χρόνου.

Θα χρειαζόταν να διαβάσετε τον κώδικα του spacewalk της redhat
που είναι το αντίστοιχο σύστημα για redhat πλατφόρμες και είναι
ανοιχτού κώδικα, καθώς και να στήσετε trial accounts του landscape
ώστε να δείτε πώς δουλεύει (τις λεπτομέρειες, ποιά είναι τα σημαντικά
features κλπ).

Επίσης θα χρειαζόταν να μελετήσετε τον κώδικα του agent (δηλαδή
το πρόγραμμα "πελάτη" του landscape που τρέχει σε κάθε σύστημα
που γίνεται monitor και είναι φυσικά open source και μέρος του
ubuntu).

Με αυτό τον τρόπο, θα μπορούσατε να επικεντρωθείτε στο interface
(i.e., php/mysql/κλπ κομμάτι) μια και ο agent ήδη υπάρχει. Άπαξ
και κάνετε το σύστημά σας να δουλεύει καλά σε debian/ubuntu
μπορείτε να του προσθέσετε τη δυνατότητα για plugins ώστε να
δουλεύει και στις άλλες διανομές.

Δεδομένου ότι το spacewalk είναι redhat-only νομίζω αυτή τη
στιγμή και το landscape είναι closed, έχετε μια ευκαιρία να
κάνετε κάτι πραγματικά επιτυχημένο και να έχετε την πλήρη
εμπειρία της παραγωγής ελεύθερου / open source λογισμικού
(ακόμα και την εμπορική εκμετάλευση π.χ., παρέχοντας
υπηρεσίες εγκατάστασης / software appliances για το
monitoring server κλπ).

Δυστυχώς προσωπικά δεν μπορώ να βοηθήσω λόγω έλλειψης
χρόνου (έχω ήδη υπερβολικά πολλά projects που τρέχουν αυτή
τη στιγμή), οπότε μάλλον δε θα έπρεπε να έχω μιλήσει και καθόλου
αλλά ποτέ δεν ξέρεις, μπορεί και η συμβουλή να βοηθήσει κάπως :)

Χαιρετισμούς,
Παντελής

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

Μία άλλη ιδέα για κάτι πιο εύκολο θα ήταν η ανάπτυξη μίας εφαρμογής ανάλυσης των log files
ενός web server (π.χ., apache / nginx) και παραγωγής στατιστικών, με το special feature του
να υποστηρίζει logs που να είναι ήδη σε MySQL ή sqlite και που θα χρησιμοποιεί sqlite και για
την ίδια την αποθήκευση των στατιστικών.

Έτσι θα αξιοποιούνταν και τα άρθρα για sqlite που υπάρχουν στο Linux Inside.







 

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

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