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

Re: Public domain and DEP-5-compliant debian/copyright



Hello again,

[ Remainder: this thread is about a file whose copyright/licensing
  statement is of the form:

     # Copyright (C) 2002-2010, 2013, 2014  ...
     # Copyright (C) 2000  ...
     #
     # This program is in the public domain.

  It has been established by the mavens from this list that the
  copyright statements contradict the "public domain" assertion, and
  that simply stating "This program is in the public domain" is not
  enough to make it so in general. As a consequence, I am trying to have
  the file relicensed under a proper license such as BSD-2 or BSD-3. I
  have also taken note of the suggestions given here about the Apache
  Software Foundation License 2.0 (which I am still considering) and the
  CC-0, thank you. ]

Sorry for the little delay. I have recently tried to contact the person
who is most likely, appart from me, to legitimately own some copyright
over the file in question in this thread, namely demo.py from
pythondialog (python-dialog in Debian). This person has been friendly in
the past, there is no problem on this side, however time is pressing
because of the imminent freeze of jessie and I am therefore considering
the other alternative.

[ Motivation: the python-dialog package in Debian is terribly outdated,
  has a few bugs including this little licensing problem, and supports
  neither Unicode nor Python 3, contrary to current upstream versions.
  As the upstream maintainer, I'd like to have it either removed from
  Debian or updated (and the packaging part of the update is not a
  problem, I already have something ready using modern packaging
  practices, namely dh, dh_python3 and pybuild).

  BTW, if you are interested, the next upstream version will have much
  nicer, Sphinx-based documentation---you can see a snapshot of the
  ongoing work at
  <http://people.via.ecp.fr/~flo/tmp/pythondialog-newdoc-snapshot/_build/html/>.
  ]

So, given that demo.py and its ancestor dialog.py from pythondialog 1.0
have very very little in common now, I wonder if the copyright notices
from the two other contributors are still relevant (I have kept them so
far as a matter of courtesy and to be sure to be on the safe side). What
remains is mostly a few English sentences such as "One moment... Just
wasting some time here to test the infobox...", "What's your name?",
etc. that are used to illustrate the different widgets...

To make this more concrete, the original file is dialog.py at:

  https://sourceforge.net/projects/pythondialog/files/pythondialog/1.0/

while demo.py from current upstream Git can be found at:

  https://sourceforge.net/p/pythondialog/code/ci/master/tree/examples/demo.py

As far as I can tell, the parts from current demo.py that are closest to
the original dialog.py are of the following kind:

Old:
    d.infobox(
	"One moment... Just wasting some time here to test the infobox...")

New:
        d.infobox("One moment, please. Just wasting some time here to "
                  "show you the infobox...")


Old:
    if d.yesno("Do you like this demo?"):
	d.msgbox("Excellent!  Here's the source code:")
    else:
	d.msgbox("Send your complaints to /dev/null")

New:
    def yesno_demo(self, with_help=True):
        if not with_help:
            # Simple version, without the "Help" button (the return value is
            # True or False):
            return d.Yesno("\nDo you like this demo?", yes_label="Yes, I do",
                           no_label="No, I do not", height=10, width=40,
                           title="An Important Question")

        # 'yesno' dialog box with custom Yes, No and Help buttons
        while True:
            reply = d.Yesnohelp("\nDo you like this demo?",
                                yes_label="Yes, I do", no_label="No, I do not",
                                help_label="Please help me!", height=10,
                                width=60, title="An Important Question")
    [...]

    def msgbox_demo(self, answer):
        if answer:
            msg = "Excellent! Press OK to see its source code (or another " \
            "file if not in the correct directory)."
        else:
            msg = "Well, feel free to send your complaints to /dev/null!\n\n" \
                "Sincerely yours, etc."

        d.msgbox(msg, width=50)


Old:
    food = d.checklist("What sandwich toppings do you like?", 
	list=["Catsup", "Mustard", "Pesto", "Mayonaise", "Horse radish", 
	    "Sun-dried tomatoes"], checked=[0,0,0,1,1,1])

New:
    def checklist_demo(self):
        # We could put non-empty items here (not only the tag for each entry)
        code, tags = d.checklist(text="What sandwich toppings do you like?",
                                 height=15, width=54, list_height=7,
                                 choices=[("Catsup", "",             False),
                                          ("Mustard", "",            False),
                                          ("Pesto", "",              False),
                                          ("Mayonnaise", "",         True),
                                          ("Horse radish","",        True),
                                          ("Sun-dried tomatoes", "", True)],
                                 title="Do you prefer ham or spam?",
                                 backtitle="And now, for something "
                                 "completely different...")
        return tags

I think you get the idea. There are about 7 or 8 pieces of this kind;
everything else in demo.py is from me (cf. full history in the Git
repository). So, under the assumption that I don't hear from the
original author soon enough, is it necessary to artificially rewrite
these examples to use different English sentences, or are the original
parts too trivial to be copyrightable in the first place?

Thanks for taking the time to read me!

Regards

PS: no need to Cc me this time, I'm subscribed.

-- 
Florent


Reply to: