Thread: [Hebmorph-thinktank] HebMorph patch
Status: Pre-Alpha
Brought to you by:
synhershko
|
From: kirillkh <kir...@gm...> - 2011-06-09 23:29:39
|
Hi Itamar, I have a question regarding HebMorph licensing. Can it be used in closed-source software inside Lucene? Inside Solr? My interpretation of the GPL is that the latter is allowed, but not the former. What's your take on this? Thanks, -Kirill |
|
From: Itamar Syn-H. <it...@co...> - 2011-06-10 00:15:13
|
Hi Kirill, First, thanks for the latest patch which is now merged to master. The thought behind licensing HebMorph with a restrictive license (currently GPL) is to be able to negotiate a usage fee from commercial users. This is to make sure the project can stay alive and make real progress. And let me elaborate. HebMorph is much more than just a morphological analyzer. It is about inventing and testing ways to search Hebrew texts, to rank them, and then to be able to tell which method is better for different scenarios. This requires a lot of resources, and to be able to do this, the project needs support. Commercial users is where this support should come from; as a matter of fact, commercial users should WANT to support this project as it will only make their search-based products better as it evolves, and it evolves. There's plenty going on with HebMorph, and I'll be posting about a bunch really soon. Searches being made with MorphAnalyzer are showing really good performance, and I'm very satisfied with this and am ready to move on to the next strategy. HebMorph is definitely ready for production use and in fact is already being used in several places (that I know of). Being an open-source commercial-grade product, a fair price will always be negotiable. Therefore, as far as I'm concerned, no commercial usage is allowed without either purchasing a commercial license or releasing the code that uses HebMorph as GPL. Perhaps GPL is not all too strict about this, and can be interpreted differently in terms of "derivative work", and I might make a license change to reflect that. The general idea, again, is to be able to support further development of the project and make sure it meets its far-reaching goals. I hope this makes things clearer. Itamar. On 10/06/2011 02:29, kirillkh wrote: > Hi Itamar, > > I have a question regarding HebMorph licensing. Can it be used in > closed-source software inside Lucene? Inside Solr? My interpretation > of the GPL is that the latter is allowed, but not the former. What's > your take on this? > > Thanks, > -Kirill |
|
From: Efraim F. <efr...@gm...> - 2011-06-10 02:02:14
|
Hi, I would like to clarify something about your (possibly unconventional?) interpretation of the GPL. The GPL itself doesn't limit the private use of GPL'd software. It does limit distribution of binaries that are compiled from GPL sources. So, I think you're right about the particular case you were asked about: you can't legally distribute binaries compiled from GPL source code without distributing the source code (or buying an exception to the GPL). You can, however, distribute binaries in a commercial product and distribute the source code or an offer for the source code and have no further obligations to upstream. Stated more broadly, the GPL is not a usage license, it's a copyright license for the source code. By the way, I agree with you that commercial users who use hebmorph should contribute financially to the project. I don't see a requirement to do so anywhere unless they want to do something which is otherwise not allowed under the GPL. Preventing commercial *use* as-such, though, would make the software non-free. -Efraim On 06/09/2011 08:14 PM, Itamar Syn-Hershko wrote: > The thought behind licensing HebMorph with a restrictive license > (currently GPL) is to be able to negotiate a usage fee from commercial > users. This is to make sure the project can stay alive and make real > progress. And let me elaborate. > > > > Therefore, as far as I'm concerned, no commercial usage is allowed > without either purchasing a commercial license or releasing the code > that uses HebMorph as GPL. Perhaps GPL is not all too strict about this, > and can be interpreted differently in terms of "derivative work", and I > might make a license change to reflect that. The general idea, again, is > to be able to support further development of the project and make sure > it meets its far-reaching goals. > -- --- Efraim Feinstein Lead Developer Open Siddur Project http://opensiddur.net http://wiki.jewishliturgy.org |
|
From: Itamar Syn-H. <it...@co...> - 2011-06-10 07:46:27
|
Efraim, I'm no lawyer, and certainly don't strive to being one. I did do some reading and I can certainly say GPL is an applicable license for the model I'm trying to enforce. There may be better licenses to work with though, and I'm certainly willing to open this for discussion. One of the obstacles I have to face is people trying to go around the licensing issue. Some of who that are aware of a possible licensing issue don't want to pay and will do everything they can to work around that. In that respect, GPL is quite compromised - although there's still a lot of room to interpretation, and some courts will definitely accept mine as I described it yesterday. I can either live with that, or make a license change to allow free open-source usage but require commercial players to pay. If that labels HebMorph a non-free software, so be it. If GPL requires commercial players to either release their sources or negotiate a different license even when using the lib in a binary form, then this is what I wanted to have. I care less about upstreaming, as I'll be able to do so myself once the code is released. Also, as it happens I find myself supporting users more than users supporting the project. Re: I agree with you that commercial users who use hebmorph should contribute financially to the project. I don't see a requirement to do so anywhere unless they want to do something which is otherwise not allowed under the GPL What will be something that is not allowed under the GPL? Itamar. On 10/06/2011 05:02, Efraim Feinstein wrote: > Hi, > > I would like to clarify something about your (possibly unconventional?) > interpretation of the GPL. The GPL itself doesn't limit the private use > of GPL'd software. It does limit distribution of binaries that are > compiled from GPL sources. So, I think you're right about the particular > case you were asked about: you can't legally distribute binaries > compiled from GPL source code without distributing the source code (or > buying an exception to the GPL). You can, however, distribute binaries > in a commercial product and distribute the source code or an offer for > the source code and have no further obligations to upstream. > > Stated more broadly, the GPL is not a usage license, it's a copyright > license for the source code. > > By the way, I agree with you that commercial users who use hebmorph > should contribute financially to the project. I don't see a requirement > to do so anywhere unless they want to do something which is otherwise > not allowed under the GPL. Preventing commercial *use* as-such, though, > would make the software non-free. > > -Efraim > > On 06/09/2011 08:14 PM, Itamar Syn-Hershko wrote: >> The thought behind licensing HebMorph with a restrictive license >> (currently GPL) is to be able to negotiate a usage fee from commercial >> users. This is to make sure the project can stay alive and make real >> progress. And let me elaborate. >> >> >> >> Therefore, as far as I'm concerned, no commercial usage is allowed >> without either purchasing a commercial license or releasing the code >> that uses HebMorph as GPL. Perhaps GPL is not all too strict about this, >> and can be interpreted differently in terms of "derivative work", and I >> might make a license change to reflect that. The general idea, again, is >> to be able to support further development of the project and make sure >> it meets its far-reaching goals. >> > |
|
From: Efraim F. <efr...@gm...> - 2011-06-10 13:09:31
|
Hi, On 06/10/2011 03:46 AM, Itamar Syn-Hershko wrote: > I'm no lawyer, and certainly don't strive to being one. I did do some Neither am I. > reading and I can certainly say GPL is an applicable license for the > model I'm trying to enforce. There may be better licenses to work with > though, and I'm certainly willing to open this for discussion. I think we're not actually disagreeing here. The words that set me off on this line of questioning are "commercial use," and the two cases I was working off were: (1) a commercial user who does release full source code. (2) a commercial user who uses hebmorph internally but never releases source code or binaries outside the organization Do you think they're *required* to pay a licensing fee or requested to donate to the project? If the former, that's not what the GPL says, if the latter, that's OK. > license change to allow free open-source usage but require commercial > players to pay. If that labels HebMorph a non-free software, so be it. If it's non-free, it becomes unusable to or undistributable by other free/open source projects. I don't think it actually is, although I think GPL v2-only may cause a binary distribution issue w/Lucene. I know you're restricted by hspell. It's unclear to me whether hspell is intended to be GPLv2 only or GPL (any version), since the COPYING file is GPLv2, but the README never mentions a version number (which conventionally means "any version"). > What will be something that is not allowed under the GPL? Releasing binaries of the actual software or a derivative work of the software without releasing corresponding source code; Releasing any copy of the software (source or binary) without a copy of the license. -- --- Efraim Feinstein Lead Developer Open Siddur Project http://opensiddur.net http://wiki.jewishliturgy.org |
|
From: Itamar Syn-H. <it...@co...> - 2011-06-10 13:47:52
|
Hi, On 10/06/2011 16:09, Efraim Feinstein wrote: > I think we're not actually disagreeing here. The words that set me off > on this line of questioning are "commercial use," and the two cases I > was working off were: > (1) a commercial user who does release full source code. > (2) a commercial user who uses hebmorph internally but never releases > source code or binaries outside the organization > Do you think they're *required* to pay a licensing fee or requested to > donate to the project? If the former, that's not what the GPL says, if > the latter, that's OK. For most commercial solutions, releasing their source code is a death sentence - or so they think. So they'd rather pay than release it. If a company decides to release their sources and not pay for a commercial license - thats fine by me. So I'm aligned with GPL even by your interpretation of it. > If it's non-free, it becomes unusable to or undistributable by other > free/open source projects. I don't think it actually is, although I > think GPL v2-only may cause a binary distribution issue w/Lucene. I know > you're restricted by hspell. It's unclear to me whether hspell is > intended to be GPLv2 only or GPL (any version), since the COPYING file > is GPLv2, but the README never mentions a version number (which > conventionally means "any version"). Thats something worth checking, although IIRC I looked into that and it wasn't an issue. >> What will be something that is not allowed under the GPL? > Releasing binaries of the actual software or a derivative work of the > software without releasing corresponding source code; Releasing any copy > of the software (source or binary) without a copy of the license Exactly what I'm aiming for. I want OSS to be free to use HebMorph as they like, but for ALL commercial solutions relying on HebMorph to negotiate a license or release their sources. Itamar. |
|
From: kirillkh <kir...@gm...> - 2011-06-10 02:27:39
|
Hi Efraim, 2011/6/10 Efraim Feinstein <efr...@gm...> > I would like to clarify something about your (possibly unconventional?) > interpretation of the GPL. The GPL itself doesn't limit the private use > of GPL'd software. It does limit distribution of binaries that are > compiled from GPL sources. So, I think you're right about the particular > case you were asked about: you can't legally distribute binaries > compiled from GPL source code without distributing the source code (or > buying an exception to the GPL). This is not what I was asking about at all. Rather, my question was: can I distribute closed-source software that requires HebMorph for its functions (provided that I disclose HebMorph's license and distribute its source code)? You seem to imply that the answer to that question is a simple 'yes'. But that is not the case. The issue here is that GPL not only requires distributing the source code of the software together with the binaries, but it also requires distributing the source code of any "derivative work" of the software, where "derivative work" is defined as anything linking to the software. Simply put, if your program uses HebMorph as a library, your program must be GPL too. On the other hand, if your program just works with Solr, then you are *not* linking to it directly and, as a result, are not required to GPL your own program. Still, some questions remain: 1. Are you even allowed to distribute Lucene+HebMorph+(your open-source software), considering Lucene is not GPL? 2. A normal program based on Lucene+HebMorph will use the Lucene API, not the HebMorph API (I don't know Lucene's API, but I suspect there's a way to configure its analyzers through the configuration files; otherwise it's easy to program a Lucene extension that would do just this). So one can say that the program does not link to HebMorph directly - rather, it links to Lucene; furthermore, even Lucene doesn't link to HebMorph directly: rather, it links to a generic "Analyzer" API, which it provides itself. Does this mean that a closed-source program is allowed use Lucene+HebMorph? These are really the questions I was asking, not whether I may or may not distribute HebMorph without its sources (which is obviously prohibited by the GPL). -Kirill |
|
From: Efraim F. <efr...@gm...> - 2011-06-10 03:11:50
|
On 06/09/2011 10:27 PM, kirillkh wrote: > Hi Efraim,This is not what I was asking about at all. Rather, my > question was: can I distribute closed-source software that requires > HebMorph for its functions (provided that I disclose HebMorph's > license and distribute its source code)? You seem to imply that the > answer to that question is a simple 'yes'. But that is not the case. > The issue here is that GPL not only requires distributing the source > code of the software together with the binaries, but it also requires > distributing the source code of any "derivative work" of the software, > where "derivative work" is defined as anything linking to the > software. Simply put, if your program uses HebMorph as a library, your > program must be GPL too. On the other hand, if your program just works > with Solr, then you are *not* linking to it directly and, as a result, > are not required to GPL your own program. > > Still, some questions remain: > 1. Are you even allowed to distribute Lucene+HebMorph+(your > open-source software), considering Lucene is not GPL? Itamar can probably speak more to this: As far as I can tell, there is a licensing compatibility issue here. Lucene is Apache 2 and Hebmorph is currently GPL2 *only*. GPL2 is incompatible with Apache 2, GPL3 is compatible <http://www.apache.org/licenses/GPL-compatibility.html>, making any distribution of binary linked software an issue because hebmorph won't work without being linked to Lucene. I doubt this was intended. It may or may not be an issue if you distribute the source code and *no* binaries, depending on how you interpret section 2b. > 2. ... rather, it links to a generic "Analyzer" API, which it provides > itself. Does this mean that a closed-source program is allowed use > Lucene+HebMorph? Wouldn't Lucene then be linked to Hebmorph as a library, and your program linked to Lucene, making your program linked to Hebmorph? -- --- Efraim Feinstein Lead Developer Open Siddur Project http://opensiddur.net http://wiki.jewishliturgy.org |
|
From: kirillkh <kir...@gm...> - 2011-06-10 03:27:11
|
2011/6/10 Efraim Feinstein <efr...@gm...> > On 06/09/2011 10:27 PM, kirillkh wrote: > > Hi Efraim,This is not what I was asking about at all. Rather, my > > question was: can I distribute closed-source software that requires > > HebMorph for its functions (provided that I disclose HebMorph's > > license and distribute its source code)? You seem to imply that the > > answer to that question is a simple 'yes'. But that is not the case. > > The issue here is that GPL not only requires distributing the source > > code of the software together with the binaries, but it also requires > > distributing the source code of any "derivative work" of the software, > > where "derivative work" is defined as anything linking to the > > software. Simply put, if your program uses HebMorph as a library, your > > program must be GPL too. On the other hand, if your program just works > > with Solr, then you are *not* linking to it directly and, as a result, > > are not required to GPL your own program. > > > > Still, some questions remain: > > 1. Are you even allowed to distribute Lucene+HebMorph+(your > > open-source software), considering Lucene is not GPL? > > Itamar can probably speak more to this: As far as I can tell, there is a > licensing compatibility issue here. Lucene is Apache 2 and Hebmorph is > currently GPL2 *only*. GPL2 is incompatible with Apache 2, GPL3 is > compatible <http://www.apache.org/licenses/GPL-compatibility.html>, > making any distribution of binary linked software an issue because > hebmorph won't work without being linked to Lucene. I doubt this was > intended. > > It may or may not be an issue if you distribute the source code and *no* > binaries, depending on how you interpret section 2b. > > > 2. ... rather, it links to a generic "Analyzer" API, which it provides > > itself. Does this mean that a closed-source program is allowed use > > Lucene+HebMorph? > > Wouldn't Lucene then be linked to Hebmorph as a library, and your > program linked to Lucene, making your program linked to Hebmorph? > This is not so clear-cut, because the linking here is loose at best, and certainly not a direct one. To give you a perspective, some people even argue that regular dynamic linking does not comprise a derivative work. I don't really want to go any deeper into these technicalities, because they are meaningless when the intent is to disallow all forms of commercial usage (after all, the authors may change the license and/or stop the development any day, and no one wants to use abandoned software). -Kirill |
|
From: Itamar Syn-H. <it...@co...> - 2011-06-10 08:03:42
|
On 10/06/2011 05:27, kirillkh wrote: > Still, some questions remain: > 1. Are you even allowed to distribute Lucene+HebMorph+(your > open-source software), considering Lucene is not GPL? From what I came up with when initially looking into GPL a while back, yes. GPL allows you to use or rely on non-GPL software. It doesn't make sense to be allowed to code GPL only from scratch or for other GPL apps. > 2. A normal program based on Lucene+HebMorph will use the Lucene API, > not the HebMorph API (I don't know Lucene's API, but I suspect there's > a way to configure its analyzers through the configuration files; > otherwise it's easy to program a Lucene extension that would do just > this). So one can say that the program does not link to HebMorph > directly - rather, it links to Lucene; furthermore, even Lucene > doesn't link to HebMorph directly: rather, it links to a generic > "Analyzer" API, which it provides itself. Does this mean that a > closed-source program is allowed use Lucene+HebMorph? Incorrect. In your code you are going to have to create HebMorph objects (at least an analyzer). You'll be talking to HebMorph directly. I think you'll find the flexibility loss when using config files is too great to be worth it, and I honestly don't think that will work around the GPL issue (because now you rely on Lucene which relies on GPL software, so you rely on GPL). As I said in a previous mail, the real question is whether to use a license with a stiffer bite, or to rely on people to act in good faith and remain with GPL. And I can certainly see how GPL can be enforced in such scenarios, especially when there's a publicly available discussion about exactly that. Itamar. |
|
From: kirillkh <kir...@gm...> - 2011-06-10 08:40:15
|
Hi Itamar, My original assumption was that your license choice was dictated by the HSpell license or other external factors. For that reason, I thought you would be forthcoming in finding a comfortable way of distributing HebMorph inside commercial software. Since it is now clear that part of the motivation was restricting commercial use, I'm not going to continue looking for ways to do that (although I do believe that in other circumstances that would be okay both legally AND morally - in the end, the spirit of the GPL restriction is to prohibit making non-free derivative works in the original sense of this phrase and allow other usage; no one would call a bug tracker a derivative work even if it uses Lucene+HebMorph for search). -Kirill 2011/6/10 Itamar Syn-Hershko <it...@co...> > On 10/06/2011 05:27, kirillkh wrote: > > > Still, some questions remain: > > 1. Are you even allowed to distribute Lucene+HebMorph+(your > > open-source software), considering Lucene is not GPL? > > From what I came up with when initially looking into GPL a while back, > yes. GPL allows you to use or rely on non-GPL software. It doesn't make > sense to be allowed to code GPL only from scratch or for other GPL apps. > > > 2. A normal program based on Lucene+HebMorph will use the Lucene API, > > not the HebMorph API (I don't know Lucene's API, but I suspect there's > > a way to configure its analyzers through the configuration files; > > otherwise it's easy to program a Lucene extension that would do just > > this). So one can say that the program does not link to HebMorph > > directly - rather, it links to Lucene; furthermore, even Lucene > > doesn't link to HebMorph directly: rather, it links to a generic > > "Analyzer" API, which it provides itself. Does this mean that a > > closed-source program is allowed use Lucene+HebMorph? > Incorrect. In your code you are going to have to create HebMorph objects > (at least an analyzer). You'll be talking to HebMorph directly. I think > you'll find the flexibility loss when using config files is too great to > be worth it, and I honestly don't think that will work around the GPL > issue (because now you rely on Lucene which relies on GPL software, so > you rely on GPL). > > As I said in a previous mail, the real question is whether to use a > license with a stiffer bite, or to rely on people to act in good faith > and remain with GPL. And I can certainly see how GPL can be enforced in > such scenarios, especially when there's a publicly available discussion > about exactly that. > > Itamar. > > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > Hebmorph-thinktank mailing list > Heb...@li... > https://lists.sourceforge.net/lists/listinfo/hebmorph-thinktank > |
|
From: Itamar Syn-H. <it...@co...> - 2011-06-10 10:05:18
|
Commercial licensing is hands down the best way for this project to stay alive and be able to make real progress. I'm not restricting commercial use per se, since I can't imagine how more forthcoming can I be to allow usage of HebMorph in commercial software. It's quite simple I think: if you make money using this software, please support the project making it. Since we can't really depend on donations, we use licensing to enforce that. And as I told you in the private conversation we had - its not at all about greediness, and I guarantee in any negotiation of commercial licensing the final agreement will be such that both sides will feel is fair. HebMorph is GPL because it is intended at forging new ideas. Not all that would come out of HebMorph is going to be strict software. There would be (and already are) ideas that you can use with whatever tool and whatever license. That I can't, and won't, put under any license. HebMorph is GPL also because that is hspell's license (including their dictionary files), and it is definitely considered of being a derivative work since MorphAnalyzer uses that dictionary extensively. Part of any fee that would be charged for HebMorph is going to be paid to the hspell authors, which have made an amazing work spanning more than 10 years, and they should definitely get paid for any commercial use made with their work. I've already talked to them and all that has been settled - HebMorph's commercial license would include a license to use the hspell dictionary (only for search though). I'm still undecided about what to do with licensing here. I'm not going to go any more permissive than this, but also would like to believe a license change is not necessary to avoid arguably-valid legal exploits, as people and companies would act in good faith. In any case, I'm never going to make this project proprietary, as I do believe in the power of open-source and community Itamar. On 10/06/2011 11:39, kirillkh wrote: > Hi Itamar, > > My original assumption was that your license choice was dictated by > the HSpell license or other external factors. For that reason, I > thought you would be forthcoming in finding a comfortable way of > distributing HebMorph inside commercial software. Since it is now > clear that part of the motivation was restricting commercial use, I'm > not going to continue looking for ways to do that (although I do > believe that in other circumstances that would be okay both legally > AND morally - in the end, the spirit of the GPL restriction is to > prohibit making non-free derivative works in the original sense of > this phrase and allow other usage; no one would call a bug tracker a > derivative work even if it uses Lucene+HebMorph for search). > > -Kirill > > 2011/6/10 Itamar Syn-Hershko <it...@co... > <mailto:it...@co...>> > > On 10/06/2011 05:27, kirillkh wrote: > > > Still, some questions remain: > > 1. Are you even allowed to distribute Lucene+HebMorph+(your > > open-source software), considering Lucene is not GPL? > > From what I came up with when initially looking into GPL a while > back, > yes. GPL allows you to use or rely on non-GPL software. It doesn't > make > sense to be allowed to code GPL only from scratch or for other GPL > apps. > > > 2. A normal program based on Lucene+HebMorph will use the Lucene > API, > > not the HebMorph API (I don't know Lucene's API, but I suspect > there's > > a way to configure its analyzers through the configuration files; > > otherwise it's easy to program a Lucene extension that would do just > > this). So one can say that the program does not link to HebMorph > > directly - rather, it links to Lucene; furthermore, even Lucene > > doesn't link to HebMorph directly: rather, it links to a generic > > "Analyzer" API, which it provides itself. Does this mean that a > > closed-source program is allowed use Lucene+HebMorph? > Incorrect. In your code you are going to have to create HebMorph > objects > (at least an analyzer). You'll be talking to HebMorph directly. I > think > you'll find the flexibility loss when using config files is too > great to > be worth it, and I honestly don't think that will work around the GPL > issue (because now you rely on Lucene which relies on GPL software, so > you rely on GPL). > > As I said in a previous mail, the real question is whether to use a > license with a stiffer bite, or to rely on people to act in good faith > and remain with GPL. And I can certainly see how GPL can be > enforced in > such scenarios, especially when there's a publicly available > discussion > about exactly that. > > Itamar. > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > Hebmorph-thinktank mailing list > Heb...@li... > <mailto:Heb...@li...> > https://lists.sourceforge.net/lists/listinfo/hebmorph-thinktank > > |