[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Sample messages to the upstream authors



[Cc: me if you discuss it on debian-doc, I'm not subscribed to it.]

Following the famous thread launched by the upstream maniac Per Abrahamsen, 
there have been a long discussion about the relations with the upstream 
authors. I just want here to share the templates of the messages I send to the 
upstream authors, when I intent to package their program and when it is 
actually installed. Feel free to use them, to modify them, to put them in a 
documentation. Fixes for English mistakes are welcome, as well as any comments.

Do note that I always ask authorization to package, even for a free program, 
because I find it just polite, and it's a nice way to get in touch with the 
author.

In the message I send after installation, they receive instructions on how to 
get the diffs, the bug reports, etc. Of course, everything is public but the 
upstream maintainer may not know our gadgets :-)

The templates are M4 files, in order to be able to produce variants (for 
instance, for free or non-free programs).


--
http://www.debian.org/~bortz/




MAINTAINER=Stephane Bortzmeyer <bortzmeyer@debian.org>
SIGNATURE=http://www.debian.org/~bortz/
LIBS=Letter.m4

ifdef NO_LICENCE
LARGS=-DNO_LICENCE
endif
ifdef NONFREE
LARGS=-DNONFREE
endif
ifdef POSSIBLY_NONFREE
LARGS=-DPOSSIBLY_NONFREE
endif
ifdef CONTRIB
LARGS=-DCONTRIB
endif

ifdef BIOLOGY
ARGS=$(LARGS) -DBIOLOGY
else
ARGS=$(LARGS)
endif

all:
	@echo "intent or installed?"
	@exit 1

intent:
ifndef PROGRAM
	@echo "PROGRAM is not set"
	@exit 1
else
	m4 -DPROGRAM=$(PROGRAM) -DDEBIAN_MAINTAINER="$(MAINTAINER)" -DDEBIAN_SIGNATURE=$(SIGNATURE) $(ARGS) $(LIBS) Intent > /tmp/ITP.$(PROGRAM)
endif

installed:
ifndef PROGRAM
	@echo "PROGRAM is not set"
	@exit 1
else
  ifndef SECTION
	@echo "SECTION is not set"
	@exit 1
  else
	m4 -DPROGRAM=$(PROGRAM) -DSECTION=$(SECTION) -DDEBIAN_MAINTAINER="$(MAINTAINER)" -DDEBIAN_SIGNATURE=$(SIGNATURE) $(ARGS) $(LIBS) Installed > /tmp/installed.$(PROGRAM)
  endif
endif
divert(-1) 
   Various M4 declarations for letters to upstream
   authors.

   If you know nothing about M4, see the short help at the end.

divert(0)dnl
dnl
define(`macro_check', `ifdef(`$1', `', 
	`errprint(`The macro $1 is not defined
')m4exit(1)')')dnl
dnl
divert(-1)
Very short help for people with m4 disabilities:
* To use a definition, just type its name, like in cpp.
* Be careful of ` and ', which are the quoting characters.
* When you want to avoid extra newlins, add "dnl" at the end of the
  lines you want to trim.
* Some names can be already defined as macros but GNU m4 typically 
   will find by itself if it was really intended to be a macro call. 
   On the other hand, be sure to avoid any space between the macro
   name and the first ( otherwise, it will not be expanded.
divert(0)
divert(-1) 
   Template for a mail message to an upstream maintainer when
   you intent to packages his work. Copyright Stephane Bortzmeyer
   <bortzmeyer@debian.org>. Use freely, according to the General
   Public Licence.

   Instanciate it with something like:
   m4 -DPROGRAM=foobar -DDEBIAN_MAINTAINER="Joe Smith <smith@debian.org>" Letter.m4 Intent

   If you know nothing about M4, see the short help at the end of the
   Letter.m4 file.

   Here are all the variables it uses:

Mandatory:

PROGRAM : name of the upstream program
DEBIAN_MAINTAINER : your name

Optional:

DEBIAN_SIGNATURE : any .sig you find useful
NO_LICENCE : define it if you cannot find a licence
NONFREE : define it if the program is not free. 
POSSIBLY_NONFREE : define it if the program may be free, but you are
                  not sure. 

divert(0)dnl
dnl
macro_check(`PROGRAM')dnl
macro_check(`DEBIAN_MAINTAINER')dnl

Dear author,

I write to you as the author of the PROGRAM package. I plan to make
a Debian package of PROGRAM and I would like your authorization and
some details.

What is Debian?  
---------------------

Debian is a specific *distribution* of the Linux operating system. It
is a set of programs, based on the same policy, regarding placement
of files, etc, which can be installed without compiling anything. My
personal opinion is that Debian is the best Linux distribution available
and certainly the easiest to manage, thanks to its packaging system. You
can have more information at <http://www.debian.org/>.

What is a Debian package?  
-------------------------

A package is a binary archive of a program (or a closely related group
of programs) which owners of a Debian system can install or remove
easily, by one command. Files in the package are arranged according to
the Debian policy, so the user is certain to find the documentation in
/usr/doc/PROGRAM, the configuration files in /etc and so on.

Packages are made by volunteers like me which take an existing
program, patch it if necessary and describes the rules that make it
"Debian-compliant".

ifdef(`BIOLOGY',dnl
`Who is the target?  
------------------

According to a post I made on bionet.software, there are several
biology research organizations which have Linux Debian machines and are
interested by such a packaging. Debian packages, besides being available
on the Internet, are also included in Debian CD-ROMS.

What is done already?
--------------------

http://www.pasteur.fr/units/sis/debian/biology-en.html
',)dnl

What do I need?  
---------------

I would like your authorization, and please, if you say yes,
keep me informed of future versions so I can update the package.
dnl If the program is free, the authorization is not required, we
dnl ask it only by politeness.

ifdef(`POSSIBLY_NONFREE',dnl
`I would like to know, in the case of agreement, in which section
to put the package. We (Debian) have a "main" section where
all the software which meet the Debian Free Software Guidelines
<http://www.debian.org/social_contract#guidelines> go. A "non-free"
section is available for the programs which, in one way or the other,
fail to meet these requirments but can still be distributed, at least via
the Internet (software which bans selling cannot be distributed on CDROMs,
which is a big problem for Third world countries, where downloading via
the network is often not an option).

Since I am not sure to understand the licence for PROGRAM, please tell me
if you think we can distribute and use PROGRAM according to the above
DFSG. Which means, among others, that registration should be volunteer
and commercial use allowed.
',dnl
`ifdef(`NO_LICENCE',dnl
`There is a legal and political issue:
I do not find a specific document describing the licence for PROGRAM. Even
since it seems free, the word is so terribly ambiguous in
english <http://www.gnu.org/philosophy/free-sw.html> that I prefer to
check. Can we distribute and use PROGRAM according to the above
DFSG? Which means, among others, that registration should be volunteer
and commercial use allowed.

Regarding the issue of licensing, I suggest, rather than to write a
specific licence for PROGRAM, to simply refer to an existing licence,
which is simpler and less prone to errors. I suggest the GNU General
Public Licence (GPL).  See <http://www.gnu.org/copyleft/gpl.html>,
<http://www.debian.org/misc/bsd.license> and
<http://language.perl.com/misc/Artistic.html> for examples.
',
`ifdef(`NONFREE',dnl
`Since PROGRAM is not free, according to our Debian Free Software 
Guidelines <http://www.debian.org/social_contract#guidelines>, it 
will be put into the non-free section of Debian.',
dnl Free!
`Thank you for making PROGRAM free, it will be integrated in the "main" 
section of Debian.')')'
)dnl

Yours,
DEBIAN_MAINTAINER
ifdef(`DEBIAN_SIGNATURE',dnl 
DEBIAN_SIGNATURE,
http://www.debian.org/
)dnl
divert(-1) 
   Template for a mail message to an upstream maintainer when
   his package is installed. Copyright Stephane Bortzmeyer
   <bortzmeyer@debian.org>. Use freely, according to the General
   Public Licence.

   Instanciate it with something like:
   m4 -DPROGRAM=foobar -DSECTION=x11 -DDEBIAN_MAINTAINER="Joe Smith <smith@debian.org>" Letter.m4 Installed 

   If you know nothing about M4, see the short help at the end of the
   Letter.m4 file.

   Here are all the variables it uses:

Mandatory:

PROGRAM : name of the upstream program
SECTION : the Debian subsection (devel, utils, x11, etc) 
           where it is installed
DEBIAN_MAINTAINER : your name

Optional:

DEBIAN_SIGNATURE : any .sig you find useful
CONTRIB : the program is in contrib
NONFREE : the program is non-free :-(

divert(0)dnl
dnl
macro_check(`PROGRAM')dnl
macro_check(`SECTION')dnl
macro_check(`DEBIAN_MAINTAINER')dnl

Dear author,

This message is to inform you that your program PROGRAM has been
officially installed as a Debian package. I want to thank you for
providing it and to give you some informations, in case you want to
know what we did with your work, or if you want to learn more. 
Nothing in that message require a reply from you: it is just
information. But if you do reply, and ask for details, I'll do my best
to provide them. This message is stereotyped, because it comes from
a template, but I can do better manually.

All the information about the Debian package of PROGRAM and the ways
to download it can be found on the Web at
<http://www.debian.org/Packages/unstable/SECTION/PROGRAM.html>. 
Or you can use our search engine and try 
<http://packages.debian.org/PROGRAM>. 

Your program is in the "unstable" section of Debian, which does not 
mean we regard it as unstable: it's just it is integrated in the
unstable branch of the Debian project, which will become stable in the
future.

The bugs for this program will be logged in our Bug Tracking System
<http://www.debian.org/Bugs/>. It is public, so anyone can check the
current state of a package, for instance, in our case, by looking at
<http://bugs.debian.org/PROGRAM>. Some of these bugs will be due to the
Debian packaging, and addressed by us, some will be upstream and I'll
forward them to you. Of course, you can request that all bugs being
forwarded to you.

The source of a Debian package consists mostly in two files: an
orig.tar.gz which is, as far as possible, the pristine source. It
differs from your own tarball only if there is a serious issue (for
instance, the mix of free and non-free items in an original
tarball). The second file, diff.gz is a "diff" file of the work of
the Debian packager (if you have problems using "diff" files, feel free
to ask for help). 
dnl It may seem incredible but it happens often with programmers
dnl of biology stuff.

All files in the "debian/" directory are Debian-specific, so you can 
ignore them. The rest are patches I had to make, for instance to
comply with the Debian policy
<http://www.debian.org/doc/debian-policy/>. You are invited to
integrate them, in order to ease packaging, not only for Debian, but
also for any project with similar aims. These patches are documented
in the "debian/README.debian" file.
dnl
dnl Developers are encouraged to include README.debian file 
dnl here and to comment it.

ifdef(`NONFREE',dnl
`I had to put PROGRAM into the "non-free" section of Debian because
its licence does not comply with the Debian Free Software Guidelines
<http://www.debian.org/social_contract#guidelines>, which are the
rules we use to see if a program is free. Remember that "free" here
means "freedom" and not "gratis". And that you may have another
definition of free, but the DFSG are the ones we use.',dnl
`ifdef(`CONTRIB',dnl
`I had to put PROGRAM into the "contrib" section of Debian because it
depends on non-free software. "contrib" is the place where go the
Debian packages which are free, but rely on non-free stuff.',dnl
dnl Here is a good place to explain what are the non-free components
dnl and to suggest alternatives.
dnl MAIN
`Thanks for making your program free, we are very fond of freedom and
this is actually the basis of the whole Debian project.'dnl
)')

Yours,
DEBIAN_MAINTAINER
ifdef(`DEBIAN_SIGNATURE',dnl 
DEBIAN_SIGNATURE,
http://www.debian.org/
)dnl

Reply to: