[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MusicKit licensing
From: |
Leigh Smith |
Subject: |
Re: MusicKit licensing |
Date: |
Wed, 3 Mar 2004 11:21:08 -0500 |
The SndKit SndMeter.m file states:
<quote>
* "Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
* Reserved. This file contains Original Code and/or Modifications of
* Original Code as defined in and that are subject to the Apple Public
* Source License Version 1.0 (the 'License'). You may not use this
file
* except in compliance with the License. Please obtain a copy of the
* License at http://www.apple.com/publicsource and read it before
using
* this file.
</quote>
Which, while talking to Apple, could probably be resolved by using
APSL 2.0
Once again, there is quite a historical tale to tell :-)
Stephen Brandon while at the University of Glasgow, wrote the SndKit as
an open source duplicate of NeXT's SoundKit which was then closed
source. Only days before the final release, Apple placed the SoundKit
on APSL 1.0. In a couple of cases we incorporated a couple of files,
soundstruct.h and SndMeter.m from the SoundKit into the SndKit
distribution. As I understand it, this does not contravene the APSL 1.0
since we preserved their copyrights. However, as you have pointed out,
this does encumber the SndKit distribution while those files continue
to have to be distributed. Note that the SoundKit may well now be
distributed under APSL 2.0, I just haven't checked and transported over
the new copyright statement to the files distributed under the SndKit.
SndKit and MKPerformSndMIDI both contain such copyright statements.
(example MKPerformSndMIDI: soundstruct.h)
The two cases you cite can be addressed fairly straightforwardly.
For technical reasons we are in the process of phasing out soundstructs
in entirety. The rate at which this progresses is dependent on the
number of contributors :^) There is a bit of work required rewriting
several methods in Snd.m, SndView.m and SndFunctions.m to replace
SndSoundStructs with NSData and SndFormat objects and structs, but it's
not massive and something that is already underway and improves the
system anyway. Developers with a real need to clear themselves of the
APSL license while using the SndKit are invited to contribute time or
money to musickit.org to aid this work.
SndMeter.m is as it stands non-functional. It's actually just there for
reference as to how sound meters were done in the SoundKit which is now
very different internally to the SndKit, which uses a streaming
architecture, written mostly by Skot McDonald. It's trivial to drop
SndMeter.m from compilation or distribution, or as is planned, rewrite
to work as a subclass of the new SndStreamClient class.
If you could resolve these issues with Apple: great!
I think that LGPL would solve all your issues, but can imagine that
Apple would like to use their APSL.
Jeff Teunissen wrote:
If the MusicKit developers have no explicit permission to place the
NeXT and
Apple portions of the work under the MusicKit license, then the
license on
the work as a whole is invalid.
The MusicKit project currently distributes the code that CCRMA
distributed under their agreement with NeXT. In effect we are a mirror
site of CCRMA's distribution, together with a (massive) set of patches
which are distributed under our own license, which does not contradict
the license CCRMA distributed under. This why the license statement on
musickit.org reproduces the original distribution statement that CCRMA
provided when they made the source available, as well as the current
license that covers all modifications to the V4.2 distribution. You
therefore use the code subject to two (distinct but closely matching)
licenses, those lines of code provided by CCRMA under the 4.2 license,
and those patches provided by the MusicKit project under the current
MusicKit Project license. diff is your friend :-)
The complication has arisen from that it seems there was a time limit
to the NeXT <-> CCRMA agreement, which was not publicly declared in
CCRMA's distribution (or anywhere else). This then means ownership of
the code as delivered to CCRMA by NeXT (which was, as best as I can
determine, version 3.0 code) reverts back to NeXT (now Apple). So there
then needs to be another agreement reached, mostly between Apple and
CCRMA, to license the V3.0 code and then to allow CCRMA to reassert a
distribution license. These days there are common models of open source
distribution, so in theory something can be arrived at with less
special purpose legal agreements - but then, I'm not a lawyer and after
this episode, I never want to be...
--
Leigh Smith
mailto:leigh@leighsmith.com
http://www.leighsmith.com