Repository navigation
Document license under which audioop is used #46968
Copy link
Copy link
Closed
Labels
3.10 (EOL)end of lifeend of life3.11only security fixesonly security fixes3.12only security fixesonly security fixes3.7 (EOL)end of lifeend of life3.8 (EOL)end of lifeend of life3.9 (EOL)end of lifeend of lifedocsDocumentation in the Doc dirDocumentation in the Doc dirstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directory
Description
| BPO | 2716 |
|---|---|
| Nosy | @akuchling, @birkenfeld, @terryjreedy, @vstinner, @benjaminp, @VanL, @furkanonder |
| PRs |
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
3.10 (EOL)end of lifeend of life3.11only security fixesonly security fixes3.12only security fixesonly security fixes3.7 (EOL)end of lifeend of life3.8 (EOL)end of lifeend of life3.9 (EOL)end of lifeend of lifedocsDocumentation in the Doc dirDocumentation in the Doc dirstdlibStandard Library Python modules in the Lib/ directoryStandard Library Python modules in the Lib/ directory
Activity
brettcannon commentedon Apr 29, 2008
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).
benjaminp commentedon Apr 29, 2008
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 commentedon Apr 30, 2008
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 commentedon May 13, 2010
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 commentedon Aug 2, 2010
Current status: no lawsuit yet.
hacman commentedon Sep 9, 2012
The license from http://sox.sourcearchive.com/documentation/12.17.7/g711_8c-source.html
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 commentedon May 1, 2014
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.
[-]Reimplement audioop because of copyright issues[/-][+]Document license under which audioop is used[/+]akuchling commentedon Apr 22, 2015
Van: what do you think? I can prepare a patch for Aaron's suggested changes.
furkanonder commentedon May 6, 2020
PR has been sent.
2 remaining items
brettcannon commentedon Oct 21, 2022
ambv commentedon 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.
[3.12] gh-46968: Fix invalid reference to Sound eXchange (SoX) 12.17.…
[3.12] pythongh-46968: Fix invalid reference to Sound eXchange (SoX) …
pythongh-46968: Fix invalid reference to Sound eXchange (SoX) 12.17.7…
[3.10] [3.12] pythongh-46968: Fix invalid reference to Sound eXchange…
[3.11] gh-46968: Fix invalid reference to Sound eXchange (SoX) 12.17.…
[3.10] gh-46968: Fix invalid reference to Sound eXchange (SoX) 12.17.…
ambv commentedon Feb 6, 2024
Order restored to 3.10 - 3.12.