4 ms·
As a small Mac developer, I respect the GPL, but I don't always get it. For example we created a GUI subversion client for the Mac that is pretty popular. I'm
by koenbok 17y ago
As a small Mac developer, I respect the GPL, but I don't always get it.
For example we created a GUI subversion client for the Mac that is pretty popular. I'm sure that it gave subversion usage on the Mac a boost as now more people can actually use it (half of our customers are not programmers). So our application actually stimulates the usage of subversion, which can't be bad for anyone involved.
We get a lot of questions wether we can also make a Git/Mercurial client, but the GPL makes that really hard as we would have to wrap the command line or make an open source communication library. Now, if the GPL GUI applications were as great as the commercial ones, there wouldn't be a problem. But for reasons I'm not sure about that doesn't seem to be the case.
- lacker 17y agoWhat's wrong with wrapping the command line?
- nailer 17y ago> We get a lot of questions wether we can also make a Git/Mercurial client, but the GPL makes that really hard as we would have to wrap the command line or make an open source communication library. Couldn't you re-implement the GIT spec (including making such a spec if it does not exist now)?
- tlrobinson 17y agoSure, they could, but it would take time away from the interesting features of the application and the user interface (see: http://versionsapp.com/ http://versionsapp.com/)
- inklesspen 17y agoIncidentally, that is how github works, if I'm not mistaken; the 'grit' library (http://github.com/schacon/grit http://github.com/schacon/grit) does as much as possible in pure ruby, falling back to command-line if necessary. It's also licensed under the MIT license, so you could use it in your Cocoa app using MacRuby or whatever.
- boucher 17y agoHey Koen! From the perspective of a person who chooses the GPL license for their code, the issue is that they want to the right to take your changes and then modify them as they see fit. The GPL prefers that right over everything else, including overall use of any particular program or library. GPL advocates would suggest that it is in fact bad that you've increased the use of subversion, because you've done it in a way that all those new users can't go in and fix bugs in your program, or change some behavior that they feel needs changing. I think one of the reasons people fail to understand this argument is that they see a complete disconnect between end users and developers. In other words, an end user is someone who will never even want to edit source code. I'm inclined to think this is usually true, but the authors of the GPL are the exception to that rule, and it is one of the primary reasons that the GPL exists. As far as the git client is concerned, wrapping the command line, as you suggested, basically solves the problem. It's also probably not that hard. In fact, there are a couple ruby libraries that do it I believe, and maybe python ones as well, if you're still doing PyObjc.
- tlrobinson 17y agoLGPL would be a good choice for something like Git, so you can still use it in proprietary software, but any improvements to Git itself must be contributed back.