I'm very dubious of your plan to manage copyright at the level of commits - i.e. one copyright and license up to a particular commit, and another for subsequent commits. This is very unconventional and sounds like a recipe for legal confusion. You can't meaningfully pick apart the commits to a single file. Don't try to do this without advice from a lawyer.
I thought it was proper to indicate where the code starts to diverge, by hash. There is no clearer way to designate a point in the development time line where all code is ATI's property before and anything after is a mix and match. I've removed it from the license.
I've followed your advice and update the licensing language, also added LICENSE-MIT and LICENSE-ATI. Please let me know if that is satisfactory.
And to follow up, of course for an easy life, you could just release everything under the GNU Affero GPL.
My goal in all this is to forward Bitcoin in some way. I believe Armory is the ideal vessel to deliver a complete stack, key in hand professional grade solution that fully embraces Bitcoin's model, in that it allows individuals and organizations to have total control over the code they run and the cryptographic material they own. I believe that kind of tool is necessary for Bitcoin to thrive.
With all due respect, to whom it may concern, if there was good competition in this space, I would not see the need to keep Armory going. I do not believe such competition exists right now, nor in the few years to come, and that is mainly because of the models other people in this space adopt, which do not fully embrace the opportunity of a paradigm shift in finance and business that Bitcoin offers us.
While I commend Armory's competitor on their hard work and passion, I do not believe they will fill the gap Armory would create was it to actually disappear, and I believe that role to be foundational to the good health of the Bitcoin ecosystem.
My vision of Armory is to keep forwarding it as an industry standard, with cutting edge, robust and high performance features to deliver the full Bitcoin experience to power users, financiers and businesses. Don't get me wrong, I love the individual users too, but they aren't encumbered by the legality of intellectual property rights the same way as businesses and organizations are.
Open source code is a full and unalienable property of Bitcoin's model. As such, any tool hoping to achieve what I just described has to be open source as well. On top of that, the particular license should not deter the target, otherwise I would consider the Armory experiment a failure and all my work for naught.
The MIT license (or something as permissive like OpenLDAP license) is a sine qua non condition to my ongoing involvement. If I was unable to develop Armory in such open manner, I would either have to start from scratch or I would try the next best thing I have in mind to forward Bitcoin, i.e. participate directly to Bitcoin's development.
If my memory serves right, Armory became AGPL3 when ATI was created, because it allowed the code to remain publicly available while offering opportunities to charge businesses that looked to integrate with our stack. Instead, here we are. Don't get me wrong, I like money. I believe the people involved with Armory deserve proper compensation for their effort. I believe I deserve proper compensation for my work too, and I do not believe in free lunches. But so far, the only thing I've seen the AGPL license achieve is to complicate the situation and slow down the project to a halt, as well as barring me from code I wrote.
The results do not justify the potential benefits, and there will be no code created under the AGPL3 license while I remain in charge. My long term plan is to phase out all mission critical pieces of code by overhauling them one at a time, while maintaining the new code properly secluded. I will also refrain from copy pasting old Armory code into new code from now on and instead rewrite the functionality fully. There aren't 20 ways of doing certain things correctly though, so there is only so much divergence I can introduce on purpose in certain places.
I am certainly no expert on copyright law and licenses, but a sound engineering principle is KISS ("Keep It Simple, Stupid"). I can certainly understand that you prefer MIT license over GNU Affero for your own work (I agree with you here), but you should seriously consider if the extra complication of having to keep track of two different licenses is worth the trouble. In particular, once you start refactor code you will constantly have to worry about not moving code from an Affero file to an MIT file. Furthermore, the GNU licenses tends to affect the whole work, so the entire Armory will be under that license, even if people can reuse parts of the project that you alone wrote under MIT license.
Read above. I appreciate KISS but I AGPL has to go and I don't want to rewrite everything from the ground up. Phasing out the old code will be a long term effort along the course of at least 2016.
you'd be well advised to run whatever approach you do settle on by any contacts you have at ATI for their opinion.
I have Alan's verbal consent.
What matters is whether you're doing something that might cause ATI to feel aggrieved and which might incline them to take legal action.
Hopefully that won't happen. When it comes down to it, my actions benefit ATI in that it keeps the brand alive and the software up to date. It's a win-win if they simply let me do my thing while the IP encumbrance is being worked out.