On Wed, Sep 26, 2012 at 4:28 PM, Geoffrey Irving <irv...@naml.us> wrote: > Hello, > > I recently used sage to write a code generation script for exact > geometric predicates: > > https://github.com/otherlab/simplicity > > Since it's a python script that imports sage, the simplicity script is > GPL.
Not automatically; often Sage is used more as an interpreter than a library: http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#IfInterpreterIsGPL That being said, the GPL only covers *distribution*. If indeed you built on Sage and wanted to release the resulting work, you would have to do so under the GPL (or a compatible license, and you could release it under other licences or public domain in addition to that). If you just want to use it on your own machine(s), or share it internally, there's no requirement to so license it. You can then do whatever you want with the output. (If the output contained significant portions of Sage itself, that would be a different story.) That being said, a runtime exemption could make a lot of sense, e.g. if we want to augment our fast_callable classes to spit out chunks of code in various languages. > However, I want the C++ *output* of this script to be license > unencumbered, so that I can incorporate into either BSD licensed > software (https://github.com/otherlab/core) or commercial software. > As discussed in > > http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLOutput > > doing this safely appears to require a special exception in the > license, since the simplicity script copies a bunch of tiny portions > of itself into the output. Examples include > > ... > warning = '// Exact geometric predicates\n// Autogenerated by > simplicity.py: DO NOT EDIT\n' > ... > body.append(' for (int i=starts[permutation];;i++) {') > body.append(' const bool f = terms[i]&1;') > body.append(' switch (terms[i]>>1) {') > .... > > Has anyone done anything similar before with sage? It seems > questionable to add the runtime exemption to my license when it isn't > in sage's, so I thought I'd ask here first. > > Thanks, > Geoffrey > > -- > You received this message because you are subscribed to the Google Groups > "sage-support" group. > To post to this group, send email to sage-support@googlegroups.com. > To unsubscribe from this group, send email to > sage-support+unsubscr...@googlegroups.com. > Visit this group at http://groups.google.com/group/sage-support?hl=en. > > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To post to this group, send email to sage-support@googlegroups.com. To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support?hl=en.