DEMO δουλειάς μου

Εάν δεν έχετε τίποτε καλύτερο να κάνετε…δείτε ένα demo λειτουργίας μιας βάσης δεδομένων που έφτιαξα σε C τον τελευταίο χρόνο. Ως παλιός χομπίστας μέχρι αηδίας στον προγραμματισμό και κολλημένος στα παλιά μου βιβλία του Schildt , έπρεπε να αυτοσχεδιάσω αρκετά… Είναι μια ρομαντική δουλειά…!!! Φυσικά και μπορείτε να γράφετε στα Ελληνικά…

DEMO :

Η εφαρμογή λειτουργεί σε 64bit διανομές εκτός από το manjaro όπου το κάνει αρκετά δύσκολο να εγκαταστήσεις μια αναγκαία βιβλιοθήκη είτε με debian installer…είτε με rpm installer… Δεν χρειάζεται τόσος “φόβος” όταν θεωρείσαι ανοιχτό λογισμικό… Μην γίνουμε windows κι εμείς ε;
Την εφαρμογή με τις οδηγίες της μπορείτε να την κατεβάσετε εδώ :

Καλή διασκέδαση !

4 Likes

Καλώς ήρθες στο Linux-user.gr @fanisatt.

Εντυπωσιακή δουλεία! Που μπορούμε να βρούμε τον πηγαίο κώδικα;

3 Likes

Ευχαριστώ πολύ φίλε μου ! Εδώ είναι όλα τα πηγαία αρχεία …ένα χρόνο και 3 μήνες γράφω…αλλά είναι κάτι MB… κλασσικής C . Ευτυχώς βρέθηκε ένας τύπος και έφτιαξε μια βιβλιοθήκη για να μπορεί κάποιος σαν εμένα που έμαθε τις κλασσικές συναρτήσεις γραφικών της C να μπορεί να κάνει λίγη δουλειά και σήμερα. Εννοείται ότι έπρεπε να δω και λίγο SDL2. Δυστυχώς όμως από fonts…ότι βλέπεις είναι φτιαγμένο με τον παλιό τρόπο και πολύ αυτοσχεδιασμό μιας και στο παρελθόν δεν υπήρχαν τέτοιες δυνατότητες…, συνεπώς δεν αξιοποιιούνται τα fonts του συστήματος , έχει τα δικά του (που τα έφτιαξα κάπως εγώ…) !! Λείπουν οι ευκολίες της QT και άλλα μοντέρνα καλούδια από τον πηγαίο μου κώδικα.

1 Like

Πολύ φοβάμαι πως οι μέρες του Schildt και του “Born to Code in C” έχουν περάσει ανεπιστρεπτί. Προφανώς εσύ είσαι αυτός που διαχειρίζεται τον χρόνο του, αλλά πιστεύω θα έκανες πολύ ποιο καλή δουλεία αν το 1/3 του χρόνου που έκανες το χρησιμοποιούσες για να γίνεις λίγο ποιο μοντέρνος.

Τέλος δεν βλέπω τον πηγαίο κώδικα. Εφόσον επέλεξες άδεια GPL αυτός θα πρέπει να είναι διαθέσιμος. Αν δεν θέλεις θα πρέπει να επιλέξεις μια άλλη άδεια. Και όχι στο sourceforge please, έχει διάφορα θέματα και δεν είναι τυχαίο πως το εγκαταλείπουν όλοι. Είναι σκάλες καλύτερα να χρησιμοποιείς κάτι σαν το github.

ΥΓ: Σε SDL μπορείς να χρησιμοποιήσεις skia/cairo και fontconfig/pango για το rendering. Οι βιβλιοθήκες bercleydb ή libsqlite ίσως επίσης φανούν χρήσιμες.

2 Likes

