I took the C code from the png2theora
example tool of Xiph.Org Theora which has a copyright header:
/********************************************************************
* *
* THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
* THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009,2009 *
* by the Xiph.Org Foundation and contributors http://www.xiph.org/ *
* *
********************************************************************
function: example encoder application; makes an Ogg Theora
file from a sequence of png images
last mod: $Id$
based on code from Vegard Nossum
********************************************************************/
The COPYING file points is a 3-clause BSD license.
I have taken the code apart into several pieces which I have rewritten in Vala code classes (so in a different programming language).
I also wrote several vapi files to bind to the C APIs (for libtheora, libogg and libpng).
I did several heavy changes to the code:
- Replaced return code based error handling by exception handling
- Rewrote command line parsing from getopt to GLib OptionGroup
- Reorganized the code into several classes
- Replaced stdio file functions by gio classes
- Added some additional error handling
So I have almost completely rewritten the original code, but it should still work essentially like the original tool from the user perspective.
Now I would like to release this code (preferably under an AGPLv3 license).
How do I correctly attribute the original authors copyright / license in this case?