Simon - speech activated user interface for KDE (KDE.News)
HTK, the toolkit responsible for the HMM [Hidden Markov Model] evaluation is distributed under GPL-incompatible, restrictive license that prevents redistribution. In order to install simon, one must separately download HTK from their website which requires registration. The source is available, and they encourage you to modify and contribute to it, but it cannot be redistributed. [...] Additionally, Julius, used for the voice recognition has an attribution clause which causes problems with the GPL in a way that is reminiscent of the old-style BSD license (the one with the advertising clause). Any research conducted with simon would thereby require a reference to the Julius authors in the bibliography."
Posted Aug 24, 2009 16:04 UTC (Mon)
by JoeBuck (subscriber, #2330)
[Link] (13 responses)
Steve Jobs tried that: his old company, NeXT, wanted to ship a proprietary Objective-C compiler that was at least 95% FSF GCC code. They backed down, as the FSF (or their lawyer, Eben Moglen) convinced them that NeXT would lose badly. They wound up contributing their Objective-C changes to GCC and making it free instead. But because of this history, I'd be amazed if Novell or Red Hat would touch this with a ten meter pole.
I think that the code could be re-architected to make it legal, so that there is a separate, standalone executable that contains the speech recognition code, perhaps structured as a server that any apps (KDE or otherwise) could interact with. The protocol could be specified and documented, to allow the proprietary speech recognition component to be replaced with a free one.
Posted Aug 24, 2009 16:15 UTC (Mon)
by rahulsundaram (subscriber, #21946)
[Link] (10 responses)
https://fedoraproject.org/wiki/Licensing:Main
Posted Aug 24, 2009 17:32 UTC (Mon)
by bedahr (guest, #60420)
[Link] (9 responses)
So I would much rather compare it to firefox / flash. Just because firefox functionality can be extended using flash, firefox itself is not non-free...?
Posted Aug 24, 2009 17:50 UTC (Mon)
by jspaleta (subscriber, #50639)
[Link] (8 responses)
If Simon needs at least one speech model locally to be useful...we'd have to understand what the speech models are in terms of codebase and the implications thereof.
-jef
Posted Aug 24, 2009 18:11 UTC (Mon)
by dlang (guest, #313)
[Link] (1 responses)
Posted Aug 24, 2009 18:50 UTC (Mon)
by jspaleta (subscriber, #50639)
[Link]
The devil's in the details. I think a lot of people would need to study up on the details of this codebase interaction with proprietary bits, this is not a fire and forget situation by any means. The point is, this isn't a common situation in terms of licensing a functional software stack, nor is it ideal. It outside standing policy and common practise.
-jef
Posted Aug 24, 2009 18:47 UTC (Mon)
by bedahr (guest, #60420)
[Link] (5 responses)
Of course there are existing speech models.
You could even use speech models created by SPHINX-Train by using a speech model converter to convert the model to HTK format (there is such a converter available on sourceforge).
BUT: Speech models created by the HTK can be used _freely_ anyways. You can create models using HTK and then basically use them for whatever you want. This is also the reason why the voxforge initiative can build their speech model using the HTK and still licence the model itself under the GPL license.
The HTK plain text hmm format is well documented.
You can check out an example here: http://www.repository.voxforge1.org/downloads/Nightly_Bui...
I don't know what you mean by "bug in a speech model" but I am going to assume that you mean e.g. wrongly transcribed trainingssamples. Well fixing that would depend on how you built the model in the first place. In all likelyhood you would end up changing the input files and re-generating the whole model with those new parameters (using the HTK, SPHINX or whatever was used in the first place).
For the record: There is an open source initiative called ghmm which tries to create a GPL licenced library for working with HMM models but I contacted them and they said they were not ready for this kind of usage and generally want to be more general-purpose than the HTK so I am not sure if they will be soon/ever.
Also, the HTK is very high quality software and a good recognition rate is obviously the main goal for any speech recognition software - GPL or not.
Posted Aug 24, 2009 18:56 UTC (Mon)
by jspaleta (subscriber, #50639)
[Link] (4 responses)
This should be a non-issue if this comes up for discussion in a package review.
-jef
Posted Aug 24, 2009 19:01 UTC (Mon)
by bedahr (guest, #60420)
[Link] (3 responses)
I can't remember how often I had the exact same issue raised but it always ended in someone crying out: "Uses non-GPL code! Kill it with fire!" (or similar) and not relating to any replies or explanations from my side at all.
So again, thanks for understanding the complicated situation!
Posted Aug 24, 2009 19:46 UTC (Mon)
by jspaleta (subscriber, #50639)
[Link] (2 responses)
-jef
Posted Aug 24, 2009 20:31 UTC (Mon)
by bedahr (guest, #60420)
[Link] (1 responses)
Maybe I'll even add it to the FAQ of the project wiki...
But btw.: Has anyone even talked to the fedora team? Or is this a hypothetical discussion? If so it is oddly fedora specific IMHO?
Greetings,
Posted Aug 24, 2009 20:47 UTC (Mon)
by jspaleta (subscriber, #50639)
[Link]
I'll bet you dollars to doughnuts members of Fedora's Technical leadership will read the discussion here and will be aware of the content argument. But ultimately it comes down to someone taking the responsibility to maintain the Simon package and start the package submission review process. A summary of the situation in faq or readme will help prevent an unnecessary delay once someone does step forward.
I would also think a Debian packaging effort would also benefit from a summary of this discussion...if they aren't ready working on packages. I think they'll have similar concerns but I'm less informed about the details of Debian policy with regard to "content" versus "code" than I am about Fedora's policy.
-jef
Posted Aug 24, 2009 17:28 UTC (Mon)
by bedahr (guest, #60420)
[Link] (1 responses)
The HTK is never linked to simon - simon starts the htk executables during the building of the model which makes it _perfectly_legal_ (if starting proprietary applications from within other applications simon would not be allowed to start say MS Office either).
All HTK specific code is bundeled in the simonspeechcompilation library (in one class) which could easily be replaced by a GPL replacement - if there were any.
The same goes for Julius, btw.
The server application is called simond and uses tcp/ip. Audio streaming over the network is supported. As only the server uses the HTK you could do a huge setup of simon with one main server that compiles the model thus further limiting the need for the HTK (it only has to be installed once, on the server side).
As we neither have the know-how nor the resources to re-write the HTK this is all we can do for now, sadly.
Posted Aug 24, 2009 18:21 UTC (Mon)
by JoeBuck (subscriber, #2330)
[Link]
Posted Aug 25, 2009 2:58 UTC (Tue)
by pabs (subscriber, #43278)
[Link] (2 responses)
http://www.gnu.org/philosophy/java-trap.html
Posted Aug 25, 2009 7:39 UTC (Tue)
by bedahr (guest, #60420)
[Link] (1 responses)
You won't be able to compile a model without it but you can do other stuff (and use existing models like said before).
In other words: Even in an "all free system" simon can still be useful.
Posted Aug 28, 2009 3:08 UTC (Fri)
by pabs (subscriber, #43278)
[Link]
Posted Aug 25, 2009 10:43 UTC (Tue)
by pboddie (guest, #50784)
[Link] (1 responses)
Posted Aug 25, 2009 12:39 UTC (Tue)
by droundy (subscriber, #4559)
[Link]
The only missing element is an attribution clause for research done with the software. That and the GPL isn't so helpful for research binaries (as opposed to libraries), as other researchers are unlikely to redistribute their modified code.
The authors evidently think that a user-does-the-link approach, where a proprietary component has to be downloaded and linked by the end user into a GPL code base, will fly.
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
detailed on this matter. Unless all the dependencies are free and open
source, it has no chance of going in. This is regardless of whether such a
approach is legal or not.
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
Are there existing speech models which can be shipped under an appropriate license? Are speech models binary blobs akin to byte-compiled code java or python (ie. not allowed in Fedora)? Or are the speech models themselves self documenting scripts that are then interpreted at run time by Simon? Could I realistically write or edit a speech model manually. If Fedora did choose to ship a pre-existing speech model generated by the proprietary tool and there was a bug found in the speech model, what steps would the Fedora maintainer of Simon need to take to fix the problem?
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
(The file hmmdefs is the HMM model created by the HTK).
Simon - speech activated user interface for KDE (KDE.News)
...document format..not compiled code.
...open tool to convert other formats into that format.
...other formats creatable by open codebase.
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
Peter
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
As long as there is no executable that contains both GPL and GPL-incompatible code, and the coupling between the two executables is loose, it's probably OK. But my guess is Fedora still wouldn't touch it, and debian would have to put even the free part into contrib (since it depends on a proprietary component).
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
Simon - speech activated user interface for KDE (KDE.News)
Licensing Amateurs
Licensing Amateurs