Muse and news from the authors of Fix8.
Why did you change to GPL? What is your target audience, since changing to GPL will exclude almost all financial institution as possible users?
Tell me how it stops institutions using it?I am not aware that GPLv2 restricts all financial institutions. Most will not be interested in releasing their pieces to the community, so all that remains is the copyleft requirements. This is the case even with GPLv3 although I agree it is more restrictive.
Because they will never be able to distribute a program to partners or even clients without including the source. I don't know a single project manager that would accept this restriction.Is this correct or I am missing something here?But, anyway, what is the reason behind the licence change?
Yes you are missing a few important points:1. fix8 is an open source work - the intention is to promote and improve the software, making it available to all. If a company wishes to profit from it's direct use that is fine - no restriction. If it wishes to profit by distributing modified versions of the software this is also fine with the proviso that the modified source has to be available too; given that they haven't paid anything this is not unreasonable; if a company wants complete proprietary control over a product it can either buy from a commercial vendor or develop it itself;2. fix8 is designed for developing in-house infrastructure; it is unlikely any financial institution will be remotely interested in distributing works based on fix8 - it isn't that sort of product; if they do want to, they are only required to distribute or make available source for the fix8 modifications, which explicitly excludes any proprietary business or supporting code;3. there are numerous examples of GPLv2 software out there in the finance sector;The reason I changed to GPLv2 is because fix8 provides a different approach not offered by alternatives. I don't see why fix8 should compete with commercial proprietary derivations of itself - do you?
Just note I'm not criticizing your decision, just trying to understand.> if a company wants complete proprietary control over a product it can either buy from a commercial vendor or develop it itself.That's the explanation I wanted. Just because it's different from other libs used in financial markets, like QuickFix, QuickFAST, Boost, QuantLib, etc. They all use BSD like licence. > if they do want to, they are only required to distribute or make available source for the fix8 modifications, which explicitly excludes any proprietary business or supporting code.No, they are actually required to open their source code as well. http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPLm http://www.gnu.org/licenses/gpl-faq.html#SwitchToLGPL. IIRC, the licences that require you to distribute just the changes and are not viral are MIT and Mozilla. GPL is viral, everything it touches has to become GPL.> 3. there are numerous examples of GPLv2 software out there in the finance sector;Could you please give an example? I'm coding C++ for financial area for more than 10 years and never saw a single GPL lib. They maybe exist, but probably not FIX, trade, or market data related.> I don't see why fix8 should compete with commercial proprietary derivations of itself - do you?I can't say it should, but it definitely could. I know lots of institutions that use QuickFIX. And the market really needs an alternative to QuickFIX. But, by using GPL, fix8 is not an alternative to QuickFIX. As you said, it "provides a different approach not offered by alternatives", but it's not an alternative, because of licence issues. As I said, I'm not criticizing your choice, just trying to understand the reason, since GPL is really not common in this market.
Ok I see where you are coming from now. What are your views on LGPL? What are your views on a commercial license and an LGPL version?
I think LGPL is great for commercial software, but for this specific kind of high performance software it's sub optimal compared to a laissez-faire, BSD like licence.On BSD licence you can just throw the lib source into your own makefile, and let gcc inline the code and even do Link Time Optimization. You just can't do this with LGPL, since you must link to already compiled code.But LGPL is much friendlier than GPL from distributions point of view, of course.
I think your assertion is somewhat incorrect. I *think* that what you are saying is your financial institution's project managers wouldn't be comfortable - whereas I'm sure you could find many who are - doubly so if the licensed product was the best way to achieve the business objectives, be they functional or non-functional.It's certainly an interesting issue though - my $0.02c (and therefore just as worthless!) would have it that in an ideal (and therefore, non-existent) world the previously mentioned financial institutions would have no issues contributing back to the community projects they take from, let alone any copyleft requirements. It'd be great if any latency “game” could be restricted to internal system performance, rather than connectivity solutions. I’d love it if an open source, community developed and supported solution was the alpha and omega of connectivity solutions, as it’d take what I’d like to be a distraction off the map (as compared to business requirements/logic/beer/whatever).Yes any transition will be slow, but I remember the time that no financial institution would be caught dead with an open source OS. It was all AIX, Tru64, Solaris, etc. How did that work out?**and yes, I’m conscious of the number that are still that. I certainly don’t want to discount my non-open source brethren from any conversation. It’s the transition I’m interested in.
Kristian, as I told dakka, the problem is not about contributing back to community. A lot of institutions do this. FIX itself was born inside financial institutions. I've worked for a institution that sent tons of bug fixes and improvements to QuickFix.The problem is GPL viral characteristic. If you use a GPL code, you need to open your whole source code, not just your modifications to the original lib code. Why would I use a GPL code risking having to open source my whole trading algorithm source code in case I have to distribute the binaries?