Είναι γεγονός ότι , αυτά που γράφει για τις άδειες εκεί στο sourceforge δεν τα έχω καταλάβει καλά . Απλά είδα ότι οι περισσότεροι δηλώνουν GPL-3 (κάτι τέτοιο) , το έκανα κι εγώ και όλα έγιναν στη στιγμή… Το site δεν απαίτησε κάτι ιδιαίτερο !!
Οπωσδήποτε δεν γνωρίζω τι θέματα έχει αυτό εκεί το “μαγαζί” τέλος πάντων …
Ήθελα πολύ να θυμηθώ τα παλιά … αυτό είναι όλο και για αυτό ξεκίνησα κάτι να φτιάξω !! Ειλικρινά δεν το περίμενα ότι, το project κάπως θα τρωγόταν τέτοια εποχή σε τέτοια μηχανήματα… Όταν προγραμμάτιζα, τω καιρώ εκείνω, είχα τα ίδια βιβλία , μια ασπρόμαυρη οθόνη , ελάχιστη μνήμη και τα fonts δεν ήταν καθόλου true… Και τις περισσότερες μεταβλητές, τελικά τις έκανα global για να αποφεύγω τον κατακερματισμό της μνήμης… Χάλια μαύρα…
Χρειάζεται πολύ κέφι για να εκμοντερνισθώ τώρα “στα γεράματα” αγαπητέ Γιάννη , ίσως το έχω ώρες-ώρες ίσως όχι…και για αυτό οψόμεθα, καλό χειμώνα…
Πάντως, αν κάπου πρέπει να αναρτηθεί και ο “αρχαίος” μου πηγαίος κώδικας τότε, είναι εκεί στο sourceforge ,μιας και μόνον από εκεί μπορεί να κατέβει η εφαρμογή. Προς το παρόν δεν παρεξηγήθηκε κανείς…
Θα το δω…ίσως πρώτα βελτιώσω κάποια σημεία …ίσως δεν κάνω και τίποτε.
Ευχαριστώ για όλες τις πληροφορίες !
Καλή συνέχεια…
Με εκτίμηση !

2 Likes

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

3 Likes

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

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

1 Like

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

Νομικά επίσης είσαι εκτεθειμένος, καθώς το παραπάνω είσαι ΥΠΟΧΡΕΩΜΕΝΟΣ να το κάνεις. Η υποχρέωση αυτή προσπίπτει επειδή επέλεξες αυτήν την άδεια. Και ο πρώτος που θα το κατεβάσει έχει το δικαίωμα να σου ζητήσει τον αρχικό κώδικα.

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

1 Like

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

1 Like

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

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

ΥΓ: Δεν τα λέμε αυτά να σε τρομάξουμε, ούτε βέβαια και θέλουμε να σου επιβάλουμε κάτι. Αλλά καλό είναι να τα γνωρίζεις και να κάνεις μια επιλογή βασισμένη στην γνώση και όχι γιατί αυτό έβαλαν και οι άλλοι. Για τις άδειες λογισμικού συζητάμε πολλές φορές εδώ μέσα, και μπορείς (αν και δεν είμαστε δικηγόροι) να μας ρωτήσεις αν έχεις απορίες για τις ΕΛ/ΑΚ άδειες.

1 Like

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

1 Like

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

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

1 Like

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

Δηλαδή αν χρησιμοποιείς/διανείμεις λογισμικό ο νόμος θα σού πει από πού είναι το copyright. Αν είναι καθαρά δικό σου (και η άδεια GPL φυσικά δεν σού αφαιρεί το copyright) αυτό είναι τέλος συζήτησης για το copyright δεν έχει σημασία τίποτα άλλο. Υπάρχουν βέβαια ξεχωριστά θέματα (πατέντες, εθνική ασφάλεια, δεν ξέρω τι άλλο), αλλά όχι θέμα copyright. Αν δεν είναι δικό σου ή είναι εν μέρει δικό σου (παράγωγο) τότε θα πρέπει να συμμορφωθείς στην όποια άδεια πάτησες.

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

1 Like

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

  1. Κάποιος (ας τον πούμε Α) επιλέγει να δώσει στο έργο του μια άδεια GPL
  2. Κάποιος (ας τον πούμε Β) παίρνει το πρόγραμμα από τον δημιουργό (με χρήματα ή όχι)
  3. Ο Β ζητάει από τον Α τον πηγαίο κώδικα. Είναι ο Α υποχρεωμένος να τον δώσει ή δεν είναι;

Προφανώς υπάρχουν πολλές παραλλαγές στο παραπάνω. Για παράδειγμα ο Β μπορεί να πληρώσει τον Α να το φτιάξει και υπάρχει συμφωνία μη δημοσίευσης από τον Α. Επίσης μπορώ να έχω ένα πρόγραμμα σε GPL δικό μου, και που να μην το έχω δώσει σε κανένα. Καθώς και άλλα σενάρια.

Αλλά εδώ έχουμε μια πολύ απλή περίπτωση. Έχουμε να συμβουλέψουμε κάποιον που δεν γνωρίζει, για την ποιο απλή περίπτωση. Αν κάποιος δημοσιεύσει το έργο του σε κάποιο δημόσιο μέρος (sourceforge ή github), αν έχει υποχρέωση να παρέχει (υπό τους όρους της GPL) το πηγαίο κώδικα σε οποιονδήποτε το ζητήσει. Ναι ή όχι; Το FAQ και την άδεια τα έχεις διαβάσει προσεκτικά;

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

