I’m sure many people will be curious what the release of GTween v2 means for my relationship with Jack and TweenLite. The short answer is “nothing”. I am continuing to work with Jack to make TweenLite (and the greensock family) better. In fact, I delayed the release of GTween v2 to ensure TweenLite v11 got all the attention it was due.
Given that, you’re probably wondering why I would release a whole new version of GTween. It all comes down to the core nature of each project.
TweenLite is a stable, well supported library with a dedicated developer and a lot of concern for minimizing painful transitions between versions. This commitment to stability makes it a great choice to use as a developer, but it makes it harder to try out radically new approaches or interfaces.
In stark contrast, GTween is an experimental library built entirely to meet my personal needs and whims at any particular moment. It is completely unsupported, and subject to periods of neglect followed by massive rewrites that involve wide ranging changes to its API. This makes it potentially difficult to work with as a developer, but it means I can use it as a sketch pad to try new ideas out, and gain feedback from the brave souls who use it.
As an example, I never intended to write GTween v2. I had planned one more minor release after beta 5 to address outstanding issues, but certainly not a rewrite. However, I was procrastinating on preparing my code optimization session, and started playing with applying some of those ideas to GTween. This sketch rapidly progressed into a whole new version over the course of a weekend. I don’t believe in letting good code rot (I’ve done enough of that in the past), so after consulting with Jack, I decided I may as well polish it up and release it.
I don’t have any current plans to make further updates to GTween. It’s finally a stable, extensible code base that I feel happy having my name attached to. However, you never know what will happen the next time I find myself procrastinating.
So, moving forwards GTween will remain my occasionally updated experiment tweening library. I invite anyone to use it and extend it, but I won’t be supporting it, and I’m not promising any updates. I will be putting more focused energy into working with Jack to improve TweenLite. Jack and I are both hoping that the things I learn from playing with GTween (and the feedback I get on it) will apply directly to making TweenLite an even better library.
On a related note, I know that Jack’s licensing is a bone of contention for some people, but it’s worth noting that this licensing is the reason he can provide support and continue to churn out awesome updates like v11. Open source projects have a habit of dying from neglect when their original author gets busy or bored (see: most libraries I’ve released over the years). Jack has found what I think is a fair compromise, making his library free for almost everyone, but charging for use when it directly makes money. Yes, this complicates things for some projects, but there are alternatives for when you just can’t make it work.
It’s also worth noting that I do not take any share of the licensing fees Jack receives. I don’t get anything out of helping guide or promote TweenLite, except the satisfaction of contributing to one of the best and most popular tween libraries available, and the enjoyment of working with Jack (who’s an all round good guy).
So please, if you play with GTween, give us some feedback. Are there features or approaches you’d like to see in TweenLite? Things you wouldn’t want? Jack and I are both listening.