Download Developing software with GNU

Transcript
68
Developing software with GNU
You can also decide to send some kind of special greeting when you initially add a
name to your `THANKS' le. The mere presense of a name in `THANKS' is then a ag to
you that the initial greeting has been sent.
The NEWS le: List the major new features of this distribution and identify the version
that they pertain to. Don't discard items from previous versions. Leave them in the
le after the newer items, so that a user upgrading from any previous version can see
what is new.
The ChangeLog le: Use this le to record all the changes that you make to your source
code. If your source code is distributed among many subdirectories, and there is reason enough to think of the contents of the subdirectories as dierent subpackages,then
please maintain a separate `ChangeLog' le for each subdirectory. For example, although there is usually no need to maintain a `ChangeLog' for your documentation,
if you do decide to maintain one anyway, it should be separate from your sources
`ChangeLog'.
The GNU coding standards explain in a lot of detail how you should structure a
`ChangeLog', so you should read about it there. The basic idea is to record semipermenant modications you make to your source code. It is not necessary to continuously record changes that you make while you are experimenting with something.
But once you decide that you got a modication worked out, then you should record
Please do record version releases on the central `ChangeLog' (see Section 4.9 [Handling
version numbers], page 71). This way, it will be possible to tell what changes happened
between versions.
You can automate `ChangeLog' maintainance with emacs. See Section 2.5 [Navigating
source code], page 28, for more details. Recently versions of Emacs use the ISO 8601
standard for dates which is: YYYY-MM-DD (year-month-date). A typical `ChangeLog'
entry looks like this:
1998-05-17 Eleftherios Gkioulekas <[email protected]>
* src/acmkdir.sh: Now acmkdir will put better default content
to the files README, NEWS, AUTHORS, THANKS
Every entry contains all the changes you made within the period of a day. The most
recent changes are listed at the top, the older changes slowly scroll to the bottom.
Changes are sorted together in groups, per day of work.
COPYING This le contains the copyright permissions for your distribution, in particular the General Public License (see Appendix C [Licensing Free Software], page 131).
This le is generated automatically for you by Automake. However, it requires that
you insert copyright headers in your source code that refer to this le. See Section 4.8
[Applying the GPL], page 70, for more details.
Copyright is one of the many legal concerns that you need to be aware of if you develop
free software. See Appendix A [Legal issues with Free Software], page 113, for more
details. The philosophy of the GNU project, that software should be free, is very
important to the future of our community. See Appendix B [Philosophical issues],
page 117, to read Richard Stallman's essays on this topic.