ΑΝΝ: κυκλοφόρησε το rtorstat 0.4.0
Giorgos Keramidas
keramida at ceid.upatras.gr
Wed Jun 4 15:06:57 EEST 2008
On Wed, 04 Jun 2008 14:32:22 +0300, George Notaras <gnot at g-loaded.eu> wrote:
>Giorgos Keramidas wrote:
>> Εχει νόημα αυτό που λες με το ChangeLog, αλλά στο GNU Emacs είναι
>> πολύ αυστηροί οι κανόνες περί ανάθεσης copyright. Το etc/AUTHORS
>> βολεύει και για να βρεις 3 χρόνια μετά, όταν υπογράψει ο Κεραμίδας το
>> form για copyright assignment στην FSF, ποιά αρχεία είναι 'GPL safe' :-)
>
> Μέχρι τώρα θεωρούσα ότι αυτά τα αρχεία υπάρχουν σε όλα τα πακέτα για
> λόγους ομοιομορφίας. Αλλά, βλέπω ότι εδώ υπάρχουν νομικά ζητήματα και,
> επιπλέον, ότι υπάρχουν οι "κλασικές" διαφορετικές "τάσεις" στην
> προσέγγιση κι αυτού του ζητήματος!
>
> Αν και δεν πρόκειται για κανένα σοβαρό πρόγραμμα, ευχαριστώ για την
> επισήμανση. Υπάρχει κάποια σελίδα που να περιγράφει γενικότερα το πώς
> πρέπει να είναι τα αρχεία που συμπεριλαμβάνονται στο πακέτο διανομής
> ενός open-source προγράμματος;
Εξαρτάται.
<trivia>
Στο FreeBSD ας πούμε, ένα standard utility μπορεί να έχει απλά 3 files:
kobe-> pwd
/usr/src/bin/cat
kobe-> ls -l
total 16
-rw-rw-r-- 1 build build - 145 Mar 17 19:18 Makefile
-rw-rw-r-- 1 build build - 5015 Mar 17 19:18 cat.1
-rw-rw-r-- 1 build build - 6852 Mar 17 19:18 cat.c
kobe->
Η κυριότερη απαίτηση για κάθε file είναι να έχει σωστό copyright header,
όπως π.χ. αυτό:
/*-
* Copyright (c) 1987, 1993, 1994
* The Regents of the University of California. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* [insert standard BSD license clauses]
*
*/
Για νέο κώδικα έχουμε έτοιμα παραδείγματα από license templates στο
αρχείο `/usr/share/examples/etc/bsd-style-copyright'. Αυτό έχει το
νέο στυλ από 2-clause BSD license:
/*-
* Copyright (c) [year] [your name]
* 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.
* 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 THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ...
*/
Μια τελευταία απαίτητη των BSD programmers είναι να ακολουθείται πάντα
το ίδιο στυλ κώδικα, το οποίο περιγράφεται στο manpage style(9):
http://www.freebsd.org/cgi/man.cgi?query=style&apropos=0&sektion=9&manpath=FreeBSD+8-current&format=ascii
Στο Linux kernel είναι λίγο διαφορετικά τα πράγματα.
Ένα toplevel file περιέχει το GNU General Public License v2 (το αρχείο
λέγεται `COPYING', σύμφωνα με τις οδηγίες της GPL), και τα source files
έχουν header σαν αυτό:
/* linux/drivers/cdrom/cdrom.c
Copyright (c) 1996, 1997 David A. van Leeuwen.
Copyright (c) 1997, 1998 Erik Andersen <andersee at debian.org>
Copyright (c) 1998, 1999 Jens Axboe <axboe at image.dk>
May be copied or modified under the terms of the GNU General Public
License. See linux/COPYING for more information.
... */
Σε άλλα projects ακολουθούν διαφορετικές συμβάσεις. Ένα τυπικό
`template' από οργάνωση του πηγαίου κώδικα για GNU προγράμματα είναι το
κλασικό `hello world' πρόγραμμα, που σε λίγο θα φτάσει να παίζει σκάκι
μαζί σου επειδή μπορεί να ξεκινήσει ένα παιχνίδι με τον χαιρετισμό
`Hello! I'm your psychiatric assistant. Do you want to play?'.
Το source από το GNU hello είναι κι ένα ωραίο παράδειγμα από τον
`ενδεδειγμένο τρόπο χρήσης' των GNU autotools. Μπορείς να το βρείς εδώ:
http://www.gnu.org/software/hello/
Εκεί έχει κι ένα link στα `GNU Coding Standards':
http://www.gnu.org/prep/standards/
Το σημαντικό είναι όμως ότι δεν υπάρχει __ΕΝΑΣ__ τρόπος να διαμορφώσεις
τη δομή του πηγαίου κώδικα, κι αυτό είναι πλεονέκτημα μερικές φορές.
Κυρίως γιατί πολλά free software ή open source προγράμματα γράφονται από
προγραμματιστές, οι οποίοι συνήθως *βαριούνται* όλο αυτό το
`γραφειοκρατικό' κομμάτι :P
</trivia>
More information about the Linux-greek-users
mailing list