619 lines
28 KiB
XML
619 lines
28 KiB
XML
<?xml version="1.0" encoding="iso-8859-7"?>
|
||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
|
||
"../../../share/xml/freebsd45.dtd">
|
||
|
||
<!--
|
||
|
||
Ελληνική μετάφραση του: Contributing to FreeBSD
|
||
|
||
The FreeBSD Greek Documentation Project
|
||
|
||
%SOURCE% en_US.ISO8859-1/articles/contributing/article.xml
|
||
%SRCID% 1.511
|
||
|
||
-->
|
||
|
||
<article lang='el'>
|
||
<articleinfo>
|
||
<title>Συνεισφέροντας στο &os;</title>
|
||
|
||
<abstract>
|
||
<para>Αυτό το άρθρο περιγράφει διάφορους τρόπους με τους οποίους μπορεί
|
||
ένα άτομο ή μια οργάνωση να συνεισφέρει στο &os;.</para>
|
||
</abstract>
|
||
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Jordan</firstname>
|
||
<surname>Hubbard</surname>
|
||
<contrib>Γράφτηκε από τον </contrib>
|
||
</author>
|
||
|
||
<author>
|
||
<firstname>Κυριάκος</firstname>
|
||
<surname>Κεντρωτής</surname>
|
||
<contrib>Μεταφράστηκε από τον </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
|
||
<legalnotice id="trademarks" role="trademarks">
|
||
&tm-attrib.freebsd;
|
||
&tm-attrib.ieee;
|
||
&tm-attrib.general;
|
||
</legalnotice>
|
||
|
||
<pubdate>$FreeBSD$</pubdate>
|
||
|
||
<releaseinfo>$FreeBSD$</releaseinfo>
|
||
</articleinfo>
|
||
|
||
<indexterm><primary>contributing</primary></indexterm>
|
||
|
||
<para>Θέλετε να συμβάλλετε στο &os; λοιπόν; Αυτό είναι υπέροχο! Το
|
||
&os; <emphasis>βασίζεται </emphasis> στη συνεισφορά των χρηστών για να
|
||
επιβιώσει ως έργο. Οι συνεισφορές σας δεν είναι απλώς καλοδεχούμενες, αλλά είναι
|
||
ουσιαστικές προκειμένου το &os; να συνεχίσει να αναπτύσσεται.</para>
|
||
|
||
<para>Δεν είναι ανάγκη να είστε προγραμματιστής ή φίλος με την κεντρική ομάδα του &os; για να
|
||
γίνει η συνεισφορά σας αποδεκτή. Το &os; αναπτύσσεται από ένα μεγάλο
|
||
αριθμό ανθρώπων από όλο τον κόσμο. Στην ομάδα ανάπτυξης υπάρχουν άτομα
|
||
διαφόρων ηλικιών ή γνωστικών αντικειμένων. Οι εργασίες οι οποίες πρέπει
|
||
να γίνουν είναι αρκετές όμως. Πολλές φορές είναι περισσότερες από ότι μπορούν να κάνουν οι
|
||
άνθρωποι που είναι διαθέσιμοι στην ομάδα του &os;. Γι αυτό είναι
|
||
πάντοτε καλοδεχούμενη κάθε βοήθεια.</para>
|
||
|
||
<para>Το &os; είναι υπεύθυνο για ένα ολόκληρο λειτουργικό περιβάλλον,
|
||
κι όχι μόνο για ένα πυρήνα ή μερικά διάσπαρτα εργαλεία. Έτσι,
|
||
η λίστα των εργασιών που πρέπει να γίνουν καλύπτει ένα αρκετά μεγάλο εύρος:
|
||
από την τεκμηρίωση, τη δοκιμή και την παρουσίαση, μέχρι το πρόγραμμα
|
||
εγκατάστασης του συστήματος και τα πολύ εξειδικευμένα θέματα της ανάπτυξης
|
||
του πυρήνα. Έτσι είναι σχεδόν σίγουρο ότι όλοι μπορούν να συνεισφέρουν με
|
||
εποικοδομητικό τρόπο στο έργο ανάπτυξης του &os;, όποιες γνώσεις και να
|
||
έχουν.</para>
|
||
|
||
<para>Μας ενδιαφέρει επίσης και κάθε επικοινωνία με εμπορικούς οργανισμούς,
|
||
εφόσον δραστηριοποιούνται σε κάποιο χώρο σχετικό με το &os;. Χρειάζεστε
|
||
μια ειδική επέκταση για να δουλέψει το προϊόν σας; Θα μας βρείτε δεκτικούς
|
||
στα αιτήματα σας· ειδικά όταν είναι ρεαλιστικά. Δουλεύετε πάνω σε ένα
|
||
προϊόν βασισμένο στο &os;; Παρακαλούμε ενημερώστε μας. Μπορεί να
|
||
συνεργαστούμε με κάποιο τρόπο χρήσιμο και στις δύο πλευρές. Ο κόσμος του
|
||
ελεύθερου λογισμικού έχει ενδιαφέρουσες επιπτώσεις σε πολλές υπάρχουσες
|
||
θεωρίες σχετικά με την ανάπτυξη, την πώληση και τη συντήρηση του
|
||
λογισμικού. Αξίζει, αν όχι να ασχοληθείτε μαζί του, τουλάχιστον να έχετε
|
||
υπόψη σας πως λειτουργεί.</para>
|
||
|
||
<sect1 id="contrib-what">
|
||
<title>Τι χρειάζεται</title>
|
||
|
||
<para>Η λίστα εργασιών και μικρότερων έργων που ακολουθεί είναι μια
|
||
ενδεικτική συλλογή από ιδέες για υλοποίηση και αιτήματα των χρηστών του
|
||
&os;.</para>
|
||
|
||
<sect2 id="non-programmer-tasks">
|
||
<title>Εργασίες που δε χρειάζονται προγραμματιστές</title>
|
||
|
||
<para>Αρκετοί άνθρωποι που σχετίζονται με το &os; δεν είναι
|
||
προγραμματιστές. Το έργο περιλαμβάνει συγγραφείς τεκμηρίωσης,
|
||
σχεδιαστές ιστοσελίδων και ανθρώπους που το υποστηρίζουν. Το μόνο που
|
||
χρειάζεται για να συνεισφέρει κάποιος στο έργο αυτής της ομάδας είναι
|
||
η διάθεση να επενδύσει λίγο χρόνο και η θέληση για γνώση.</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>Διαβάστε τη λίστα συχνών ερωτήσεων (FAQ) και το Εγχειρίδιο του
|
||
&os;. Αν κάτι δεν εξηγείται σωστά, περιέχει ξεπερασμένες
|
||
πληροφορίες ή είναι εντελώς λάθος, ειδοποιήστε μας. Ακόμα
|
||
καλύτερα, στείλτε μας μια διόρθωση (η SGML δεν είναι δύσκολη στην
|
||
εκμάθηση, αλλά πάντα δεχόμαστε και διορθώσεις σε μορφή απλού
|
||
κειμένου ASCII).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Βοηθήστε στη μετάφραση της τεκμηρίωσης του &os; στη μητρική
|
||
σας γλώσσα. Αν υπάρχει ήδη τεκμηρίωση στη γλώσσα σας, μπορείτε να
|
||
βοηθήσετε στη μετάφραση επιπρόσθετων κειμένων ή να επιβεβαιώνετε
|
||
ότι η μετάφραση είναι ενημερωμένη. Πρώτα, κοιτάξτε
|
||
στις <ulink url="&url.books.fdp-primer;/translations.html">απαντημένες
|
||
ερωτήσεις σχετικά με τις μεταφράσεις</ulink> στο Βασικό Οδηγό για
|
||
την Τεκμηρίωση του &os;. Το να στείλετε μία μετάφραση δεν σας
|
||
καθιστά υπεύθυνο να μεταφράσετε όλη την τεκμηρίωση του &os;. Ως
|
||
εθελοντής μπορείτε να μεταφράσετε όσα κείμενα θέλετε ή μπορείτε·
|
||
όσο πολλά, μεγάλα, μικρά ή λίγα είναι αυτά. Μόλις αρχίσει κάποιος
|
||
τη μετάφραση της τεκμηρίωσης του &os; σε μια γλώσσα, σχεδόν αμέσως
|
||
αρχίσουν να συνεισφέρουν κι άλλοι στην προσπάθεια. Αν έχετε το
|
||
χρόνο ή την ενέργεια να μεταφράσετε
|
||
μόνο ένα μέρος της τεκμηρίωσης, παρακαλούμε μεταφράστε τις οδηγίες
|
||
εγκατάστασης.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Να διαβάζετε περιστασιακά (ή καθημερινά) τις &a.questions; και
|
||
&ng.misc;. Το να μοιράζεστε την εμπειρία σας και να βοηθάτε
|
||
ανθρώπους να λύσουν τα προβλήματά τους μπορεί να είναι ιδιαίτερα
|
||
ικανοποιητικό. Μερικές φορές μπορεί να μάθετε και κάτι νέο μέσα
|
||
από αυτή τη διαδικασία! Επίσης αυτές οι συζητήσεις μπορεί να σας
|
||
δώσουν ιδέες για καινούρια ενδιαφέροντα πράγματα με τα οποία
|
||
μπορείτε να ασχοληθείτε.</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</sect2>
|
||
|
||
<sect2 id="ongoing-programmer-tasks">
|
||
<title>Εργασίες για προγραμματιστές</title>
|
||
|
||
<para>Στις περισσότερες από τις εργασίες που αναφέρονται εδώ χρειάζεται
|
||
είτε σημαντική επένδυση χρόνου ή μία σε βάθος γνώση του πυρήνα του
|
||
&os; ή και τα δύο. Υπάρχουν επίσης πολλές εργασίες οι οποίες είναι
|
||
ταυτόχρονα χρήσιμες και αρκετά εύκολες ακόμη και για
|
||
κάποιον <quote>hacker του σαββατοκύριακου</quote>.</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>Αν τρέχετε &os;-CURRENT και έχετε γρήγορη σύνδεση στο
|
||
Internet, υπάρχει ένας εξυπηρετητής
|
||
στο <hostid role="fqdn">current.FreeBSD.org</hostid> που <quote>χτίζει</quote> μια
|
||
πλήρη έκδοση κάθε μέρα. Προσπαθήστε να εγκαταστήσετε την
|
||
τελευταία έκδοση από εκεί και κάντε αναφορά για οποιοδήποτε
|
||
πρόβλημα συναντήσετε κατά τη διάρκεια της εγκατάστασης ή μετά από
|
||
αυτήν.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Διαβάστε τη &a.bugs;. Πιθανόν να υπάρχει κάποιο πρόβλημα το
|
||
οποίο μπορείτε να σχολιάσετε εποικοδομητικά ή κάποιο patch το
|
||
οποίο μπορείτε να δοκιμάσετε. Ακόμα καλύτερα, μπορεί να βρείτε
|
||
κάποιο πρόβλημα το οποίο σας φαίνεται ενδιαφέρον και μπορεί να το
|
||
διορθώσετε οι ίδιοι.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Αν γνωρίζετε οποιεσδήποτε διορθώσεις προβλήματος οι οποίες
|
||
έχουν εφαρμοστεί επιτυχημένα στον κλάδο ανάπτυξης -CURRENT αλλά
|
||
δεν έχουν συγχωνευτεί με τον κλάδο -STABLE μετά από κάποιο λογικό
|
||
διάστημα (συνήθως μερικές βδομάδες), στείλτε στον committer μια
|
||
ευγενική υπενθύμιση.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Βοηθήστε μας να ξεχωρίσουμε το λογισμικό από εξωτερικές ομάδες
|
||
και να μετακινήσουμε τέτοια προγράμματα στον
|
||
κατάλογο <filename class="directory">src/contrib</filename> του πηγαίου
|
||
κώδικα.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Σιγουρευτείτε ότι τα προγράμματα
|
||
του <filename class="directory">src/contrib</filename> έχουν ενημερωθεί στις
|
||
τελευταίες διαθέσιμες εκδόσεις.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Μεταγλωττίστε τον πηγαίο κώδικα (ή ένα μέρος του κώδικα) με
|
||
επιπλέον ειδοποιήσεις πιθανών λαθών (compiler warnings) και
|
||
διορθώστε ότι λάθη βρείτε.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Διορθώστε τις προειδοποιήσεις λάθους (warnings) για τα ports
|
||
τα οποία χρησιμοποιούν μη αποδεκτές κλήσεις, όπως η
|
||
συνάρτηση <function>gets()</function>, ή συμπεριλαμβάνουν παλιά
|
||
αρχεία include, όπως το <filename>malloc.h</filename>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Αν έχετε συνεισφέρει αλλαγές για κάποια ports και χρειάστηκαν
|
||
αλλαγές για να δουλέψει το αντίστοιχο λογισμικό σωστά σε &os;,
|
||
στείλτε τις αλλαγές σας στους αρχικούς δημιουργούς του λογισμικού
|
||
(αυτό θα κάνει τη ζωή σας ευκολότερη όταν θα κυκλοφορήσουν τη νέα
|
||
έκδοση).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Προσπαθείστε να βρείτε αντίγραφα από επίσημα πρότυπα όπως το &posix;. Μπορείτε
|
||
να βρείτε συνδέσμους σχετικά με αυτά τα πρότυπα στην
|
||
ιστοσελίδα <ulink url="&url.base;/projects/c99/index.html">&os;
|
||
C99 & POSIX Standards Conformance Project</ulink>. Συγκρίνετε την
|
||
συμπεριφορά του &os; με την απαιτούμενη από τα πρότυπα. Αν η
|
||
συμπεριφορά διαφέρει, ιδιαίτερα σε λεπτά ή δυσδιάκριτα σημεία των
|
||
προδιαγραφών, στείλτε μια αναφορά προβλήματος σχετικά με αυτό. Αν είναι δυνατόν
|
||
σκεφτείτε ένα τρόπο να διορθώσετε το πρόβλημα και συμπεριλάβετε το patch στην
|
||
αναφορά σας. Αν θεωρείται ότι τα πρότυπα είναι λανθασμένα, θέστε ερώτημα
|
||
στον οργανισμό του προτύπου να εξετάσει το θέμα.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Μπορείτε ακόμη να προτείνετε επιπλέον εργασίες για αυτή τη
|
||
λίστα!</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Εργασία Μέσω της Βάσης Αναφορών Προβλημάτων (PR database)</title>
|
||
|
||
<indexterm><primary>problem reports database</primary></indexterm>
|
||
<indexterm><primary>βάση αναφορών προβλημάτων</primary></indexterm>
|
||
|
||
<para>Η <ulink url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi">λίστα
|
||
αναφορών προβλημάτων του &os;</ulink> περιέχει όλες τις γνωστές
|
||
αναφορές προβλημάτων και τα αιτήματα αναβάθμισης τα οποία έχουν
|
||
υποβάλλει σε αυτή οι χρήστες του &os;. Σε αυτή υπάρχουν εργασίες τόσο
|
||
για προγραμματιστές όσο και για μη προγραμματιστές. Ένας τρόπος να
|
||
βοηθήσετε την ανάπτυξη του &os; είναι να διατρέξετε (μία η
|
||
περισσότερες φορές) τη λίστα προβλημάτων, ψάχνοντας για κάτι που σας
|
||
ενδιαφέρει. Μερικές από αυτές τις αναφορές προβλημάτων σχετίζονται με
|
||
πολύ απλές εργασίες. Πολλές φορές αρκεί μία σύντομη ματιά για να
|
||
επιβεβαιωθεί ότι η προτεινόμενη διόρθωση κάποιου προβλήματος είναι
|
||
σωστή. Άλλες φορές οι αλλαγές που χρειάζονται είναι πιο δύσκολες ή
|
||
δεν έχει βρεθεί κάποια λύση ακόμα.</para>
|
||
|
||
<para>Αρχίστε με τις αναφορές προβλημάτων που δεν έχουν εκχωρηθεί σε
|
||
κάποιον άλλον. Αν η αναφορά είναι καταχωρημένη σε κάποιον, αλλά
|
||
βλέπετε ότι είναι κάτι που μπορείτε να χειριστείτε, ειδοποιήστε με
|
||
email τον υπεύθυνο της αναφοράς και ρωτήστε αν μπορείτε να δουλέψετε
|
||
πάνω σ' αυτήν. Ίσως ο υπεύθυνος έχει ήδη ξεκινήσει κάποιες
|
||
διορθώσεις και σας δώσει κάτι για δοκιμή ή έχει ήδη κάποιες ιδέες που
|
||
μπορείτε να συζητήσετε μαζί του.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Διαλέξτε κάποιο αντικείμενο από την σελίδα με
|
||
τις <quote>ιδέες</quote>.</title>
|
||
|
||
<para>Η λίστα <ulink url="&url.base;/projects/ideas/">&os; των έργων και
|
||
των ιδεών για εθελοντές</ulink> είναι επίσης διαθέσιμη για ανθρώπους
|
||
με διάθεση να συνεισφέρουν στο έργο του &os;. Η λίστα ανανεώνεται
|
||
τακτικά και περιλαμβάνει αντικείμενα για ενασχόληση τόσο για
|
||
προγραμματιστές όσο και για μη προγραμματιστές και παρέχει πληροφορίες
|
||
για κάθε έργο.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="contrib-how">
|
||
<title>Πως μπορείτε να συνεισφέρετε</title>
|
||
|
||
<para>Οι συνεισφορές στο σύστημα κατατάσσονται γενικά σε μια από τις
|
||
ακόλουθες 5 κατηγορίες:</para>
|
||
|
||
<sect2 id="contrib-general">
|
||
<title>Αναφορές προβλήματος και γενικές επεξηγηματικές παρατηρήσεις-σχόλια</title>
|
||
|
||
<para>Μια ιδέα ή πρόταση <emphasis>γενικού</emphasis> τεχνικού
|
||
ενδιαφέροντος θα πρέπει να αποσταλεί στη λίστα &a.hackers;. Επιπλέον,
|
||
άνθρωποι με ενδιαφέρον για τέτοια θέματα (αλλά και ανεκτικότητα
|
||
σε <emphasis>μεγάλο</emphasis> αριθμό εισερχόμενων μηνυμάτων!) μπορούν
|
||
να γραφτούν στη λίστα &a.hackers;. Δείτε
|
||
το <ulink url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">Εγχειρίδιο
|
||
του &os;</ulink> για περισσότερες πληροφορίες σχετικά με αυτήν αλλά
|
||
και άλλες λίστες.</para>
|
||
|
||
<para>Αν βρείτε κάποιο bug ή αν έχετε κάνει κάποια συγκεκριμένη αλλαγή,
|
||
παρακαλούμε κάντε αναφορά χρησιμοποιώντας το πρόγραμμα &man.send-pr.1;
|
||
ή την αντίστοιχη <ulink url="&url.base;/send-pr.html">
|
||
ιστοσελίδα</ulink>. Προσπαθήστε να συμπληρώσετε όλα τα πεδία της
|
||
αναφοράς. Αν οι αλλαγές που κάνατε δεν ξεπερνούν τα 65KB σε μέγεθος,
|
||
συμπεριλάβετε τις αλλαγές σας απευθείας στην αναφορά. Αν οι αλλαγές
|
||
είναι κατάλληλες για εφαρμογή στον πηγαίο κώδικα, προσθέστε την ετικέτα
|
||
<literal>[PATCH]</literal> στην περίληψη της αναφοράς. Όταν
|
||
συμπεριλαμβάνετε patches, <emphasis>μη</emphasis> χρησιμοποιείτε
|
||
αντιγραφή-και-επικόλληση, διότι η αντιγραφή και επικόλληση μετατρέπει
|
||
συχνά τους στηλοθέτες (TAB) σε κενά και αχρηστεύει το patch. Αν τα patches είναι
|
||
πολύ μεγαλύτερα από 20KB, δοκιμάστε να τα συμπιέσετε (π.χ. με το
|
||
&man.gzip.1; ή το &man.bzip2.1;) και χρησιμοποιήστε το εργαλείο
|
||
&man.uuencode.1; για να εισάγετε τη συμπιεσμένη μορφή στην αναφορά
|
||
σας.</para>
|
||
|
||
<para>Μετά της υποβολή μιας αναφοράς θα λάβετε επιβεβαίωση παράλληλα με
|
||
έναν αριθμό αναφοράς. Κρατήστε τον αριθμό ώστε να μπορείτε να μας
|
||
ενημερώνετε με πληροφορίες σχετικά με το πρόβλημα στέλνοντας mail στο
|
||
&a.bugfollowup;. Χρησιμοποιήστε τον αριθμό της αναφοράς σας στο θέμα
|
||
του μηνύματος, π.χ. <literal>"Re: kern/3377"</literal>. Επιπρόσθετες
|
||
πληροφορίες για οποιοδήποτε αναφορά προβλήματος θα πρέπει να
|
||
υποβάλλονται με τον παραπάνω τρόπο.</para>
|
||
|
||
<para>Εάν δε λάβετε επιβεβαίωση εγκαίρως (3 μέρες ως μια βδομάδα,
|
||
ανάλογα με τη αξιοπιστία του email) ή για κάποιο λόγο αδυνατείτε να
|
||
χρησιμοποιήσετε την εντολή &man.send-pr.1;, μπορείτε να απευθυνθείτε
|
||
σε κάποιον προκειμένου να την αρχειοθετήσει για εσάς στέλνοντας mail
|
||
στη &a.bugs;.</para>
|
||
|
||
<para>Δείτε
|
||
επίσης <ulink url="&url.articles.problem-reports;/article.html">αυτό
|
||
το άρθρο</ulink> σχετικά με το πώς να γράφετε καλές αναφορές
|
||
προβλημάτων.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Αλλαγές στην τεκμηρίωση</title>
|
||
|
||
<indexterm><primary>documentation submissions</primary></indexterm>
|
||
<indexterm><primary>συνεισφορές τεκμηρίωσης</primary></indexterm>
|
||
|
||
<para>Οι αλλαγές στην τεκμηρίωση επιβλέπονται από την &a.doc;. Για
|
||
πλήρεις οδηγίες σχετικά με τον τρόπο που μπορείτε να συνεισφέρετε στην
|
||
τεκμηρίωση του &os;, δείτε
|
||
τον <ulink url="&url.books.fdp-primer;/index.html">Οδηγό τεκμηρίωσης
|
||
του &os;</ulink>. Στείλτε τα καινούρια σας κείμενα ή τις αλλαγές
|
||
σας (ακόμη και μικροδιορθώσεις είναι πάντα καλοδεχούμενες)
|
||
χρησιμοποιώντας την εντολή &man.send-pr.1; όπως περιγράφετε
|
||
στο <link linkend="contrib-general">Αναφορά bugs και γενικά σχόλια -
|
||
παρατηρήσεις</link>.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Αλλαγές στον Πηγαίο Κώδικα</title>
|
||
|
||
<indexterm><primary>&os;-CURRENT</primary></indexterm>
|
||
|
||
<para>Μία προσθήκη ή αλλαγή στον υπάρχοντα κώδικα είναι κατά κάποιο τρόπο
|
||
περίτεχνη υπόθεση και εξαρτάται αρκετά από τον βαθμό της ενημέρωσης
|
||
που έχετε με την τρέχουσα κατάσταση της ανάπτυξης του &os;. Υπάρχει
|
||
μια ειδική συνεχώς αναπτυσσόμενη έκδοση του &os; γνωστή
|
||
ως <quote>&os;-CURRENT</quote> η οποία είναι διαθέσιμη με διάφορους
|
||
τρόπους για την ευκολία των προγραμματιστών που δραστηριοποιούνται
|
||
ενεργά στην ανάπτυξη του συστήματος.
|
||
Δείτε <ulink url="&url.books.handbook;/current-stable.html">το
|
||
Εγχειρίδιο του &os;</ulink> για περισσότερες πληροφορίες σχετικά με
|
||
το που θα βρείτε και πώς μπορείτε να χρησιμοποιήσετε το &os;-CURRENT.</para>
|
||
|
||
<para>Δουλεύοντας από παλιότερο κώδικα δυστυχώς σημαίνει ότι οι αλλαγές
|
||
σας μπορεί μερικές φορές να είναι αρκετά ξεπερασμένες ή να
|
||
αποκλίνουν πολύ, οπότε να δυσκολεύει κάπως η ενσωμάτωσή τους στο &os;.
|
||
Ρίσκα σαν γι' αυτά μπορούν να ελαχιστοποιηθούν κάπως με την συμμετοχή
|
||
στις λίστες &a.announce; και &a.current;, στις οποίες διεξάγονται
|
||
συζητήσεις για την τρέχουσα κατάσταση του συστήματος.</para>
|
||
|
||
<para>Αφού εξασφαλίσετε κάπως ένα σχετικά ενημερωμένο αντίγραφο του
|
||
πηγαίου κώδικα ως βάση για τις αλλαγές σας, το επόμενο βήμα είναι να
|
||
δημιουργήσετε diffs για αποστολή στην ομάδα ανάπτυξης του &os;. Αυτό
|
||
γίνεται με την εντολή &man.diff.1;.</para>
|
||
|
||
<para>Το προτιμώμενο format του &man.diff.1; για την υποβολή patches
|
||
είναι η ενοποιημένη μορφή εξόδου (unified diff), που δημιουργείται από
|
||
την εντολή <command>diff -u</command>. Μια μικρή εξαίρεση είναι τα τα
|
||
patches που αλλάζουν μεγάλα κομμάτια κώδικα, ουσιαστικά
|
||
αντικαθιστώντας τα σχεδόν με μια καινούρια έκδοση. Για τέτοιες
|
||
αλλαγές μπορεί να είναι πιο ευανάγνωστη η μορφή εξόδου που
|
||
δημιουργείται από την εντολή <command>diff -c</command>.</para>
|
||
|
||
<indexterm>
|
||
<primary><command>diff</command></primary>
|
||
</indexterm>
|
||
|
||
<para>Για παράδειγμα το:</para>
|
||
|
||
<screen>&prompt.user; <userinput>diff -c παλιό_αρχείο νέο_αρχείο</userinput></screen>
|
||
|
||
<para>ή το</para>
|
||
|
||
<screen>&prompt.user; <userinput>diff -c -r παλιός_κατάλογος νέος_κατάλογος</userinput></screen>
|
||
|
||
<para>θα δημιουργήσει ένα σετ από context diffs για τον κώδικα του
|
||
συγκεκριμένου αρχείου ή της ιεραρχίας καταλόγων.</para>
|
||
|
||
<para>Ομοίως το,</para>
|
||
|
||
<screen>&prompt.user; <userinput>diff -u παλιό_αρχείο νέο_αρχείο</userinput></screen>
|
||
|
||
<para>ή το</para>
|
||
|
||
<screen>&prompt.user; <userinput>diff -u -r παλιός_κατάλογος νέος_κατάλογος</userinput></screen>
|
||
|
||
<para>θα κάνει το ίδιο, αλλά θα παράγει diff ενοποιημένη μορφή.</para>
|
||
|
||
<para>Δείτε τη βοήθεια του εργαλείου &man.diff.1; για περισσότερες
|
||
λεπτομέρειες.</para>
|
||
|
||
<para>Από τη στιγμή που έχετε κάποια diffs, (τα οποία μπορείτε να
|
||
ελέγξετε με την εντολή &man.patch.1;), θα πρέπει να τα υποβάλλετε για
|
||
ενσωμάτωση στο &os;. Χρησιμοποιήστε το πρόγραμμα
|
||
&man.send-pr.1;, όπως περιγράφετε στο
|
||
κείμενο <link linkend="contrib-general">Αναφορά Bugs και γενικός
|
||
σχολιασμός - παρατηρήσεις</link>. <emphasis>Μη</emphasis> στέλνετε
|
||
μόνο ένα μήνυμα με τα patches στη &a.hackers; αλλιώς θα χαθούν!
|
||
Σας ευχαριστούμε προκαταβολικά για οποιαδήποτε προσφορά κώδικα (το
|
||
έργο ανάπτυξης του &os; είναι εθελοντική προσπάθεια που βασίζεται
|
||
ακριβώς σε τέτοιες προσφορές!). Επειδή είμαστε απασχολημένοι, μπορεί
|
||
να μη χειριστούμε την αίτηση για αλλαγή αμέσως, ωστόσο μέχρι να το
|
||
κάνουμε αυτό, θα παραμείνει στην βάση αναφορών. Θυμηθείτε να
|
||
επισημάνετε την υποβολή σας με την ετικέτα <literal>[PATCH]</literal>
|
||
στην περίληψη της αναφοράς.</para>
|
||
|
||
<indexterm>
|
||
<primary><command>uuencode</command></primary>
|
||
</indexterm>
|
||
|
||
<para>Αν νομίζετε ότι χρειάζεται (π.χ. έχετε προσθέτει, αφαιρέσει ή
|
||
μετονομάσει κάποια αρχεία), χρησιμοποιείστε το εργαλείο
|
||
<command>tar</command> για να πακετάρετε τις αλλαγές σας, και το
|
||
εργαλείο &man.uuencode.1; για να τις ενσωματώσετε στην αναφορά που θα
|
||
στείλετε. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το εργαλείο
|
||
&man.shar.1; αντί για το &man.tar.1;.</para>
|
||
|
||
<para>Αν η φύση των αλλαγών που θέλετε να κάνετε είναι κάπως ευαίσθητη,
|
||
π.χ. αν δεν είστε σίγουροι για τα πνευματικά δικαιώματα και τη διανομή
|
||
των αλλαγών ή αν απλά δεν είστε έτοιμοι να δώσετε στη δημοσιότητα
|
||
κάποιες αλλαγές χωρίς ένα review ακόμα, τότε είναι καλύτερα να
|
||
στείλετε τις αλλαγές σας απευθείας στην &a.core; αντί να τις
|
||
προωθήσετε μέσω του &man.send-pr.1;. Η &a.core; αποτελείται από ένα
|
||
πολύ μικρότερο αριθμό ατόμων. Έχετε υπόψιν όμως ότι αυτή η ομάδα
|
||
είναι <emphasis>πολύ απασχολημένη</emphasis>, οπότε καλό είναι να τους
|
||
στέλνετε μηνύματα μόνο όταν είστε αρκετά σίγουροι ότι είναι
|
||
απαραίτητο.</para>
|
||
|
||
<para>Κάτι τελευταίο σχετικά με τον πηγαίο κώδικα του &os;. Οι σελίδες
|
||
τεκμηρίωσης &man.intro.9; και &man.style.9; περιέχουν πληροφορίες
|
||
σχετικά με το στυλ κώδικα που προτιμούμε για το &os;. Πριν στείλετε
|
||
σημαντικές αλλαγές στην ομάδα ανάπτυξης είναι σημαντικό να έχετε
|
||
εξοικειωθεί με το στυλ που γράφουμε και, όταν είναι δυνατόν, να το
|
||
ακολουθήσετε στο γράψιμο του κώδικα που θα μας στείλετε.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Νέος Κώδικας και Μεγάλα Πακέτα Πρόσθετων Χαρακτηριστικών</title>
|
||
|
||
<para>Στην περίπτωση μιας σχετικά μεγάλης συνεισφοράς λογισμικού στο
|
||
&os; και κάθε φορά που προστίθεται ένα σημαντικό καινούριο
|
||
χαρακτηριστικό στο σύστημα, είναι σχεδόν πάντα απαραίτητο να είναι
|
||
διαθέσιμες οι αλλαγές με τη μορφή ενός πακέτου tar ή να είναι
|
||
διαθέσιμες μέσω ενός εξυπηρετητή web ή FTP. Αν δεν έχετε πρόσβαση για
|
||
να ανεβάσετε τα αρχεία σε κάποιοn εξυπηρετητή web ή FTP, ρωτήστε στην
|
||
κατάλληλη λίστα ηλεκτρονικού ταχυδρομείου του &os; και κάποιος άλλος
|
||
μπορεί να φιλοξενήσει τα αρχεία για σας.</para>
|
||
|
||
<para>Το ευαίσθητο θέμα των πνευματικών δικαιωμάτων και των αδειών
|
||
χρήσης είναι το επόμενο πράγμα που παίζει μεγάλο ρόλο, ιδιαίτερα για
|
||
μεγάλα έργα λογισμικού. Οι άδειες χρήσης που είναι αποδεκτές για
|
||
κώδικα που ενσωματώνεται στο &os; είναι οι παρακάτω:</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<indexterm><primary>Άδεια BSD</primary></indexterm>
|
||
|
||
<para>Η άδεια χρήσης BSD. Αυτή η άδεια είναι η προτιμότερη, λόγω
|
||
της ιδιαίτερης <quote>χωρίς περιορισμούς</quote> φύσης που έχει
|
||
και της δυνατότητας χρήσης του κώδικα ακόμη και για εμπορικούς
|
||
σκοπούς. Η Ομάδα του &os; δεν αποθαρρύνει τέτοιου είδους χρήση
|
||
του πηγαίου κώδικα. Το αντίθετο μάλιστα, ενθαρρύνει τη χρήση του
|
||
κώδικα, αφού έτσι υπάρχει πιθανότητα ορισμένοι εμπορικοί να
|
||
συνεισφέρουν με τη σειρά τους στην ανάπτυξη του &os;.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<indexterm><primary>GPL</primary><see>GNU General Public License</see></indexterm>
|
||
|
||
<indexterm><primary>GNU General Public License</primary></indexterm>
|
||
|
||
<para>Η άδεια GNU General Public License, ή <quote>GPL</quote>.
|
||
αυτή η άδεια δεν είναι τόσο δημοφιλής επειδή χρειάζεται έξτρα
|
||
προσπάθεια από οποιονδήποτε χρησιμοποιεί τον κώδικα για εμπορικούς
|
||
σκοπούς, αλλά επειδή υπάρχει ένα μεγάλο σώμα πηγαίου κώδικα, το
|
||
οποίο διανέμεται με αυτή την άδεια κι από το οποίο εξαρτιόμαστε
|
||
(μεταγλωττιστής, assembler, προγράμματα μορφοποίησης κειμένου,
|
||
κλπ.), θα ήταν κάπως χαζό να μη δεχόμαστε καμία αλλαγή σε τέτοιο
|
||
κώδικα. Ο κώδικας με άδεια GPL διανέμεται όμως σε δικό του,
|
||
ξεχωριστό μέρος του πηγαίου κώδικα του &os;, κάτω από τους
|
||
καταλόγους <filename class="directory">/sys/gnu</filename>
|
||
και <filename class="directory">/usr/src/gnu</filename>. Έτσι είναι εύκολο να
|
||
ξεχωρίσει κανείς από τον κώδικα του &os; όλα τα μέρη με άδεια GPL,
|
||
όταν υπάρχει λόγος να γίνει τέτοιος διαχωρισμός.</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
|
||
<para>Οι συνεισφορές κώδικα με οποιαδήποτε άλλη άδεια πρέπει να περάσουν
|
||
από πολύ προσεκτικό έλεγχο πριν αποφασίσουμε αν υπάρχει λόγος να
|
||
ενσωματωθούν με το &os;. Οι συνεισφορές με ιδιαίτερα αυστηρούς
|
||
εμπορικούς περιορισμούς απορρίπτονται συνήθως χωρίς πολύ σκέψη, αλλά
|
||
οι δημιουργοί των αλλαγών ή του συγκεκριμένου κώδικα μπορούν πάντα να
|
||
διανέμουν τις αλλαγές τους μέσα από τα δικά τους κανάλια διανομής και
|
||
επικοινωνίας.</para>
|
||
|
||
<para>Για να ορίσετε ότι κάποιο δικό σας έργο πηγαίου κώδικα διανέμεται
|
||
με τους όρους μιάς άδειας <quote>τύπου BSD</quote> μπορείτε να
|
||
συμπεριλάβετε στην αρχή των αρχείων πηγαίου κώδικα το παρακάτω
|
||
κείμενο, αντικαθιστώντας το κείμενο μεταξύ των <literal>%%</literal>
|
||
με τις κατάλληλες πληροφορίες:</para>
|
||
|
||
<programlisting>Copyright (c) %%χρονιά_ή_χρονιές_αλλαγών%%
|
||
%%το_όνομά_σας%%, %%η_διεύθυνσή_σας%%.
|
||
All rights reserved.
|
||
|
||
Redistribution and use in source and binary forms, with or without
|
||
modification, are permitted provided that the following conditions
|
||
are met:
|
||
1. Redistributions of source code must retain the above copyright
|
||
notice, this list of conditions and the following disclaimer as
|
||
the first lines of this file unmodified.
|
||
2. Redistributions in binary form must reproduce the above copyright
|
||
notice, this list of conditions and the following disclaimer in the
|
||
documentation and/or other materials provided with the distribution.
|
||
|
||
THIS SOFTWARE IS PROVIDED BY %%το_όνομά_σας%% ``AS IS'' AND ANY EXPRESS OR
|
||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||
IN NO EVENT SHALL %%το_όνομά_σας%% BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
||
$Id$</programlisting>
|
||
|
||
<para>Ένα αντίγραφο αυτού του κειμένου υπάρχει στο
|
||
αρχείο <filename>/usr/share/examples/etc/bsd-style-copyright</filename>,
|
||
οπότε μπορείτε να το αντιγράφετε από εκεί κάθε φορά που
|
||
χρειάζεται.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Χρήματα, Υλικό ή Πρόσβαση στο Διαδίκτυο</title>
|
||
|
||
<para>Κάθε δωρεά που μπορείτε να κάνετε στο έργο του &os; είναι
|
||
ευπρόσδεκτη. Ακόμα και η πιο μικρή προσφορά μπορεί να έχει μεγάλη
|
||
σημασία για ένα έργο το οποίο βασίζεται στην εθελοντική εργασία, όπως
|
||
το δικό μας. Ειδικά οι προσφορές σε υλικό είναι πολύ σημαντικές, αφού
|
||
έτσι μας δίνεται η δυνατότητα να επεκτείνουμε την υποστήριξη του &os;
|
||
για το υλικό αυτό — κάτι που μπορεί να μην είναι εύκολο αν
|
||
πρέπει να αγοράσουμε κάθε κομμάτι υλικού μόνοι μας.</para>
|
||
|
||
<sect3>
|
||
<title><anchor id="donations"/>Χρηματικές Δωρεές</title>
|
||
|
||
<para>Η οργάνωση &os; Foundation είναι ένας μη κερδοσκοπικός σύλλογος,
|
||
ο οποίος έχει ιδρυθεί για να προωθήσει το έργο της Ομάδας του &os;.
|
||
Λόγω της νομικής φύσης του συλλόγου, η οργάνωση παρέχει μερικές
|
||
φορολογικές ελαφρύνσεις στις Ηνωμένες Πολιτείες και πιο συγκεκριμένα
|
||
στην πολιτεία του Colorado. Οι δωρεές στην οργάνωση εκπίπτουν από
|
||
τους φόρους που πρέπει να πληρώσει κάποιος στις Ηνωμένες Πολιτείες·
|
||
πιθανόν και σε άλλα μέρη.</para>
|
||
|
||
<para>Οι δωρέες σας μπορούν να σταλούν σε μορφή εμβάσματος, στη διεύθυνση:
|
||
<address>
|
||
The &os; Foundation
|
||
<street>7321 Brockway Dr.</street>
|
||
<city>Boulder</city>, <state>CO</state> <postcode>80303</postcode>
|
||
<country>USA</country>
|
||
</address>
|
||
</para>
|
||
|
||
<para>Η οργάνωση μπορεί πλέον να δεχτεί και δωρεές μέσω δικτύου από το
|
||
σύστημα PayPal. Αν ενδιαφέρεστε να κάνετε κάποια δωρεά, παρακαλούμε
|
||
ξεκινήστε από
|
||
την <ulink url="http://www.freebsdfoundation.org">ιστοσελίδα της
|
||
&os; Foundation</ulink>.</para>
|
||
|
||
<para>Περισσότερες πληροφορίες για την οργάνωση &os; Foundation
|
||
μπορείτε να βρείτε στην
|
||
ανακοίνωση <ulink url="http://people.FreeBSD.org/~jdp/foundation/announcement.html">The
|
||
&os; Foundation -- an Introduction</ulink>. Η επικοινωνία με την
|
||
οργάνωση μπορεί να γίνει και μέσω ηλεκτρονικής αλληλογραφίας στη
|
||
διεύθυνση <email>bod@FreeBSDFoundation.org</email>.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Δωρεές Υλικού</title>
|
||
|
||
<indexterm><primary>donations</primary></indexterm>
|
||
<indexterm><primary>δωρεές</primary></indexterm>
|
||
<para>Η Ομάδα Ανάπτυξης του &os; δέχεται κάθε δωρεά υλικού για την
|
||
οποία μπορεί να βρει κάποια καλή χρήση. Αν ενδιαφέρεστε να μας
|
||
δωρίσετε κάποιο υλικό, παρακαλούμε επικοινωνήστε με
|
||
την <ulink url="&url.base;/donations/">Ομάδα Διαχείρισης των
|
||
Δωρεών</ulink>.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Δωρέες Πρόσβασης στο Διαδίκτυο</title>
|
||
|
||
<para>Πάντα είναι χρήσιμο να έχουμε καινούρια mirror sites για το FTP,
|
||
τον ιστότοπό μας ή το <command>cvsup</command>. Αν θέλετε να
|
||
εγκαταστήσετε ένα τέτοιο mirror, παρακαλούμε δείτε τo
|
||
άρθρο <ulink url="&url.articles.hubs;/index.html">Mirroring
|
||
&os;</ulink>. Εκεί θα βρείτε περισσότερες πληροφορίες.</para>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
</article>
|