1 Like

Φιλοι μου… ειμαι σε. Tablet sorry που δεν βαζω τονους. Εδω και μια εβδομαδα μπηκα εκει στο github και ανεβασα τα πηγαια αρχεια μου (fanisatt-pedaba-2). Ως λατρης του ανοιχτου λογισμικου δεν βλεπω το λογο να μην το κανω. Ειναι στη διαθεση καθε ενδιαφερομενου. Περαν αυτου ομως δεν καταλαβα τι αλλο πρεπει να κανω…πολυπλοκο μου φανηκε το απο εκει και περα… Τελος παντων, επι της ουσιας νιωθω να ειμαι οκ…θα τα ανεβαζα και στο sourceforge αλλα εκει το μπερδευουν ακομη περισσοτερο… Εγω εγραψα εναν κωδικα. C. Τον ανεβασα… ειμαι οκ.

2 Likes

Σε ευχαριστώ φίλε!

Έχεις βάλει την άδεια και έχεις ανεβάσει τα αρχεία, οπότε είσαι τυπικά εντάξει.

Αν θέλεις βάζεις μια καλύτερη περιγραφή στο README.md (η σύνταξη του είναι σε κάτι που το λενε markdown και μοιάζει πολύ με την σύνταξη που έχουμε εδώ). Χωρίς κάποια περιγραφή δεν θα μπορέσει να το βρει κάποιος.

Αν κάνεις κλικ εκεί που λέει No description, website, or topics provided. μπορείς να προσθέσεις μια μικρή περιγραφή.

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

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

Το σωστό link είναι

2 Likes

Οκ Γιαννη ευχαριστω πολυ!

1 Like

αυτα ειναι πολυ ομορφο να υπαρχουν και επισης εχει ηδη ζητηθει τετοιο πραγμα απο εσενα @fanisatt απο οτι βλεπω εδω https://www.linuxinsider.gr/blog/fanisatt/9613/elliniko-eortologio-eyretirio-imeron (ο δικος μας πρεπει να ειναι ε; )

3 Likes

Η υποχρέωση αυτή είναι επειδή την λέει η άδεια, και είναι όρος copyright. Το απλό ερώτημα είναι ποιος είναι το θύμα αν δεν τηρείται σωστά η άδεια; Ο Β δεν είναι θύμα γιατί δεν έχει το copyright. Αν το copyright ανήκει μόνο στο Α τότε ο μόνος που θα μπορούσε να είναι θύμα είναι ο Α.

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

2 Likes

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

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

α) Το cοpyright που κολλάει; Μια τέτοια άδεια είναι copyleft
β) Κανείς ποτε δεν ισχυρίστηκε πως η άδεια χρήσης σου δίνει άλλα διακαιώματα απο αυτά που λέει. Η πνευματική ιδιοκτησία ανήκει στον αρχικό παραγωγό και κανένας δεν του την αφαιρεί. Για τις πατέντες ισχύει ότι ρητά λέει κάθε άδεια.
γ) Φτάνει μια μέρα ο καιρός που θέλω τον κώδικα για να κάνω κάποιες αλλαγές. Τον ζητάω από τον παραγωγό και δεν μου το δίνει. Τότε δεν μπορώ να κάνω της δουλεία μου, όπως είχα προγραμματίσει. Ζημιώθηκα ή όχι;
δ) Ο παραγωγός μου λέει πως “Η άδεια δεν είναι EULA, η άδεια είναι διακήρυξη τού δημιουργού προς τον υπόλοιπο κόσμο.” Αν το δεχτούμε αυτό και δεν είναι EULA, τότε προφανώς δεν έχει καμιά δεσμευτική ισχύ, και κατά συνέπεια, αν υποθέσουμε πως τελικά μου δίνει τον πηγαίο κώδικα, έχω κάθε δικαίωμα να του αλλάξω την άδεια χρήσης και να το κάνω κλειστό λογισμικό; Να κάνω τις αλλαγές και να πουλήσω την βάση με άλλη άδεια και να αρνηθώ να δώσω στον οποιοδήποτε τις αλλαγές; Σωστά το κατάλαβα;
ε) Αν δεν μου δώσει τον κώδικα και αποφασίσω να τον διεκδικήσω δικαστικά, τι απόφαση θα πάρει το δικαστήριο; Ας δούμε τι συνέβη στην περίπτωση της InnoDB.

1 Like