So I’m going to update you folks on this ElfData situation, and boy did I have a rough go of it.
Turns out (and this is a good thing), my company and its software assets got acquired on 2/19/2014.
In the process of this acquisition, their lawyers had a major issue with the use of ElfData as a component.
Two reasons for this:
No licensing was posted, and we could not get in touch with the author. When I finally did try, he told me to, and I’ll quote “don’t send me email anymore.”
The notion that ElfData was “free” scared the living shit out them – as we know nothing is free.
So this was a life lesson for me. In the future when I write software that uses 3rd party libraries, I’ll make sure that they are IP “clean” and that they have a EULA that makes sense. As a side note, part of our product used MBS, and they had NO problems with that license and will be picking up the purchase of that shortly.
Lastly, now I’m taxed with removing ElfData from our product and replacing it. So a couple things I’ve decided to do to make our lives easier moving forward. Since we use the objects in about 50 places in our code, I’ve decided to write an ElfData class wrapper replacement – to do this I’ll have to basically replace the following routines from ElfData with something that will work with reasonable performance moving forward.
I’ve decided to release anything that I can do which will replace this back into the public domain. Therefore, I’ll setup a GitHub project called “Elfdata_replacement”, this will be published in the hopes of helping people (like myself) who went down the path of using Elfdata and have been stuck having to replace it.
As a side note. If there are folks that have 3rd party libraries or included “assets” into Xojo during runtime.
I highly, highly suggest you spend some money and make sure your licensing to your customers is clear, concise and protects you and the customer. Meaning, if your customer uses your plug-in or your code / library that its clear who owns what, who can distribute what, etc.
I’m willing to bet that the ElfData issue alone cost about $3K in additional legal fees to make sure both sides were able to come
to an agreement on the IP being purchased and what was “clean” and what wasn’t.
Good luck with that… The author did somethings That REALSoftware (now Xojo inc) strongly frowns upon. It might be hard to match the speed following “the rules”
BTW out of curiosity I googled… seems you are local to me… I wonder how many Xojo users are in the Boston area!
Thanks Kem, I noted that you offered earlier and I appreciate that. I think it makes sense to have a longer term approach to “faster” string manipulation – but for right now, for anybody using ElfData, there needs to be an “out of the box” solution to just replace it using native Xojo and/or some 3rd party libraries like Monkey Bread – which clearly are well supported.
I’ll post the project when I get the framework up there.
If you truly mean “public domain”, be sure to check out how the SQLite folks did it. Sometimes public domain is worse than a license such as MIT or BSD.
[quote=70453:@Dave S]Thats nothing… from my house that would be 57 hours and 26 minutes (assuming I hit all the lights) …
In California… 90 minute commutes are nothing :)[/quote]
During Rush hour getting from Portland, ME to Downtown Boston would take between 2 and 2.5 hours or longer … I live north of the city and the traffic into the city is horrible.
[quote=70403:@Gary MacDougall]So this was a life lesson for me. In the future when I write software that uses 3rd party libraries, I’ll make sure that they are IP “clean” and that they have a EULA that makes sense. As a side note, part of our product used MBS, and they had NO problems with that license and will be picking up the purchase of that shortly.
[/quote]
FWIW Gary, while I’m confident you have the right source of the problem in this case and you’ve taken the right course of action, lawyers doing what your lawyers do can make things more difficult than they need to be for people you license code from. I had one customer’s lawyer interface with me for a similar purpose a couple years ago, and I had to restructure his understanding of what I was doing to support his client’s efforts, when I would be paid for doing it, and that such work would be scheduled at my convenience rather than his.