ΑΝΝ: κυκλοφόρησε το 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