[ANN] MacHg 0.9.0 : OSX gui client for Mercurial
Adrian Buehlmann
adrian at cadifra.com
Mon May 3 08:28:05 UTC 2010
On 03.05.2010 05:28, Jason Harris wrote:
>
> On May 3, 2010, at 5:11 AM, Augie Fackler wrote:
>
>> On Sun, May 2, 2010 at 10:02 PM, Jason Harris <jason at jasonfharris.com> wrote:
>>>
>>> On May 3, 2010, at 4:24 AM, Augie Fackler wrote:
>>>
>>>> On Sun, May 2, 2010 at 7:24 PM, Benoit Boissinot <bboissin at gmail.com> wrote:
>>>>> On Mon, May 03, 2010 at 02:09:07AM +0200, Jason Harris wrote:
>>>>>>
>>>>>> On May 3, 2010, at 1:57 AM, Benoit Boissinot wrote:
>>>>>>
>>>>>>> On Mon, May 3, 2010 at 1:20 AM, Jason Harris <jason at jasonfharris.com> wrote:
>>>>>>>> Hi All,
>>>>>>>> I am pleased to announce the initial public release of MacHg.
>>>>>>>> MacHg is a gui client for Mercurial. It runs under OSX 10.6 (Snow leopard).
>>>>>>>
>>>>>>> I guess this is the first native client for OSX?
>>>>>>
>>>>>> There is Murky as well by Jens Alfke. MacHg is a bit bigger in scope.
>>>>>> MacHg does things in a threaded way and has nice annimations and
>>>>>> guiness throughout... Also I will let the dust settle on everything
>>>>>> before I compare MacHg to murky. (I am the author of MacHg so
>>>>>> obviously I am a bit biased! :) )
>>>>>
>>>>> Yeah, and I discovered http://jwwalker.com/pages/macmerc.html in
>>>>> OtherTools, but there are no screenshots so I don't have any idea how it
>>>>> compares (and the changelog isn't dated, so I don't know if it's still
>>>>> maintained).
>>>>>>>
>>>>>>> Users usually like screenshots too :)
>>>>>>
>>>>>> Ahh yes the sreenshots are here...
>>>>>>
>>>>>> http://jasonfharris.com/machg/sceenshots/sceenshots.html
>>>>>
>>>>> Nice, I like the "What will happen" (does TortoiseHg do that too?)
>>>>>>>
>>>>>>> It's not obvious under which licence your software is. In the repo,
>>>>>>> you included mercurial (GPLv2+) and some BSD libraries. If you
>>>>>>> distribute your software with mercurial, that probably makes the
>>>>>>> resulting binaries GPL.
>>>>>>> But technically it seems you only call hg from the command line, so as
>>>>>>> long as you don't include Hg in your repo you could use another
>>>>>>> license (e.g. BSD or Apache).
>>>>>>
>>>>>> That was my understanding of it as well. Basically since I only call
>>>>>> the command line mercurial and do all of the interfacing through its
>>>>>> public interface then its not a derived work... and so it can be
>>>>>> licensed under BSD or GPL, or whatever. I actually spent some time
>>>>>> looking around trying to figure out what the best license was and in
>>>>>> the end it wasn't so clear.
>>>>>> I am basically open to suggestions and if the Mercurial team thinks I
>>>>>> should go with GPLv2, or GPLv2+, or GPL3, or GPLv3+, or BSD, or
>>>>>> apache, or something else this will obviously carry a lot of weight
>>>>>> with me.
>>>>>
>>>>> Personnally I'm fine if you go with Apache or BSD (as long as it's free
>>>>> and open source), and since you only use the command line, it's fair for
>>>>> you to use a more liberal license.
>>>>>
>>>>> I'll let other comment about the fact you embedded mercurial's source in
>>>>> the repo and in your binary distribution. I guess that makes the
>>>>> distributed package GPL but your code can still be under the BSD
>>>>> license.
>>>>
>>>> IANAL, etc. That said, it's common to include GPL binaries and shell
>>>> out to them and not cause license pollution, especially in OS X
>>>> binaries where the "binary" is really a directory full of files. You
>>>> should be fine with BSD (although it's worth noting that Apache 2
>>>> provides some extra nice features above the traditional BSD license.)
>>>
>>> Thanks! I looked at:
>>> http://www.oss-watch.ac.uk/resources/apache2.xml
>>> http://www.oss-watch.ac.uk/resources/opensourceyourcode.xml
>>>
>>> Based on this instead of plain BSD I am then leaning towards Apache2...
>>>
>>> One scenario that has me a little worried is say at some stage in the future I need to actually call down into Mercurial. Can I then switch my license to GPLv2+ if I am the copyright holder?
>>
>> If you're the sole copyright holder, yes, you can pretty much do what
>> you want.
>
> Thanks!
>
>> Other contributors either need to explicitly allow the
>> relicense of their IP or assign copyright to you if they exist.
>
> Does it make sense to ask people that contribute if they would agree to release their contributions under say a range of open source licenses, eg they release them under any or all of BSD, Apache2, GPLv2 and GPLv3? That way the licensing can change in the future if necessary and not cause too much pain...
>
(IANAL. And I might be clueless. I'm on Windows and don't have a Mac).
IIRC some of the BSD type licenses should be compatible [1], that means
anyone should be allowed to narrow the license down to GPLv2+
later.(don't take "GPLv3 only", as that is incompatible with mercurial).
As I understand it, Matt upholds the view that any software linking with
mercurial (which means calling into Mercurial's python API) is infected
by the GPLv2+ license. So software would have to be narrowed down to
GPLv2+ as soon as you call into the Mercurial APIs. Which is possible
with a "compatible BSD" type license.
In short: you can pick a GPLv2+ compatible BSD type license for now and
anyone wanting to combine your sources with software linking to
mercurial can narrow down the license of the copied sources to GPLv2+
later on when he/she copies your sources. Without having to ask the
original contributors.
As we all know, the other way is not possible (widen a license from GPL
type to BSD). So IMHO dual-licensing a software under a BSD compatible
type license *and* GPL doesn't make sense, as the (stronger) GPL is
"included" in the (weaker) "compatible BSD" license.
Why do I even bother to write this? Because I am interested in
TortoiseHg, which calls into mercurial and thus must be GPLv2+. I'm
interested in being allowed to take other FOSS sources into TortoiseHg.
BTW, we are porting/rewriting TortoiseHg currently to base it on PyQt
[2]. And it looks like we are going to settle on stealing Logilab's
hgview [3] sources for the log viewer (hat tip to the Logilab guys for
that nice work).
[1] http://en.wikipedia.org/wiki/License_compatibility
[2] http://bitbucket.org/tortoisehg/thg
[3] http://www.logilab.org/project/hgview
More information about the Mercurial
mailing list