The journal Association for Computing Machinery Transactions on Mathematical Software (ACM TOMS) publishes many articles on numerical algorithms that include software implementations. According to their editorial policy, submission of an algorithm paper includes the source code for an implementation of the algorithm described in said paper. This source code is subject to the ACM Software Copyright and License Agreement.

Since I am interested in releasing software implementations of my own work, I'm concerned about the legal implications of this license. Specifically, how does this software license interact with common open source licenses (such as the GPLv3, BSD, MIT/X11, and Apache licenses)?

  • $\begingroup$ Why not to just give a link to a software published in some public repository or put it on your homepage? $\endgroup$
    – Alexander
    Jul 16 '12 at 14:34
  • 2
    $\begingroup$ I work in a field where no one I know does reproducible research (in the sense of Donoho, Claerbout, and so on). I would like to make my research reproducible, and I would prefer to bundle my source code in such a way as to make it easy as possible for someone to immediately generate results. I also don't believe that such a tactic is a way to skirt a license like the GPLv3 unless the functionality of the linked software is "optional", in which case, I'd have to find a replacement anyway, and configure for two different implementations. $\endgroup$ Jul 16 '12 at 16:42

Normally the author of a work can license it under more than one of the open source licenses you mention (so called dual licensing). However there seems to be an issue with doing so under the referenced ACM editorial policy, which states that you would be obliged to transfer copyright ownership on published "algorithms":

Authors of copyrightable algorithms (or their employers) are required to transfer the copyright to ACM upon acceptance of the algorithm for publication, in accordance with ACM policy to own copyright on ACM published material.

The policy (and the ACM Software and Copyright and License Agreement) go on to state that it "grants authors the right to reuse their material, and also grants liberal permission for the reuse of the associated software for noncommercial purposes." This restriction to noncommercial purposes would then prevent the author (IMHO, IANAL) from relicensing under the open source licenses mentioned in your question, as these do not permit a distinction between commercial and noncommercial use.

A possible resolution may be found in the detailed discussion of ACM Copyright Policy:

In special cases where an author or author's employer must retain copyright, or when ACM does not wish to give its imprimatur to a particular work, ACM may accept a release from the owner that grants ACM the permission it needs to publish the work.

I have no idea how often such exceptions might be granted for publication. If I were trying to seek such an exception, I'd probably argue that I'd already licensed the software under one of those open source licenses, and that the ACM could instead have copyright in the derivative work created by publication of the article.

I did mention IANAL (I am not a lawyer)?

  • 2
    $\begingroup$ For relicensing: one possible thing to do is to ask nicely the author of the software about using a different license, and given a positive answer, also ask the ACM representative. This worked out on one occasion in Scipy (although this is a sample of N=1 algorithms). $\endgroup$
    – pv.
    Jul 16 '12 at 14:40
  • $\begingroup$ @pv, are you referring to the AMOS routines? $\endgroup$
    – AlexE
    Apr 22 '14 at 8:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.