Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

λογοκλοπή ή pliagarism και development

Îåêßíçóå áðü ôï ìÝëïò thrylos. Τελευταία δημοσίευση από το μέλος jimenez στις 03-10-2006, 09:48. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-10-2006, 06:35 17782

    λογοκλοπή ή pliagarism και development

    Pliagarism είναι η πράξη του να πάρεις το πνευματικό έργο κάποιου και να το παρουσιάσεις ως δικό σου.
    Η συνηθισμένη αντίληψη που έχει ο κόσμος και που περιμένουν να αποδειχτεί σε ένα δικαστήριο είναι ότι κάποιος έγραψε ένα βιβλίο και ο λογοκλόπος αντέγραψε επακριβώς το κείμενο του αρχικού συγγραφέα χωρίς να τον μνημονεύσει.
    Έρχομαι τώρα στο development.
    Από φοιτητής είχα την αντίληψη ότι επειδή εγώ και οι συμφοιτητές μου έχουμε τον ίδιο καθηγητή στο αμφιθέατρο και το ίδιο βιβλίο, θα αποκτήσουμε παρόμοιες προγραμαμτιστικές συνήθειες και θα παράγουμε όμοιο κώδικα για όμοια προβλήματα.
    Τα πράγματα όμως προχώρησαν παραπέρα.
    Βγήκαν οι γλώσσες που έχουν το πελώριο API
    Εκεί δε κάθεσαι να γράψεις κώδικα, καλείς μια method από το API που σου κάνει τη δουλειά.
    Συν το γεγονός ότι οι μεταβλητές πρέπει να έχουν επεξηγηματικό όνομα, συν ότι πρέπει να ακολοθούν κάποιες συμβάσεις (πχ JavaBeans naming convention) στο όνομά τους, ο κώδικας μοιάζει να γίνεται πολύ πιο ομοιόμορφος.
    Τέλος προστέθηκαν και τα design patterns, με αποτέλεσμα μεγάλα κομμάτια κώδικα να ακολουθούν την ίδια φιλοσοφία.
    Έστω λοιπόν ότι η Τρία Κιλά Κώδικα ΑΕ έχει γράψει το λογισμικό για το εργοστάσιο ζαχαροπλαστικής Το Κανελώνουμε το Ριζόγαλο ΕΠΕ
    και η ΚΩΔΙΚΕΣ ΚΩΔΙΚΕΣ ΚΩΔΙΚΕΣ ΑΒΕΕ έχει γράψει το λογισμικό για ένα άλλο εργοστάσιο ζαχαροπλαστικής, το Χτενίζουμε το Γαλακτομπούρεκο ΑΕ. Και τα δύο λογισμικά είναι γραμμένα με Visual Studio .Net. Πώς μπορεί να αποδειχτεί το εαν υπάρχει κάποιο είδος αντιγραφής κώδικα ή ότι τυχόν ομοιότητες είναι συμπτωματικές;
    Μήπως υπάρχουν τίποτα νομικά παρατράγουδα;
    Μόνο τα σχόλια δηλαδή θα διαφέρουν;


    Powered by openSuSE 11 64-bit Edition
  •  03-10-2006, 09:39 17788 σε απάντηση της 17782

    Απ: λογοκλοπή ή pliagarism και development

    Μακάρι να ήταν τόσο εύκολο να γράψεις μια εφαρμογή. Να πάρεις ένα API, να γράψεις λίγο κώδικα ακόμα και να τελειώνεις. Είτε μιλάμε για Java, είτε για C# είτε για C++ (με τις κατάλληλες βιβλιοθήκες) οι εφαρμογές απαιτούν πολύ περισσότερα από την απλή επανάληψη κάποιου standard κώδικα. Ούτε η χρήση patterns σε σώζει. Ναι, κάποια pattern λύνουν ένα πρόβλημα, αλλά πως τα συνδυάζεις? Ποιό απ' όλα επιλέγεις? Που θα βάλεις το domain logic?

    Και οι εφαρμογές που ζητούνται σήμερα είναι πολύ πιο περίπλοκες απ' ότι στο παρελθόν. Μπορεί με το JSF και το CAB να υλοποιείς το MVC για το presentation, αλλά κανείς δεν πολυνοιάζεται πλέον γι αυτό. Τώρα θέλουν πολλές, πολλές φόρμες για πολύ, πολύ business logic. Και φυσικά να είναι ωραίες. Κάποτε ένα "Content Management System" οι ελληνικές εταιρείες το χρέωναν 30 μύρια. Τώρα, ένα από τα τσάμπα είναι 30 μύρια φορές καλύτερο.

    Μήπως στο server? Κάποτε έστελνες μερικές εγγραφές στη βάση και ήσουν εντάξει. Τώρα πρέπει να στέλνεις εκατοντάδες ταυτόχρονα, με ασφάλεια, σε transactions και δεν συμμαζεύεται. Οπότε το θέλεις το JBoss και το COM+, γιατί το RMI και το Remoting δεν βγαίνουν πέρα. Θα γράψεις το λεγόμενο boilerplate κώδικα, μετά όμως πρέπει να γράψεις και το δικό σου, app-specific κώδικα. Και εκεί αρχίζουν τα δύσκολααααα.

    Εν κατακλείδι. Είναι πολύ εύκολο να αποδείξεις ότι κάποιος αντέγραψε. Μόνο που δεν στηρίζεται στην ομοιότητα των string των προγραμμάτων. Από τη στιγμή που κάποια γνώση είναι κοινό κτήμα, όσοι και να τη χρησιμοποιήσουν, δεν υπάρχει πρόβλημα. Η χρήση κάποιου boilerplate κώδικα δεν δημιουργεί ούτε δικαιώματα ούτε υποχρεώσεις. Είναι ο app-specific κώδικας ο οποίος αποκαλύπτει τη "λαδιά". Αυτό όμως χρειάζεται εξέταση από κάποιον που μπορεί να ξεχωρίσει τα δύο.

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

    Υ.Γ. Θυμήθηκα τώρα κάτι άλλο. Το βιβλίο του Διομήδη Σπινέλλη, το "Code Reading", όπου λέει ότι πρέπει να χρησιμοποιούμε όμοια block κώδικα για όμοιες δουλειές, για να μπορεί όποιος θέλει να τα διαβάσει εύκολα. Π.χ να χρησιμοποιούμε ένα στάνταρ μπλοκ για το parsing του command line. Όχι πολύ σχετικό με την κουβέντα, αλλά καλή ιδέα
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  03-10-2006, 09:48 17789 σε απάντηση της 17788

    Απ: λογοκλοπή ή pliagarism και development

    Παιδιά έκανα πτυχιακή για σύγκριση προγραμμάτων, τα οποία κάνουν ανίχνευση λογοκλοπής λογισμικού (αντιγραφή κώδικα). Ο καθηγητής έχει φτιάξει ένα πρόγραμμα σε Java. Τρομερός αλγόριθμος. Μέχρι και στο Oxford έκανε παρουσίαση! Το βασικό είναι να παίζεις με τα Keywords της γλώσσας προγραμματισμού.
    Dimitris S.
    FIRST TEST THEN CODE....
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems