Hunspell to Pascal Bindings Given that I only need five functions from this library, in reality, all I would do is read through the .h file and write the necessary code directly. I need (ie prefer) it to be a Class, so the output from h2pas would require a measure of rewriting anyway.
(h2pas delivers the equivalent of C code, I want the equivalent of C++ code, Object Pascal) I have just had a quick look at the hunspell.h file, its a 30 minute job of copy and paste, changing the C syntax to Pascal and rearranging into a class. I would put just the bindings into a hunspell.inc Pascal Include file to keep the "hunspell.h inspired" content away from my own code that actually accesses it. Will be five short lines, maybe a few more if I can understand the other functions (that I am not using) sufficiently. I consider this all very artificial, if anyone is to ask me to prove I was not guided by the original hunspell.pas file, I cannot ! I have read and am quite familiar with the original 2013 hunspell.pas file, I will clearly be guided by what I know is in there, its not, in any way, a Clean Room write. In fact, in the past, I have looked at how its done in the original hunspell.pas file to see how to do something else, similar but unrelated. But it will end up with the hunspell license (unchanged). The only hunspell code I will look at is the hunspell.h file, I won't be making any changes to it but need to point to it on Hunspell's github page. And add the somewhat wordy license statement to my debian/copyright file. Both will appear on my tomboy-ng github page. It may be appropriate to make the binding inc file (and some of my spelling code) available in a stand alone repo to avoid other FreePascal users going down the path I have. This will all happen when time permits. David On 12/11/20 11:06 am, Paul Wise wrote: > On Thu, 2020-11-12 at 09:25 +1100, David Bannon wrote: > >> Are there any further thoughts on this topic ? > It sounds like FreePascal wiki user Graham created parts of the > spelling.pas file, is presumably the copyright holder (unless their > employer owns it), released it without specifying a license, which > means it was "all rights reserved" and then various other people > modified and re-released it, in violation of copyright law (since they > presumably did not have a license to do so) and eventually it ended up > in the tomboy-ng project, also in violation of copyright law. > > There is the additional wrinkle that hunspell is licensed under the MPL > and GPL licenses, presumably the header Graham started with was under > the same licenses and what Graham released was clearly a derivative > work of the hunspell headers, with the additional work copyright by > Graham, so the result would have to comply with one of those licenses, > but as far as I can tell, Graham stripped the licenses off and also did > not include the "source code", in violation of both of these licenses. > > I think the solution here would be for you to strip out the code you > copied from Graham and other's work and then repeat the h2pas process, > bearing in mind the requirements of both the GPL and the MPL, the > important ones here are to preserve the license, preserve copyright > holder information and to preserve the "source code". > > What the source code is for this work depends on how you would modify > the hunspell Pascal bindings. If (for example when updating to a new > hunspell API) you modify the bindings by updating the C headers and > then re-running h2pas, then you need to preserve the C headers in your > source code alongside spelling.pas but if you would only ever modify > the bindings by editing spelling.pas directly, then you can discard the > C headers but you still need to use the same licenses in the hunspell > bindings. In the latter case it would be a good idea to keep the > bindings in a separate file so it can have a separate license header. >
signature.asc
Description: OpenPGP digital signature