Skip to content

Document license under which audioop is used #46968

Closed

Description

@brettcannon
BPO 2716
Nosy @akuchling, @birkenfeld, @terryjreedy, @vstinner, @benjaminp, @VanL, @furkanonder
PRs
  • bpo-2716: add license for audioop module #19972
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2008-04-29.00:22:49.758>
    labels = ['3.8', '3.7', 'library', '3.9', 'docs']
    title = 'Document license under which audioop is used'
    updated_at = <Date 2020-05-07.00:56:43.829>
    user = 'https://github.com/brettcannon'

    bugs.python.org fields:

    activity = <Date 2020-05-07.00:56:43.829>
    actor = 'terry.reedy'
    assignee = 'docs@python'
    closed = False
    closed_date = None
    closer = None
    components = ['Documentation', 'Library (Lib)']
    creation = <Date 2008-04-29.00:22:49.758>
    creator = 'brett.cannon'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 2716
    keywords = ['patch']
    message_count = 9.0
    messages = ['65948', '65952', '66023', '105618', '112507', '170115', '217675', '241760', '368316']
    nosy_count = 9.0
    nosy_names = ['akuchling', 'georg.brandl', 'terry.reedy', 'vstinner', 'benjamin.peterson', 'vanl', 'docs@python', 'hac.man', 'furkanonder']
    pr_nums = ['19972']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue2716'
    versions = ['Python 3.7', 'Python 3.8', 'Python 3.9']

    Linked PRs

    Activity

    1. brettcannon commented on Apr 29, 2008

      @brettcannon
      MemberAuthor

      The audioop module contains a comment that is somewhat troubling from an
      IP standpoint:

      /* Code shamelessly stolen from sox, 12.17.7, g711.c
      ** (c) Craig Reese, Joe Campbell and Jeff Poskanzer 1989 */

      Because of this it would be best to remove the current module and re-
      implement it from scratch (or remove it entirely).

    2. added
      stdlibStandard Library Python modules in the Lib/ directory
      on Apr 29, 2008
    3. benjaminp commented on Apr 29, 2008

      @benjaminp
      Contributor

      I would support removing this in Py3k. It seems like a specialty module
      not worth having in the standard library. Also, is this even being
      maintained?

    4. birkenfeld commented on Apr 30, 2008

      @birkenfeld
      Member

      It is, as most "old" standard modules, not actively maintained, but
      there is always the chance that somebody will fix bugs as they are
      reported :)

      Anyway, the algorithms in it won't change, and if you want its removal I
      predict there will be many people crying out.

    5. vstinner commented on May 13, 2010

      @vstinner
      Member

      I found severe bugs (which may lead to security vulnerabilities) in audioop: bpo-7673. Nobody fixed these errors (but my issue contains a patch).

    6. birkenfeld commented on Aug 2, 2010

      @birkenfeld
      Member

      Current status: no lawsuit yet.

    7. hacman commented on Sep 9, 2012

      hacmanmannequin
      Mannequin

      The license from http://sox.sourcearchive.com/documentation/12.17.7/g711_8c-source.html

      /*
       * This source code is a product of Sun Microsystems, Inc. and is provided
       * for unrestricted use.  Users may copy or modify this source code without
       * charge.
       *
       * SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
       * THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
       * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
       *
       * Sun source code is provided with no support and without any obligation on
       * the part of Sun Microsystems, Inc. to assist in its use, correction,
       * modification or enhancement.
       *
       * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
       * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
       * OR ANY PART THEREOF.
       *
       * In no event will Sun Microsystems, Inc. be liable for any lost revenue
       * or profits or other special, indirect and consequential damages, even if
       * Sun has been advised of the possibility of such damages.
       *
       * Sun Microsystems, Inc.
       * 2550 Garcia Avenue
       * Mountain View, California  94043
       */

      That seems compatible with Python's licensing, no? It seems like adding this license text to the file and also to the documentation in http://docs.python.org/license.html#licenses-and-acknowledgements-for-incorporated-software would make this a non-issue. Assessment of the module's contents and whether it should be rewritten or removed seems like a separate issue.

      I could write up a patch if people think that this would solve the problem.

    8. terryjreedy commented on May 1, 2014

      @terryjreedy
      Member

      Audioop was not removed in 3.x; the security bugs have been fixed; and no lawsuit. I agree with Aaron about modifying 2 files. I would also change 'shamelessly stolen' to 'taken'. IP is no longer something to joke about.

    9. changed the title [-]Reimplement audioop because of copyright issues[/-] [+]Document license under which audioop is used[/+] on May 1, 2014
    10. akuchling commented on Apr 22, 2015

      @akuchling
      Contributor

      Van: what do you think? I can prepare a patch for Aaron's suggested changes.

    11. furkanonder commented on May 6, 2020

      furkanondermannequin
      Mannequin

      PR has been sent.

    12. 2 remaining items

    13. ambv commented on Feb 6, 2024

      @ambv
      Contributor

      This library is removed from Python 3.13. However, the currently used license file in 3.10 - 3.12 is invalid and should be replaced.

      Analysis by Aaron K. Williamson advises us to revert to the Sun Microsystems license text as present in g771.c found in the tarball of sox 12.17.7.

      Full context from Aaron

      April 11, 2022: Van comments on the commit saying the license "does not match the declared license from the source file (GPL, or possible LGPL later)," "looks incorrect," and that the correct license "would significantly affect the licensing of Python overall." It's clear from Van's comment that the "source file" he's referring to is the one at the URL in the commit: https://sourceforge.net/projects/sox/files/sox/12.17.7/. If you download the binary (.zip) distribution of the SoX project from that URL, the only declared license is the GPL. According to Van's comment, he was unable to access the "sourcearchive on bpo" because the link was down. So he looked at the source URL identified in the commit and concluded the license was GPL. If he had looked at the other download (the tar.gz) at that SourceForge URL, he would have found the source code for SoX v. 12.17.7. And in that source code distribution, the file g711.c is licensed under the Sun Microsystems license included in the initial commit (which is fully compatible with the PSF License).

      July 30, 2022: furkanonder makes another commit replacing the Sun Microsystems license header with the current license header (beginning "Programming the AdLib/Sound Blaster FM Music Chips Version 2.0").

      October 3, 2022: furkanonder responds to Van's comment, saying "I have added the license in the source you mentioned." It is unclear why furkanonder thought he was doing what Van asked. The license he added appears to be from a short webpage about programming the Sound Blaster: http://www.shipbrook.net/jeff/sb.html. The license text is not found in the source archive Van linked to -- the license for g711.c in that source archive is the same Sun Microsystems license that was included in the initial commit. Maybe it was just copypasta, but the license in master is not the correct license.

      In conclusion: just revert the file header to the Sun Microsystems license in the initial commit and everything will be fixed.

    14. reopened this on Feb 6, 2024
    15. added a commit that references this issue on Feb 6, 2024
    16. added a commit that references this issue on Feb 6, 2024
    17. added 4 commits that reference this issue on Feb 6, 2024
    18. ambv commented on Feb 6, 2024

      @ambv
      Contributor

      Order restored to 3.10 - 3.12.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.10 (EOL)end of life3.11only security fixes3.12only security fixes3.7 (EOL)end of life3.8 (EOL)end of life3.9 (EOL)end of lifedocsDocumentation in the Doc dirstdlibStandard Library Python modules in the Lib/ directory

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions