Quote from jprad:
Wayne, you're going to have a tough time getting good people to expend their time and effort towards the project if you force them to surrender their ownership of their contributions to the project.
The worst thing that can happen is that they could fork your project so that they retain ownership of their modifications. That would completely lock you out from being able to incorporate their changes into something you wish to release commercially.
jprad,
Thanks for bringing this up. That's why I wanted to discuss the licenses.
I understand completely how you feel. That's because I felt the exact same way. But I found a lot of industry research on successful open source projects (have you?) that completely changed my point of view.
Here's the several reasons that concept we both had is flawed:
1. You are completely right about the "rug" issue. The industry has clearly demonstrated that projects must commit to NEVER pull the rug out. Specifically, it will be legally committed in writing on the tickzoom.org website that the source code will always remain open and free to those who contributed to it and others who join later to contribute. That's a CRITICAL element. You should print it out to keep a copy so you can enforce if necessary and I will do the same because that might not be me. For example Sun bought MySQL and Versant just bought db40. So we have to think towards the future. Software seems to last a long time (when it's good.)
In other words, when committers give up copyrights the TickZOOM project gives in return the legal guarantee and commitment that the code remains open and free to them.
2. Did you know? MySQL followed the model of committers surrendering rights, Eclipse and all the others like db40 do the exact same thing. That's the only way they can legally do dual license. This isn't something I came up with.
3. What about forking? When MySQL switched to a dual license a company formed to fork the MySQL project in response. However, that project and the company eventually failed. Why? It's because they could only legally fork the GPL version. So they had no possibility of selling any commerical license. They went bankrupt.
Meanwhile MySQL was busy hiring full time programmers and making MySQL a killer great database. They actually closed the functional gap with commercial databases. That's all because MySQL had the legal option of dual license which the fork could not legally do.
3. Another mistake we made is that many programmers like me would be HAPPY, no make that THRILLED if NinjaTrader or NeoTicker would accept some enhancements into their product that we make for them divulging their source code. And we would be happy to surrender the rights just to avoid building our own system from scratch.
This is too much work, frankly. I wish I had all my evenings and weekends back.
4. Now in #3 above a person might naively assume that developers with open source might just keep their fixes and not submit them. But nobody with any sense would ever do that. Do you know why? It's because when the next version comes out they would have to keep separate patches and merges the code every time. I tried that before and it's a huge pain and very risky. Any experience programmer will share you the woes of merging code branches. Plus it could even be risky. That person now has code mods that aren't getting tested by the entire community.
5. Finally, did you read this whole thread? Several people have suggested recommended the possibility of an open source version and a commercial flavor for paying customers. So, many are familiar with that business model and have seen it succeed to the benefit of the whole community.
Eclipse, MySQL, db40 was discussed. That's exactly how all those projects work. Maybe you and others weren't aware. I certainly wasn't until yesterday that the fine print on all those dual license projects surrenders your copyright. But it has to work that work they for everyone's benefit.
The difference here is I'm telling up front instead of burying that in fine print.
Personally, I have faith in people that they, especially programmers (am I biased? *smile) ,are smart enough to educate themselves and see that this is a win/win scenario.
What is really bad is when companies form dual code bases. [Unless paying customers want features the OS community rejects--that's different.] That's because the companies have a moral responsibility to contribute back to the open source version.
More about forking: Realize also, that the GPLv3 license requires that IF anyone does fork the project, which they are legally allowed to do, then that are ALSO legally required to release all improvements as open source and freely available which means the TickZOOM project can review all the improvements (simply by doing a diff) and add those back into the main code if useful.
So people who fork only shoot themselves in the foot in every way unless there's a valid reason that the whole community agrees with them and abandons the original project.
So you see, a fork doesn't really hurt anybody or help anybody if the original project is acting responsibly.
NOTE: TickZOOM will, of course, allow for "plugins" and add-ons, those don't have to be committed to the TickZOOM project.
In fact, they might clutter the project. Instead we could have a separate totally GPLv3 site for such plugins and addons if people care about this issue that much. I'd be willing to sponsor it and submit stuff there also.
Still others may make commercial addon's. There's many commercial indicators that get ported to different trading platforms. That's all fine without hurting anyone.
You must not forge, I beg you, the blood sweat and tears that I put into this platform and will continue to do so to document and support it-- all with out pay--out of generosity to the community and hope of a collective benefit to everyone including myself. I deeply believe in synergy or the whole is equal to more than the sum of the parts.
So I won't hesitate to take whatever legal means necessary to protect the project as it goes forward. And GPLv3 has some pretty serious teeth for those who don't follow it.
In the end, I believe well informed programmers will see that commercial and open source is a symbiotic relationship that benefits everyone.
Sincerely,
Wayne