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
-~----------~----~----~----~------~----~------~--~---

Reply via email to