I may have been tempted to use MegaTune or MegaTunix and the same serial interface and table structure etc etc. At the time when I was considering this I was thinking "man, what a pain in the arse, it would be a LOT easier to just use that", however I looked into my crystal ball and saw the potential for lawyers and legal problems etc and steered clear of it all. This has been a MAJOR benefit to me with regards thinking it through from scratch and coming up with new better ideas on how to accomplish the broad goal of "excellent engine management". When I realised this myself a few months back, I posted the two "letting go of the MegaSquirt mindset" threads to share the spirit around.Good old Lance wrote:The basic idea is that the inteface is part of the code, and therefor copyrighted. However, MegaTune is a GPL use of the external inteface from the other side of the inteface, and that's okay. Similarly for MTx, and MSLV, EasyTherm, etc., etc.
Where there may be issues is when people want to incorporate aspects of the MegaSquirt side of the interface into third part code or hardware. That can only be judged on a case-by-case basis, of course.
This was brought home to me again tonight when I read through this article while researching material for job prospects :
http://chadfowler.com/2006/12/27/the-big-rewrite
I would just like to take this opportunity to emphasise that this project is definitely NOT a re write of the MegaSquirt code base. The code bares NO resemblance to the MegaSquirt code AT ALL aside from having the general purpose of programmable engine management. In fact, I would go so far as to say that I would be somewhat insulted if anyone were to suggest that my code was a re write of theirs. Even a quick look under the hood of any ms variant and any FreeEMS release will show you how NOT the same it is. If you want to view a clean C re write of MS code and algorithms please check out the MSAVR code and you will see how easy it is to spot the similarities to the MS way of doing things. Still, the article applies in that if we had been allowed to copy and follow their work, ours simply would not have been as good!
I have personal experience with a commercial "big re write" project too, and I can vouch for everything that guy says. He has articulated it pretty well in a fairly small space.
It serves as a good reminder that in everything we do on this project we should look back to first principles and purposefully avoid even looking at the MS code base at all. This will ensure our solutions are untainted and uninfluenced by the potentially narrow thinking and simplistic implementations present in the fundamental aspects of MS operation and code.
Worth a read IMO.
Fred.