Hi,
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software? I ask this, because clearly it has implications for who owns the copyright to the ported code.
For example, I have written an external that uses a Fast Cosine Transform algorithm originally implemented in Fortran, with the code released under the ACM license (http://www.acm.org/pubs/copyright_policy/softwareCRnotice.html). Clearly, if a port into C (as a PD external) is classed as a modification of the existing Fortran code, then I have to license the external under the ACM also. That is, unless the author agrees to relicense the code under the GPL. However, if the PD external is classed as an entirely separate piece of software, just using the same algorithm, could it be relicensed without consent?
Does anyone know the law/etiquette regarding this?
Thanks,
Jamie
Le 4 Janvier 2006 05:51, Jamie Bullock a écrit :
Hi,
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software? I ask this, because clearly it has implications for who owns the copyright to the ported code.
For example, I have written an external that uses a Fast Cosine Transform algorithm originally implemented in Fortran, with the code released under the ACM license (http://www.acm.org/pubs/copyright_policy/softwareCRnotice.html). Clearly, if a port into C (as a PD external) is classed as a modification of the existing Fortran code, then I have to license the external under the ACM also. That is, unless the author agrees to relicense the code under the GPL. However, if the PD external is classed as an entirely separate piece of software, just using the same algorithm, could it be relicensed without consent?
Does anyone know the law/etiquette regarding this?
The ACM license is a bit like a the CC attribution/non-commercial license. I'm not sure it can be considered a free software license (it's not listed on gnu.org), but I believe it can be used along with free software. For commercial use, you must contact the author and negociate a licensing agreement. For non-commercial use, you can distribute the source or binaries, even modify and/or integrate the source to your project, but the original code must be indentified as being the property of ACM. So I think you can licence your part as GPL and use the ACM part as instructed by the ACM license. -- Marc
Marc,
On Wed, 4 Jan 2006 10:42:36 -0500 Marc Lavallée marc@hacklava.net wrote:
Le 4 Janvier 2006 05:51, Jamie Bullock a écrit :
Hi,
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software? I ask this, because clearly it has implications for who owns the copyright to the ported code.
<snip>
The ACM license is a bit like a the CC attribution/non-commercial license. I'm not sure it can be considered a free software license (it's not listed on gnu.org), but I believe it can be used along with free software. For commercial use, you must contact the author and negociate a licensing agreement. For non-commercial use, you can distribute the source or binaries, even modify and/or integrate the source to your project, but the original code must be indentified as being the property of ACM. So I think you can licence your part as GPL and use the ACM part as instructed by the ACM license. -- Marc
Thanks for the reply. What you mention above is was what I already understood to be the case. However, the emphasis of my question is: does a port from one language to another generally count as new software, or modification of existing software from a licensing/copyright point of view?
For example, if I re-wrote PD in Java (heaven forbid), and it was functionally identical to PD, would it have to retain its original copyright/license, or would it be considered a new piece of software?
Jamie
On Jan 4, 2006, at 8:40 AM, Jamie Bullock wrote:
Marc,
On Wed, 4 Jan 2006 10:42:36 -0500 Marc Lavallée marc@hacklava.net wrote:
Le 4 Janvier 2006 05:51, Jamie Bullock a écrit :
Hi,
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software? I ask this, because clearly it has implications for who owns the copyright to the ported code.
<snip> > > The ACM license is a bit like a the CC attribution/non-commercial > license. > I'm not sure it can be considered a free software license (it's not > listed > on gnu.org), but I believe it can be used along with free software. > For > commercial use, you must contact the author and negociate a licensing > agreement. For non-commercial use, you can distribute the source or > binaries, even modify and/or integrate the source to your project, > but the > original code must be indentified as being the property of ACM. So I > think > you can licence your part as GPL and use the ACM part as instructed > by the > ACM license. > -- > Marc
Thanks for the reply. What you mention above is was what I already understood to be the case. However, the emphasis of my question is: does a port from one language to another generally count as new software, or modification of existing software from a licensing/copyright point of view?
For example, if I re-wrote PD in Java (heaven forbid), and it was functionally identical to PD, would it have to retain its original copyright/license, or would it be considered a new piece of software?
Copyright covers implementations, not ideas. So if you reimplement all of the ideas of Pd or this Fast Cosine Transform, then its a new implementation and you control the copyright. But if your implementation is just a copy of another implementation, then copyright applies.
.hc
________________________________________________________________________ ____
"If nature has made any one thing less susceptible than all others of exclusive property, it is the action of the thinking power called an idea, which an individual may exclusively possess as long as he keeps it to himself; but the moment it is divulged, it forces itself into the possession of everyone, and the receiver cannot dispossess himself of it." - Thomas Jefferson
Le 4 Janvier 2006 11:40, Jamie Bullock a écrit :
For example, if I re-wrote PD in Java (heaven forbid), and it was functionally identical to PD, would it have to retain its original copyright/license, or would it be considered a new piece of software?
It would be a new software, the source of the original software being like a set of specifications. Take Java for example: there's free implementations even if the ones from Sun and IBM are proprietary. In the case of your fct external, you read the FORTRAN routine, you understood it and you rewrote it in C with an interface for PD. The ACM licence does not say you must release your new software with the same license, it says that you must identify what comes from the original code and attribute it to the ACM. -- Marc
Le 4 Janvier 2006 10:42, Marc Lavallée a écrit :
Le 4 Janvier 2006 05:51, Jamie Bullock a écrit :
Hi,
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software? I ask this, because clearly it has implications for who owns the copyright to the ported code.
For example, I have written an external that uses a Fast Cosine Transform algorithm originally implemented in Fortran, with the code released under the ACM license (http://www.acm.org/pubs/copyright_policy/softwareCRnotice.html). Clearly, if a port into C (as a PD external) is classed as a modification of the existing Fortran code, then I have to license the external under the ACM also. That is, unless the author agrees to relicense the code under the GPL. However, if the PD external is classed as an entirely separate piece of software, just using the same algorithm, could it be relicensed without consent?
Does anyone know the law/etiquette regarding this?
The ACM license is a bit like a the CC attribution/non-commercial license. I'm not sure it can be considered a free software license (it's not listed on gnu.org), but I believe it can be used along with free software. For commercial use, you must contact the author and negociate a licensing agreement. For non-commercial use, you can distribute the source or binaries, even modify and/or integrate the source to your project, but the original code must be indentified as being the property of ACM. So I think you can licence your part as GPL and use the ACM part as instructed by the ACM license.
Jamie, I checked your external (http://www.puredata.org/Members/jb/fct/view) I see that you are already releasing everything with the original ACM license. I think your port of the original FORTRAN routine (http://www.netlib.org/toms/749) does not belong to the ACM.
I'm curious about the Fast Cosine Transform; is it faster than a DCT or a FFT? Why not using the fftw library? -- Marc
On Wed, 4 Jan 2006 11:41:07 -0500 Marc Lavallée marc@hacklava.net wrote: <snip>
Jamie, I checked your external (http://www.puredata.org/Members/jb/fct/view) I see that you are already releasing everything with the original ACM license. I think your port of the original FORTRAN routine (http://www.netlib.org/toms/749) does not belong to the ACM.
Well, I saw that as the most obvious thing to do. The problem is that I would like to move all of my externals into the PD CVS, and I understand that in order to do this they need to be licensed under the GPL. Hence my question.
The original code is definitely licensed under the ACM license. The TOMS link you provide above is for Transactions on Mathematical Software, which is an ACM publication.
I'm curious about the Fast Cosine Transform; is it faster than a DCT or a FFT? Why not using the fftw library?
Believe it or not, when I wrote the fct~/ifct~, I didn't realise that it was possible compute the DCT from an FFT! I wanted to do some MFCC computations in PD, so I found a Cosine transform algorithm that I thought would be relatively fast and quick to implement. I don't think it even performs as well as PD's Meyer FFT, but this is possibly due to my crude programming skills rather than the algorithm itself. I learned a lot doing it though.
Jamie
Hallo, Jamie Bullock hat gesagt: // Jamie Bullock wrote:
Well, I saw that as the most obvious thing to do. The problem is that I would like to move all of my externals into the PD CVS, and I understand that in order to do this they need to be licensed under the GPL.
That's not true: You can choose any open source license. Pd itself isn't GPL.
Ciao
On Wed, 4 Jan 2006, Jamie Bullock wrote:
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software?
It depends on who the owners of the code are and how much they pay their lawyers.
It depends on how easily it can be argued that it's actually a different program. It depends on how much the code has changed while translating, and possibly also on how much it _had_ to be changed while translating.
Which flavour of Fortran is it coded in? If it's coded in a F77 style, chances are that it looks a lot like C. If it's Fortran IV you may have more opportunity to make your code look different.
For example, I have written an external that uses a Fast Cosine Transform algorithm originally implemented in Fortran, with the code released under the ACM license
Repeating Marc's question, why do you need to code a FCT/DCT yourself? Is there a problem with the currently available free FFT implementations? You might be able to dodge the problem entirely if you use libfftw3.so instead.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Thanks to everyone who replied to this thread on and off-list. It seems like my question was based on a misunderstanding about the criteria for adding code to the CVS. Since GPL isn't a requirement, I think the best thing is simply for me to leave it under the ACM license and make it clear that the code is based on source by the original authors.
As people have suggested, I will also look into the possibility of using an FFT to do the Cosine Transform. It would certainly be preferable for me if I could do what I need without using any externals.
Regards,
Jamie
On Wed, 4 Jan 2006 10:51:19 +0000 Jamie Bullock jamie@postlude.co.uk wrote:
Hi,
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software? I ask this, because clearly it has implications for who owns the copyright to the ported code.
For example, I have written an external that uses a Fast Cosine Transform algorithm originally implemented in Fortran, with the code released under the ACM license (http://www.acm.org/pubs/copyright_policy/softwareCRnotice.html). Clearly, if a port into C (as a PD external) is classed as a modification of the existing Fortran code, then I have to license the external under the ACM also. That is, unless the author agrees to relicense the code under the GPL. However, if the PD external is classed as an entirely separate piece of software, just using the same algorithm, could it be relicensed without consent?
Does anyone know the law/etiquette regarding this?
Thanks,
Jamie
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
Le 6 Janvier 2006 03:39, Jamie Bullock a écrit :
Since GPL isn't a requirement, I think the best thing is simply for me to leave it under the ACM license and make it clear that the code is based on source by the original authors.
I suggest not to use the ACM license unless you want to give up your rights to the ACM. This license is not a "ready to use" free software license. -- Marc
The ACM license does not allow commercial use, so it can't be added to the Pd-extended builds. Currently, everything in Pd-extended AFAIK is either BSD or GPL and it should stay that way (any GPL compatible is fine). Otherwise it will create a lot of menial labor to keep track of what parts have which restrictions.
There are other reprocussions, too. For example, both the ACM license and Yves' PiDiP license prevent that code from being included in Debian or any GPL'ed live CD.
.hc
On Jan 6, 2006, at 3:39 AM, Jamie Bullock wrote:
Thanks to everyone who replied to this thread on and off-list. It seems like my question was based on a misunderstanding about the criteria for adding code to the CVS. Since GPL isn't a requirement, I think the best thing is simply for me to leave it under the ACM license and make it clear that the code is based on source by the original authors.
As people have suggested, I will also look into the possibility of using an FFT to do the Cosine Transform. It would certainly be preferable for me if I could do what I need without using any externals.
Regards,
Jamie
On Wed, 4 Jan 2006 10:51:19 +0000 Jamie Bullock jamie@postlude.co.uk wrote:
Hi,
Whilst we are on the subject of licensing and copyright, I have a related question. If a section of code is ported into another programming language, does the ported code qualify as a new piece of software or a modification of existing software? I ask this, because clearly it has implications for who owns the copyright to the ported code.
For example, I have written an external that uses a Fast Cosine Transform algorithm originally implemented in Fortran, with the code released under the ACM license (http://www.acm.org/pubs/copyright_policy/softwareCRnotice.html). Clearly, if a port into C (as a PD external) is classed as a modification of the existing Fortran code, then I have to license the external under the ACM also. That is, unless the author agrees to relicense the code under the GPL. However, if the PD external is classed as an entirely separate piece of software, just using the same algorithm, could it be relicensed without consent?
Does anyone know the law/etiquette regarding this?
Thanks,
Jamie
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
________________________________________________________________________ ____
¡El pueblo unido jamás será vencido!