Thoughts About tmControl, LiveCode, and The Futureby Scott Rossi, Creative Director of Tactile Media
I personally despise web articles that make you read all the way to the end to get to the payoff, so let me make some general comments up front:
While the future of tmControl is indeed a bit uncertain at the moment, it is not going away, and will continue to be supported. If there is a place for tmControl in LiveCode's open source future, tmControl will likely adopt a similar license model. However, no final decisions will be made until RunRev begins releasing the next gen version of LiveCode.
Now for the details...LiveCode Is Evolving
The month of February 2013 certainly was a rollercoaster period of time for LiveCode developers. If you've been hiding in your bunker avoiding killer asteroids and/or haven't seen the notice on RunRev's web site, LiveCode is moving to an open source
format, with several usage levels that will likely get more defined over time.
My understanding is that RunRev will offer 3 usage levels: free, commercial closed-source, and enterprise closed-source. Once open source LiveCode is available, you will be able to develop free applications and commercial applications with shared source code without cost to you as a developer. If you develop commercial apps for app store distribution or enterprise apps without sharing your source code, you will be expected to purchase a developer's license from RunRev. More details are available here
.Anticipated LiveCode Developments
RunRev has publicly mentioned "themes" as one of the features that will be added to LiveCode as a result of their Kickstarter campaign. What this will be remains to be seen, but unofficially, native control support is a feature that has been mentioned by both RunRev and 3rd party developers. This makes sense. As a development platform, LiveCode could only go so far without including native controls for all the platforms it supports.tmControl vs Native Controls
tmControl was originally conceived of as sets of themed controls that could be customized beyond the options provided by RunRev. The idea was that tmControl could be a means to develop applications that didn't need or want to sport "standard" platform appearance, and developers could create their own themes. In the case of mobile development, RunRev supplied few native controls, with few customization options, so tmControl could step in with many of the needed input/display controls, ie buttons, tables, etc, along with extended customization options.
Now that native controls are expected to become an integral part of LiveCode, there will likely be little need for many of the controls currently offered in tmControl. But the degree of customization that RunRev (or 3rd parties) will provide is unknown. LiveCode's current desktop components work well, but cannot be easily themed.
If upcoming native controls cannot
be easily themed, then tmControl may continue as an alternative for creating themed controls. If RunRev does
provide theming of native controls, then it makes little sense for tmControl to provide the same features. In that case, tmControl will be likely shift to providing more specialized components, such as non-standard input controls, gauges, player controls, etc.What Will Happen to tmControl Now?
For the moment, tmControl is not going away. But due to the above uncertainty, a "wait and see" approach will be in effect to determine how best to evolve the product. It's clear that developers will continue to create and support apps while RunRev makes the transition to open source, so tmControl will continue to be supported. However, any new
development will be delayed until RunRev's plans and offerings become more apparent.Will tmControl Go Open Source?
In one way or another, yes. If tmControl becomes redundant in LiveCode's future, the code will be made available to all at no cost. If tmControl finds a place in LiveCode's new world, it will be made available using a dual license model.
Several 3rd party LiveCode developers are planning to follow RunRev's lead and establish dual-licensing for their products. The current plan for tmControl is to follow suit: use tmControl for free to build free apps and share the source, or pay a fee to create commercial apps.Why Would You Charge Fees For Open Source Software?
Quite frankly because there needs to be some revenue in it -- otherwise I can't justify taking time away from my consulting business to work on it. I believe in contributing to the development community, and have done so with LiveCode for the better part of 15 years. I have created dozens, perhaps a hundred tutorial stacks, provided hundreds of email and support responses, and spoken at developer conferences without compensation because I care about the product and supporting the community. But when it comes time to pay bills and send kids to school, no amount of community involvement will support those financial needs. Stay Tuned
So for now, know that tmControl will be here. And if the software (and RunRev) gods are willing, tmControl will be part of the brave new world that LiveCode will usher in.