On Fri, Oct 31, 2008 at 8:35 AM, alunw <[EMAIL PROTECTED]> wrote: > > Thanks for this. > > I'll certainly consider doing this, though I'm still slightly > concerned about the implications for my own code. I guess using the > GPL is probably as good a way as any of deterring potential commercial > competitors from "stealing" my code - though I'm not really expecting > or even wanting to get rich it anyway. > > I'll post a suitable version on my web site in a day or two, and > donate that. I hope it proves useful. >
Wonderful! I greatly appreciate this. And keep in mind that it is your code that you own the copyright on, so if at any point you want to use a less restrictive license, or sell the code available for commercial use, that is still your right. So definitely include a statement in the README.txt that anybody who is interested in using it under a different license than GPL (e.g., BSD or something commercial) should definitely contact you. This sort of thing does happen... Note: One issue you may have to (hopefully) "deal with" is that if somebody might port your code to Linux/OS X/64-bit, etc., or fixes bugs, they might only want their fixes to be available under the GPL license, in which case you couldn't include them with a non-GPL'd commercial version, at least without getting permission from that person. Cheers, William > > > > > On Oct 31, 2:36 pm, "William Stein" <[EMAIL PROTECTED]> wrote: >> On Fri, Oct 31, 2008 at 5:40 AM, alunw <[EMAIL PROTECTED]> wrote: >> >> > For the past few years I have been developing a package called MAF >> > which is a reimplementation in C++ of KBMAG. It extends KBMAG in >> > several ways, and is usually, though not always, a lot faster than it. >> > For example it can calculate the automatic structure of F(2,9) in >> > 10-15 minutes (depending on CPU speed) and the geodesic automatic >> > structure in about 90 minutes. It can find automatic structures or >> > confluent rewriting systems for many challenging presentations. Its >> > functionality can also be used via a library. For example I use it in >> > a screen saver type program to find automata for randomly chosen >> > hyperbolic and kleinan groups of various kinds and then use the >> > automata to draw pretty pictures. In some cases the groups have >> > automata which it would be difficult to create with KBMAG. >> >> > You can find out more about MAF on my web site >> > athttp://www.alunw.freeuk.com/MAF/maf.html >> > . The FSA code might well be useful for applications other than group >> > theory. >> >> > I have developed the package on a Windows based machine, but it should >> > be fairly easy to port to other platforms. (On Windows most of the >> > code is in a DLL, and I would like to use a shared object on Linux/ >> > Unix, but am not quite sure of the details - in the past I have >> > created .so files using C, but not C++ and am anticipating there will >> > be tricky issues with "name mangling". On Windows I also replaced most >> > of the CRT. On Unix/Linux the package could use the standard CRT but >> > this would probably result in a considerable increase in memory usage >> > as I provided a heap which is a lot better than the one that usually >> > comes with CRTs - for allocations up to about 1600 bytes it uses a >> > scheme which has an overhead of just over 1 bit per allocation instead >> > of the typical 8 bytes, and as my program might easily need to make in >> > excess of a 100 million memory allocations this overhead is very >> > significant) >> >> > I'd be happy to make the code available to Sage (about which I know >> > pratically nothing - I am following a suggestion in positing here). I >> > don't know much about open source licensing. The only conditions I >> > want to impose are: >> > 1) Anybody should be free to reuse my source code in non-commercial >> > software, change it in anyway they like and should not have to make >> > their program open source in order to do so. >> > 2) Anybody should be free to reuse my code in commercial software, >> > except for software which is principally concerned with the creation >> > of fractals, tessellations, and related mathematical imagery. For >> > commercial software of that nature I'd want to receive some payment, >> > as I have probably spent several man years developing this library and >> > that is how I intend to use it. For other types of software an >> > acknowledgement and a link to my web site would be enough. >> >> As other have mentioned, you can't make those conditions and >> still have your software be used by any open source projects. >> Instead, you should chose either the BSD or GPL licenses (which >> are by far the most popular and compatible). >> >> Of the two, the GPLv2+ license is closest to your wishes above, >> and I encourage you to license your code under it. Why? It >> is the most restrictive, and since your intention above is basically >> less restrictive, if you license your code under GPLv2+, then >> we can use it, but if other projects want to use your code under >> a less restrictive license, then you can still make a version >> available under such a license at that time. Just state clearly >> in the README that less restrictive licenses are available. >> This is a standard model used by several software libraries -- they >> have a free GPL version, and a non-free version that can be >> used as a component in commercial software (e.g., I believe >> Trolltech does this with Qt). >> >> You can read the GPLv2 license here: >> >> http://opensource.org/licenses/gpl-2.0.php >> >> To release your code under that license, you just follow the >> simple directions at the above web page under >> "How to Apply These Terms to Your New Programs". >> and post your code somewhere online. >> >> > I'd also be happy to donate my code to Sage as-is on a one off basis, >> > provided my rights to my own work are not affected in any way - I am >> > still developing the code with the aim of making it both smaller and >> > faster so that it can tackle more and more challenging presentations. >> >> Yes, please do this. The best way from our point of view for you to >> do this, would be to take the current stable version of your code, >> and license that version under the GPLv2+ (as mentioned above), >> then publicly post it so that we can evaluate how to use it in Sage. >> Our hope, of course, is that a community will grow around the software >> project, so that I personally don't have to try to maintain it. It is highly >> unlikely such a community will grow unless you chose to use the >> GPL or BSD licenses. See, e.g., >> http://www.dwheeler.com/essays/gpl-compatible.html >> >> Cheers, >> William >> >> -- >> William Stein >> Associate Professor of Mathematics >> University of Washingtonhttp://wstein.org > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---