Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document license under which audioop is used #46968

Closed
brettcannon opened this issue Apr 29, 2008 · 12 comments
Closed

Document license under which audioop is used #46968

brettcannon opened this issue Apr 29, 2008 · 12 comments
Labels
3.7 (EOL) end of life 3.8 (EOL) end of life 3.9 only security fixes 3.10 only security fixes 3.11 only security fixes 3.12 bugs and security fixes docs Documentation in the Doc dir stdlib Python modules in the Lib dir

Comments

@brettcannon
Copy link
Member

brettcannon commented Apr 29, 2008

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

    @brettcannon
    Copy link
    Member Author

    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).

    @brettcannon brettcannon added the stdlib Python modules in the Lib dir label Apr 29, 2008
    @benjaminp
    Copy link
    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?

    @birkenfeld
    Copy link
    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.

    @vstinner
    Copy link
    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).

    @birkenfeld
    Copy link
    Member

    Current status: no lawsuit yet.

    @hacman
    Copy link
    Mannequin

    hacman mannequin commented Sep 9, 2012

    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.

    @terryjreedy
    Copy link
    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.

    @terryjreedy terryjreedy added the docs Documentation in the Doc dir label May 1, 2014
    @terryjreedy terryjreedy changed the title Reimplement audioop because of copyright issues Document license under which audioop is used May 1, 2014
    @akuchling
    Copy link
    Member

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

    @furkanonder
    Copy link
    Mannequin

    furkanonder mannequin commented May 6, 2020

    PR has been sent.

    @terryjreedy terryjreedy added 3.7 (EOL) end of life 3.8 (EOL) end of life 3.9 only security fixes labels May 7, 2020
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    @AlexWaygood AlexWaygood added 3.11 only security fixes 3.10 only security fixes 3.12 bugs and security fixes labels May 11, 2022
    @ambv
    Copy link
    Contributor

    ambv commented Feb 6, 2024

    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.

    @ambv ambv reopened this Feb 6, 2024
    ambv added a commit that referenced this issue Feb 6, 2024
    …7 license (#115094)
    
    Fix invalid reference to Sound eXchange (SoX) 12.17.7 license
    miss-islington pushed a commit to miss-islington/cpython that referenced this issue Feb 6, 2024
    …12.17.7 license (pythonGH-115094)
    
    Fix invalid reference to Sound eXchange (SoX) 12.17.7 license
    (cherry picked from commit b391199)
    
    Co-authored-by: Łukasz Langa <[email protected]>
    ambv added a commit to ambv/cpython that referenced this issue Feb 6, 2024
    ambv added a commit to ambv/cpython that referenced this issue Feb 6, 2024
    … (SoX) 12.17.7 license (pythonGH-115094)
    
    Fix invalid reference to Sound eXchange (SoX) 12.17.7 license
    (cherry picked from commit b391199)
    
    Co-authored-by: Łukasz Langa <[email protected]>
    ambv added a commit that referenced this issue Feb 6, 2024
    …7 license (GH-115094) (GH-115095)
    
    (cherry picked from commit b391199)
    
    Co-authored-by: Łukasz Langa <[email protected]>
    ambv added a commit that referenced this issue Feb 6, 2024
    …7 license (GH-115094) (GH-115096)
    
    (cherry picked from commit b391199)
    
    Co-authored-by: Łukasz Langa <[email protected]>
    @ambv
    Copy link
    Contributor

    ambv commented Feb 6, 2024

    Order restored to 3.10 - 3.12.

    @ambv ambv closed this as completed Feb 6, 2024
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.7 (EOL) end of life 3.8 (EOL) end of life 3.9 only security fixes 3.10 only security fixes 3.11 only security fixes 3.12 bugs and security fixes docs Documentation in the Doc dir stdlib Python modules in the Lib dir
    Projects
    None yet
    Development

    No branches or pull requests

    8 participants